On 10/12/18 10:30 AM, Bastian Koppelmann wrote: > +%pred 24:4 > +%succ 20:4 ... > +@noargs ................................ ... > +@fence .... .... .... ..... ... ..... ....... %pred %succ ... > +fence 0000 .... .... 00000 000 00000 0001111 @fence > +fence_i 000000000000 00000 001 00000 0001111 @noargs
@noargs is useless, even as documentation, since by its omission there are no arguments. Also, "the unused fields in the FENCE instruction, imm[11:8], rs1, and rd, are reserved for finer-grain fences in future extensions. For forward compatibility, base implementations shall ignore these fields, and standard software shall zero these fields." Therefore "-" not "0" in the relevant portions. And for clarity I would simply fold it all together as fence ---- pred:4 succ:4 ----- 000 ----- 0001111 fence_i ---- ---- ---- ----- 001 ----- 0001111 Or just use "@i", which is the underlying format and ignore the rs1 and rd fields in the trans_ expanders, and pull pred+succ out of imm there. r~