diff options
author | Jan Voung <jvoung@chromium.org> | 2013-07-02 16:29:16 -0700 |
---|---|---|
committer | Jan Voung <jvoung@chromium.org> | 2013-07-02 16:29:16 -0700 |
commit | a6817fbfe9248e8992132206448eb5eda1745c92 (patch) | |
tree | 3b25adc633ea5203d5f52b028e67692a8858fb39 /test | |
parent | 66d0d318bec6819fee76f501e67c674cf7a112d0 (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.ll | 6 |
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, |