Skip to content

intel/tools: Disassemble WAIT's argument as a destination

Matt Turner requested to merge mattst88/mesa:disassemble-wait-dest into master

WAIT takes a notification register as a destination and a src0 argument. Since the same notification register is specified in both fields, we treat it as a special case and disassemble it only once.

If we disassemble it as if it is a source register, its scalar region will be printed as <0,1,0>. This causes difficulties round-tripping through the assembler <-> disassembler because that is not an acceptable destination region. If we instead disassemble the destination, we instead get a <1> region which is an acceptable and equivalent region for source and destination.

The test .asm files are regenerated by round-tripping them through the assembler/disassembler. Note that the <0> region in the tests was a harmless mistake: the compiler translated it to a <0,1,0> source region and a <1> destination region, since <0> isn't valid.

Noticed by Mika.

cc: @sagarghuge

Merge request reports

Loading