diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/PowerPC/PPCInstrInfo.td | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index fef06e9a97..2ccfb4628c 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -69,14 +69,16 @@ let isBranch = 1, isTerminator = 1, isCall = 1, def CMPI : DForm_5<"cmpi", 11, 0, 0>; def CMPWI : DForm_5_ext<"cmpwi", 11, 0, 0>; -def CMPDI : DForm_5_ext<"cmpwi", 11, 1, 0>; -def CMPW : XForm_16 <"cmpw", 31, 0, 0, 0>; +def CMPDI : DForm_5_ext<"cmpdi", 11, 1, 0>; +def CMP : XForm_16<"cmp", 31, 0, 0, 0>; +def CMPW : XForm_16_ext<"cmpw", 31, 0, 0, 0>; +def CMPD : XForm_16_ext<"cmpd", 31, 0, 1, 0>; def CMPLI : DForm_6<"cmpli", 10, 0, 0>; def CMPLWI : DForm_6_ext<"cmplwi", 10, 0, 0>; -def CMPLDI : DForm_6_ext<"cmplwi", 10, 1, 0>; +def CMPLDI : DForm_6_ext<"cmpldi", 10, 1, 0>; def CMPL : XForm_16<"cmpl", 31, 32, 0, 0>; def CMPLW : XForm_16_ext<"cmplw", 31, 32, 0, 0>; -def CMPLD : XForm_16_ext<"cmplw", 31, 32, 1, 0>; +def CMPLD : XForm_16_ext<"cmpld", 31, 32, 1, 0>; def CRAND : XLForm_1<"crand", 19, 257, 0, 0>; def CRANDC : XLForm_1<"crandc", 19, 129, 0, 0>; def CRNOR : XLForm_1<"crnor", 19, 33, 0, 0>; @@ -108,6 +110,7 @@ def LHA : DForm_1<"lha", 42, 0, 0>; def LHAX : XForm_1<"lhax", 31, 343, 0, 0>; def LWZ : DForm_1<"lwz", 32, 0, 0>; def LWZX : XForm_1<"lwzx", 31, 23, 0, 0>; +def LWA : DSForm_1<"lwa", 58, 2, 1, 0>; def LD : DSForm_2<"ld", 58, 0, 1, 0>; def LMW : DForm_1<"lmw", 46, 0, 0>; def STMW : DForm_3<"stmw", 47, 0, 0>; @@ -148,6 +151,9 @@ def STWU : DForm_3<"stwu", 37, 0, 0>; def STWX : XForm_8<"stwx", 31, 151, 0, 0>; def STWUX : XForm_8<"stwux", 31, 183, 0, 0>; def STD : DSForm_2<"std", 62, 0, 1, 0>; +def STDU : DSForm_2<"stdu", 62, 1, 1, 0>; +def STDX : XForm_8<"stdx", 31, 149, 1, 0>; +def STDUX : XForm_8<"stdux", 31, 181, 1, 0>; def STFS : DForm_9<"stfs", 52, 0, 0>; def STFSX : XForm_28<"stfsx", 31, 663, 0, 0>; def STFD : DForm_9<"stfd", 54, 0, 0>; |