diff --git a/cranelift/filetests/legalizer/bxor_imm.clif b/cranelift/filetests/legalizer/bxor_imm.clif new file mode 100644 index 0000000000..19372613ff --- /dev/null +++ b/cranelift/filetests/legalizer/bxor_imm.clif @@ -0,0 +1,11 @@ +test legalizer +target x86_64 + +function %foo(i64, i64) -> i64 { +ebb0(v0: i64, v1: i64): + v2 = bxor_imm.i64 v0, 0x100000000 + return v2 +} + +; check: v3 = iconst.i64 0x0001_0000_0000 +; check: v2 = bxor v0, v3 diff --git a/lib/codegen/meta-python/base/legalize.py b/lib/codegen/meta-python/base/legalize.py index 0625bb3963..163379cfac 100644 --- a/lib/codegen/meta-python/base/legalize.py +++ b/lib/codegen/meta-python/base/legalize.py @@ -500,7 +500,7 @@ for inst_imm, inst in [ (urem_imm, urem), (band_imm, band), (bor_imm, bor), - (bxor_imm, bor), + (bxor_imm, bxor), (ifcmp_imm, ifcmp)]: expand.legalize( a << inst_imm(x, y),