summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/constant-fold-libfunc.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine/constant-fold-libfunc.ll')
-rw-r--r--test/Transforms/InstCombine/constant-fold-libfunc.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/constant-fold-libfunc.ll b/test/Transforms/InstCombine/constant-fold-libfunc.ll
index c969b65a4e7..5d1aa821ea1 100644
--- a/test/Transforms/InstCombine/constant-fold-libfunc.ll
+++ b/test/Transforms/InstCombine/constant-fold-libfunc.ll
@@ -12,9 +12,20 @@ define double @test_simplify_acos() {
ret double %pi
}
+; Check that we don't constant fold builtin functions.
+
define double @test_acos_nobuiltin() {
; CHECK-LABEL: @test_acos_nobuiltin
%pi = call double @acos(double -1.000000e+00) nobuiltin
; CHECK: call double @acos(double -1.000000e+00)
ret double %pi
}
+
+; Check that we don't constant fold strictfp results that require rounding.
+
+define double @test_acos_strictfp() {
+; CHECK-LABEL: @test_acos_strictfp
+ %pi = call double @acos(double -1.000000e+00) strictfp
+; CHECK: call double @acos(double -1.000000e+00)
+ ret double %pi
+}