diff options
author | Lei Huang <lei@ca.ibm.com> | 2018-07-04 21:59:16 +0000 |
---|---|---|
committer | Lei Huang <lei@ca.ibm.com> | 2018-07-04 21:59:16 +0000 |
commit | 6270ab6ce4e38b3d2f5a4a29c49e2f9515a5540e (patch) | |
tree | f48e2a989350639f2395c6438ea0e9db33482e9a /llvm/lib/Target/PowerPC/PPCISelLowering.cpp | |
parent | ea9c3f25a7c1726158da197f7f8514f7271aa8b3 (diff) | |
download | bcm5719-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.cpp | 4 |
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); } } |