[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp PPC32ISelLowering.cpp PPC32ISelDAGToDAG.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Sep 9 17:21:17 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelPattern.cpp updated: 1.177 -> 1.178
PPC32ISelLowering.cpp updated: 1.22 -> 1.23
PPC32ISelDAGToDAG.cpp updated: 1.74 -> 1.75
---
Log message:

PowerPC cannot truncstore i1 natively


---
Diffs of the changes:  (+3 -2)

 PPC32ISelDAGToDAG.cpp |    1 -
 PPC32ISelLowering.cpp |    3 +++
 PPC32ISelPattern.cpp  |    1 -
 3 files changed, 3 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.177 llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.178
--- llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.177	Tue Sep  6 17:03:27 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp	Fri Sep  9 19:21:05 2005
@@ -1795,7 +1795,6 @@
     } else { //ISD::TRUNCSTORE
       switch(cast<VTSDNode>(Node->getOperand(4))->getVT()) {
       default: assert(0 && "unknown Type in store");
-      case MVT::i1:
       case MVT::i8: Opc  = PPC::STB; break;
       case MVT::i16: Opc = PPC::STH; break;
       }


Index: llvm/lib/Target/PowerPC/PPC32ISelLowering.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelLowering.cpp:1.22 llvm/lib/Target/PowerPC/PPC32ISelLowering.cpp:1.23
--- llvm/lib/Target/PowerPC/PPC32ISelLowering.cpp:1.22	Tue Sep  6 17:03:27 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelLowering.cpp	Fri Sep  9 19:21:05 2005
@@ -91,6 +91,9 @@
   setOperationAction(ISD::SINT_TO_FP, MVT::i32, Expand);
   setOperationAction(ISD::UINT_TO_FP, MVT::i32, Expand);
 
+  // PowerPC does not have truncstore for i1.
+  setOperationAction(ISD::TRUNCSTORE, MVT::i1, Promote);
+  
   // 64 bit PowerPC implementations have instructions to facilitate conversion
   // between i64 and fp.
   if (TM.getSubtarget<PPCSubtarget>().is64Bit()) {


Index: llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.74 llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.75
--- llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.74	Wed Sep  7 18:45:15 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp	Fri Sep  9 19:21:06 2005
@@ -1263,7 +1263,6 @@
     } else { //ISD::TRUNCSTORE
       switch(cast<VTSDNode>(N->getOperand(4))->getVT()) {
       default: assert(0 && "unknown Type in store");
-      case MVT::i1:
       case MVT::i8:  Opc = isIdx ? PPC::STBX : PPC::STB; break;
       case MVT::i16: Opc = isIdx ? PPC::STHX : PPC::STH; break;
       }






More information about the llvm-commits mailing list