diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index 852e43255a3..7964b019db1 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -184,7 +184,7 @@ class DForm_5 opcode, bit ppc64, bit vmx> class DForm_5_ext opcode, bit ppc64, bit vmx> : DForm_5 { - let L = 0; + let L = ppc64; let ArgCount = 3; let Arg0Type = Imm3.Value; let Arg1Type = Gpr.Value; @@ -199,7 +199,7 @@ class DForm_6 opcode, bit ppc64, bit vmx> class DForm_6_ext opcode, bit ppc64, bit vmx> : DForm_6 { - let L = 0; + let L = ppc64; let ArgCount = 3; let Arg0Type = Imm3.Value; let Arg1Type = Gpr.Value; @@ -324,7 +324,7 @@ class XForm_16 opcode, bits<10> xo, bit ppc64, bit vmx> class XForm_16_ext opcode, bits<10> xo, bit ppc64, bit vmx> : XForm_16 { - let L = 0; + let L = ppc64; } class XForm_17 opcode, bits<10> xo, bit ppc64, bit vmx> diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index 46f7924ee27..fef06e9a97b 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.td @@ -69,11 +69,14 @@ 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 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 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 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>;