summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-10-23 23:20:14 +0000
committerDale Johannesen <dalej@apple.com>2007-10-23 23:20:14 +0000
commit10f41524717d13f4c476da7cb2012fe008b37e1e (patch)
treed0d29f1cfa32024f623c6715f5448cd09918c91e /llvm/lib/Target/PowerPC
parentf25f4a3de029e45d924abb2d5f41c32c170ad49d (diff)
downloadbcm5719-llvm-10f41524717d13f4c476da7cb2012fe008b37e1e.tar.gz
bcm5719-llvm-10f41524717d13f4c476da7cb2012fe008b37e1e.zip
Disable a couple more things for ppcf128.
llvm-svn: 43267
Diffstat (limited to 'llvm/lib/Target/PowerPC')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index e3610f89941..9c2016ce79f 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -3143,7 +3143,8 @@ SDOperand PPCTargetLowering::PerformDAGCombine(SDNode *N,
// Turn (sint_to_fp (fp_to_sint X)) -> fctidz/fcfid without load/stores.
// We allow the src/dst to be either f32/f64, but the intermediate
// type must be i64.
- if (N->getOperand(0).getValueType() == MVT::i64) {
+ if (N->getOperand(0).getValueType() == MVT::i64 &&
+ N->getOperand(0).getOperand(0).getValueType() != MVT::ppcf128) {
SDOperand Val = N->getOperand(0).getOperand(0);
if (Val.getValueType() == MVT::f32) {
Val = DAG.getNode(ISD::FP_EXTEND, MVT::f64, Val);
@@ -3170,7 +3171,8 @@ SDOperand PPCTargetLowering::PerformDAGCombine(SDNode *N,
// Turn STORE (FP_TO_SINT F) -> STFIWX(FCTIWZ(F)).
if (TM.getSubtarget<PPCSubtarget>().hasSTFIWX() &&
N->getOperand(1).getOpcode() == ISD::FP_TO_SINT &&
- N->getOperand(1).getValueType() == MVT::i32) {
+ N->getOperand(1).getValueType() == MVT::i32 &&
+ N->getOperand(1).getOperand(0).getValueType() != MVT::ppcf128) {
SDOperand Val = N->getOperand(1).getOperand(0);
if (Val.getValueType() == MVT::f32) {
Val = DAG.getNode(ISD::FP_EXTEND, MVT::f64, Val);
OpenPOWER on IntegriCloud