summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff options
context:
space:
mode:
authorLei Huang <lei@ca.ibm.com>2018-07-04 21:59:16 +0000
committerLei Huang <lei@ca.ibm.com>2018-07-04 21:59:16 +0000
commit6270ab6ce4e38b3d2f5a4a29c49e2f9515a5540e (patch)
treef48e2a989350639f2395c6438ea0e9db33482e9a /llvm/lib/Target/PowerPC/PPCISelLowering.cpp
parentea9c3f25a7c1726158da197f7f8514f7271aa8b3 (diff)
downloadbcm5719-llvm-6270ab6ce4e38b3d2f5a4a29c49e2f9515a5540e.tar.gz
bcm5719-llvm-6270ab6ce4e38b3d2f5a4a29c49e2f9515a5540e.zip
[Power9]Legalize and emit code for round & convert quad-precision values
Legalize and emit code for round & convert float128 to double precision and single precision. Differential Revision: https://reviews.llvm.org/D46997 llvm-svn: 336299
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index 548876008d0..0fbfa81d828 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -808,6 +808,10 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM,
setOperationAction(ISD::FP_EXTEND, MVT::f128, Legal);
setLoadExtAction(ISD::EXTLOAD, MVT::f128, MVT::f64, Expand);
setOperationAction(ISD::FMA, MVT::f128, Legal);
+ setOperationAction(ISD::FP_ROUND, MVT::f64, Legal);
+ setOperationAction(ISD::FP_ROUND, MVT::f32, Legal);
+ setTruncStoreAction(MVT::f128, MVT::f64, Expand);
+ setTruncStoreAction(MVT::f128, MVT::f32, Expand);
}
}
OpenPOWER on IntegriCloud