aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td6
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td3
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index 852e43255a..7964b019db 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -184,7 +184,7 @@ class DForm_5<string name, bits<6> opcode, bit ppc64, bit vmx>
class DForm_5_ext<string name, bits<6> opcode, bit ppc64, bit vmx>
: DForm_5<name, opcode, ppc64, vmx> {
- let L = 0;
+ let L = ppc64;
let ArgCount = 3;
let Arg0Type = Imm3.Value;
let Arg1Type = Gpr.Value;
@@ -199,7 +199,7 @@ class DForm_6<string name, bits<6> opcode, bit ppc64, bit vmx>
class DForm_6_ext<string name, bits<6> opcode, bit ppc64, bit vmx>
: DForm_6<name, opcode, ppc64, vmx> {
- let L = 0;
+ let L = ppc64;
let ArgCount = 3;
let Arg0Type = Imm3.Value;
let Arg1Type = Gpr.Value;
@@ -324,7 +324,7 @@ class XForm_16<string name, bits<6> opcode, bits<10> xo, bit ppc64, bit vmx>
class XForm_16_ext<string name, bits<6> opcode, bits<10> xo, bit ppc64, bit vmx>
: XForm_16<name, opcode, xo, ppc64, vmx> {
- let L = 0;
+ let L = ppc64;
}
class XForm_17<string name, bits<6> opcode, bits<10> xo, bit ppc64, bit vmx>
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index 46f7924ee2..fef06e9a97 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>;