diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2018-05-18 20:19:53 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2018-05-18 20:19:53 +0000 |
commit | 28f330fd6f9ae14f633d342fdf00defda56566f9 (patch) | |
tree | 1b31fe45a59fe014d107e46eaf72a87d355d49b8 /compiler-rt/test | |
parent | fb50dd34ed5d405de083e37d0c8a1baa2cd76387 (diff) | |
download | bcm5719-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.cc | 17 |
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); +} |