Files
clang-p2996/compiler-rt/test/msan/vector_div.cc
Evgeniy Stepanov 28f330fd6f [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
2018-05-18 20:19:53 +00:00

18 lines
441 B
C++

// 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);
}