test preopt target i686 function %iadd_imm(i32) -> i32 { ebb0(v0: i32): v1 = iconst.i32 2 v2 = iadd v0, v1 return v2 } ; sameln: function %iadd_imm ; nextln: ebb0(v0: i32): ; nextln: v1 = iconst.i32 2 ; nextln: v2 = iadd_imm v0, 2 ; nextln: return v2 ; nextln: } function %isub_imm(i32) -> i32 { ebb0(v0: i32): v1 = iconst.i32 2 v2 = isub v0, v1 return v2 } ; sameln: function %isub_imm ; nextln: ebb0(v0: i32): ; nextln: v1 = iconst.i32 2 ; nextln: v2 = iadd_imm v0, -2 ; nextln: return v2 ; nextln: } function %icmp_imm(i32) -> i32 { ebb0(v0: i32): v1 = iconst.i32 2 v2 = icmp slt v0, v1 v3 = bint.i32 v2 return v3 } ; sameln: function %icmp_imm ; nextln: ebb0(v0: i32): ; nextln: v1 = iconst.i32 2 ; nextln: v2 = icmp_imm slt v0, 2 ; nextln: v3 = bint.i32 v2 ; nextln: return v3 ; nextln: } function %brz_bint(i32) { ebb0(v0: i32): v3 = icmp_imm slt v0, 0 v1 = bint.i32 v3 v2 = select v1, v1, v1 trapz v1, user0 brz v1, ebb1 jump ebb2 ebb1: return ebb2: return } ; sameln: function %brz_bint ; nextln: (v0: i32): ; nextln: v3 = icmp_imm slt v0, 0 ; nextln: v1 = bint.i32 v3 ; nextln: v2 = select v3, v1, v1 ; nextln: trapz v3, user0 ; nextln: brz v3, ebb1 ; nextln: jump ebb2 function %irsub_imm(i32) -> i32 { ebb0(v0: i32): v1 = iconst.i32 2 v2 = isub v1, v0 return v2 } ; sameln: function %irsub_imm ; nextln: ebb0(v0: i32): ; nextln: v1 = iconst.i32 2 ; nextln: v2 = irsub_imm v0, 2 ; nextln: return v2 ; nextln: }