summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-06-27 21:08:52 +0000
committerChris Lattner <sabre@nondot.org>2006-06-27 21:08:52 +0000
commitcccef1c6fffa292c227a289d447f6b848ab56c62 (patch)
tree195c2c57e7712ce5e3194276467c4774286ebfce /lib
parent92044ce4e93fead19e6a34485a506849d018565b (diff)
downloadllvm-cccef1c6fffa292c227a289d447f6b848ab56c62.tar.gz
llvm-cccef1c6fffa292c227a289d447f6b848ab56c62.tar.bz2
llvm-cccef1c6fffa292c227a289d447f6b848ab56c62.tar.xz
Don't match 64-bit bitfield inserts into rlwimi's. todo add rldimi. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28944 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/PowerPC/PPCISelDAGToDAG.cpp9
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td2
2 files changed, 5 insertions, 6 deletions
diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
index da1de9a8f9..659c2d7fcb 100644
--- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
@@ -1076,10 +1076,11 @@ void PPCDAGToDAGISel::Select(SDOperand &Result, SDOperand Op) {
break;
}
case ISD::OR:
- if (SDNode *I = SelectBitfieldInsert(N)) {
- Result = CodeGenMap[Op] = SDOperand(I, 0);
- return;
- }
+ if (N->getValueType(0) == MVT::i32)
+ if (SDNode *I = SelectBitfieldInsert(N)) {
+ Result = CodeGenMap[Op] = SDOperand(I, 0);
+ return;
+ }
// Other cases are autogenerated.
break;
diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td
index e43c0eb724..46cc7d7fad 100644
--- a/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -134,8 +134,6 @@ def XORIS8 : DForm_4<27, (ops G8RC:$dst, G8RC:$src1, u16imm:$src2),
"xoris $dst, $src1, $src2", IntGeneral,
[(set G8RC:$dst, (xor G8RC:$src1, imm16ShiftedZExt:$src2))]>;
-
-
def ADD8 : XOForm_1<31, 266, 0, (ops G8RC:$rT, G8RC:$rA, G8RC:$rB),
"add $rT, $rA, $rB", IntGeneral,
[(set G8RC:$rT, (add G8RC:$rA, G8RC:$rB))]>;