summaryrefslogtreecommitdiff
path: root/lib/Target
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-05-27 20:12:41 +0000
committerDale Johannesen <dalej@apple.com>2010-05-27 20:12:41 +0000
commit54feef29500dda8ee885af177b449c62ac8b6444 (patch)
tree01b7fdedb836b50842ef10fc100cb601edc8d54a /lib/Target
parentd928fb670fb3b0818fc23738e9c2418980bb141e (diff)
downloadllvm-54feef29500dda8ee885af177b449c62ac8b6444.tar.gz
llvm-54feef29500dda8ee885af177b449c62ac8b6444.tar.bz2
llvm-54feef29500dda8ee885af177b449c62ac8b6444.tar.xz
Mark some math lib intrinsic nodes Legal on SSE4.1.
No functional effect as these nodes are not generated yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104879 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 9d49941dc8..b46fc740e4 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -825,6 +825,17 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
}
if (Subtarget->hasSSE41()) {
+ setOperationAction(ISD::FFLOOR, MVT::f32, Legal);
+ setOperationAction(ISD::FCEIL, MVT::f32, Legal);
+ setOperationAction(ISD::FTRUNC, MVT::f32, Legal);
+ setOperationAction(ISD::FRINT, MVT::f32, Legal);
+ setOperationAction(ISD::FNEARBYINT, MVT::f32, Legal);
+ setOperationAction(ISD::FFLOOR, MVT::f64, Legal);
+ setOperationAction(ISD::FCEIL, MVT::f64, Legal);
+ setOperationAction(ISD::FTRUNC, MVT::f64, Legal);
+ setOperationAction(ISD::FRINT, MVT::f64, Legal);
+ setOperationAction(ISD::FNEARBYINT, MVT::f64, Legal);
+
// FIXME: Do we need to handle scalar-to-vector here?
setOperationAction(ISD::MUL, MVT::v4i32, Legal);