aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJan Voung <jvoung@chromium.org>2013-07-02 16:29:16 -0700
committerJan Voung <jvoung@chromium.org>2013-07-02 16:29:16 -0700
commita6817fbfe9248e8992132206448eb5eda1745c92 (patch)
tree3b25adc633ea5203d5f52b028e67692a8858fb39 /test
parent66d0d318bec6819fee76f501e67c674cf7a112d0 (diff)
Move LLVM sqrt intrinsic to stable (for float and doubles).
On the hardware that we support, they are implemented by instructions and have consistent behavior for -0.0, values less than -0.0, infinity, and nan. We will need to be careful to guarantee the same behavior for untested hardware. TEST=run_llvm_math_intrinsics_test BUG=http://code.google.com/p/nativeclient/issues/detail?id=3378 R=jfb@chromium.org, mseaborn@chromium.org Review URL: https://codereview.chromium.org/18559005
Diffstat (limited to 'test')
-rw-r--r--test/NaCl/PNaClABI/intrinsics.ll6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/NaCl/PNaClABI/intrinsics.ll b/test/NaCl/PNaClABI/intrinsics.ll
index 1c28cfd967..7c5e76e795 100644
--- a/test/NaCl/PNaClABI/intrinsics.ll
+++ b/test/NaCl/PNaClABI/intrinsics.ll
@@ -40,6 +40,9 @@ declare i64 @llvm.ctpop.i64(i64)
declare void @llvm.trap()
+declare float @llvm.sqrt.f32(float)
+declare double @llvm.sqrt.f64(double)
+
declare i8* @llvm.stacksave()
declare void @llvm.stackrestore(i8*)
@@ -98,6 +101,9 @@ declare i8* @llvm.frameaddress(i32 %level)
; CHECK: Function llvm.returnaddress is a disallowed LLVM intrinsic
declare i8* @llvm.returnaddress(i32 %level)
+; CHECK: Function llvm.sqrt.fp128 is a disallowed LLVM intrinsic
+declare fp128 @llvm.sqrt.fp128(fp128)
+
; The variants with 64-bit %len arguments are disallowed.
; CHECK: Function llvm.memcpy.p0i8.p0i8.i64 is a disallowed LLVM intrinsic
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* %dest, i8* %src,