aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-14 20:53:05 +0000
committerChris Lattner <sabre@nondot.org>2005-09-14 20:53:05 +0000
commit4345a4a452c3ba3d99d374026e77b21382df44fe (patch)
tree6f0b9c3e47e06013ba3fc8eb1df165c9cf4ec79a
parent39e8af9913f957119b1f61d45fa8d1c85832e7ee (diff)
downloadexternal_llvm-4345a4a452c3ba3d99d374026e77b21382df44fe.zip
external_llvm-4345a4a452c3ba3d99d374026e77b21382df44fe.tar.gz
external_llvm-4345a4a452c3ba3d99d374026e77b21382df44fe.tar.bz2
Fix some issues exposed by more testing. XORIS had the wrong operands
specified. The various *imm operands defined by PPC are really all i32, even though the actual immediate is restricted to a smaller value in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23352 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index 4fbf583..f80a31f 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/lib/Target/PowerPC/PPCInstrInfo.td
@@ -238,16 +238,16 @@ class isDOT {
//===----------------------------------------------------------------------===//
// PowerPC Operand Definitions.
-def u5imm : Operand<i8> {
+def u5imm : Operand<i32> {
let PrintMethod = "printU5ImmOperand";
}
-def u6imm : Operand<i8> {
+def u6imm : Operand<i32> {
let PrintMethod = "printU6ImmOperand";
}
-def s16imm : Operand<i16> {
+def s16imm : Operand<i32> {
let PrintMethod = "printS16ImmOperand";
}
-def u16imm : Operand<i16> {
+def u16imm : Operand<i32> {
let PrintMethod = "printU16ImmOperand";
}
def target : Operand<i32> {
@@ -409,7 +409,7 @@ def XORI : DForm_4<26, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
[(set GPRC:$dst, (xor GPRC:$src1, immZExt16:$src2))]>;
def XORIS : DForm_4<27, (ops GPRC:$dst, GPRC:$src1, u16imm:$src2),
"xoris $dst, $src1, $src2",
- [(set GPRC:$dst, (xor GPRC:$src2, imm16Shifted:$src2))]>;
+ [(set GPRC:$dst, (xor GPRC:$src1, imm16Shifted:$src2))]>;
def NOP : DForm_4_zero<24, (ops), "nop">;
def CMPI : DForm_5<11, (ops CRRC:$crD, i1imm:$L, GPRC:$rA, s16imm:$imm),
"cmpi $crD, $L, $rA, $imm">;