mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-01 01:14:12 +00:00
PowerPC cannot truncstore i1 natively
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23304 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
13d58e71b7
commit
e6ec9f20c9
@ -1263,7 +1263,6 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
|
||||
} 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;
|
||||
}
|
||||
|
@ -91,6 +91,9 @@ PPC32TargetLowering::PPC32TargetLowering(TargetMachine &TM)
|
||||
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()) {
|
||||
|
@ -1795,7 +1795,6 @@ void ISel::Select(SDOperand N) {
|
||||
} 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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user