summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-05-18 20:19:53 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-05-18 20:19:53 +0000
commit28f330fd6f9ae14f633d342fdf00defda56566f9 (patch)
tree1b31fe45a59fe014d107e46eaf72a87d355d49b8 /compiler-rt/test
parentfb50dd34ed5d405de083e37d0c8a1baa2cd76387 (diff)
downloadbcm5719-llvm-28f330fd6f9ae14f633d342fdf00defda56566f9.tar.gz
bcm5719-llvm-28f330fd6f9ae14f633d342fdf00defda56566f9.zip
[msan] Don't check divisor shadow in fdiv.
Summary: Floating point division by zero or even undef does not have undefined behavior and may occur due to optimizations. Fixes https://bugs.llvm.org/show_bug.cgi?id=37523. Reviewers: kcc Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D47085 llvm-svn: 332761
Diffstat (limited to 'compiler-rt/test')
-rw-r--r--compiler-rt/test/msan/vector_div.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler-rt/test/msan/vector_div.cc b/compiler-rt/test/msan/vector_div.cc
new file mode 100644
index 00000000000..4ca2369d63e
--- /dev/null
+++ b/compiler-rt/test/msan/vector_div.cc
@@ -0,0 +1,17 @@
+// Regression test for https://bugs.llvm.org/show_bug.cgi?id=37523
+
+// RUN: %clangxx_msan -O0 %s -o %t && %run %t
+// RUN: %clangxx_msan -O3 %s -o %t && %run %t
+// REQUIRES: x86_64-target-arch
+
+#include <assert.h>
+#include <emmintrin.h>
+
+int main() {
+ volatile int scale = 5;
+ volatile auto zz = _mm_div_ps(_mm_set1_ps(255), _mm_set1_ps(scale));
+ assert(zz[0] == 51);
+ assert(zz[1] == 51);
+ assert(zz[2] == 51);
+ assert(zz[3] == 51);
+}
OpenPOWER on IntegriCloud