From a6ab90f20540287276758a5632dc0ce11d77f7ad Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Fri, 16 Feb 2018 15:50:36 -0800 Subject: [PATCH] Legalize irsub_imm. --- lib/cretonne/meta/base/legalize.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/cretonne/meta/base/legalize.py b/lib/cretonne/meta/base/legalize.py index b809708072..511bee9a07 100644 --- a/lib/cretonne/meta/base/legalize.py +++ b/lib/cretonne/meta/base/legalize.py @@ -11,7 +11,7 @@ from .immediates import intcc, imm64, ieee32, ieee64 from . import instructions as insts from . import types from .instructions import iadd, iadd_cout, iadd_cin, iadd_carry, iadd_imm -from .instructions import isub, isub_bin, isub_bout, isub_borrow +from .instructions import isub, isub_bin, isub_bout, isub_borrow, irsub_imm from .instructions import imul, imul_imm from .instructions import band, bor, bxor, isplit, iconcat from .instructions import bnot, band_not, bor_not, bxor_not @@ -196,6 +196,12 @@ for inst_imm, inst in [ a1 << iconst(y), a << inst(x, a1) )) +expand.legalize( + a << irsub_imm(y, x), + Rtl( + a1 << iconst(x), + a << isub(a1, y) + )) # Rotates and shifts. for inst_imm, inst in [