Only emit each instruction once, or the offset computations go all wrong.
@ -75,9 +75,11 @@ ebb0:
[-,%x7] v140 = iconst.i32 0x12345000 ; bin: 123453b7
[-,%x16] v141 = iconst.i32 0xffffffff_fedcb000 ; bin: fedcb837
jump ebb1
; Control Transfer Instructions
ebb1:
; beq
br_icmp eq, v1, v2, ebb0 ; bin: Branch(ebb0) 01550063
; bne
@ -177,8 +177,6 @@ impl SubTest for TestBinEmit {
inst,
func.dfg.display_inst(inst)));
}
sink.text.clear();
isa.emit_inst(&func, inst, &mut sink);
let have = sink.text.trim();
if have != want {
return Err(format!("Bad machine code for {}: {}\nWant: {}\nGot: {}",