summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-03-03 01:13:23 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-03-03 01:13:23 +0000
commitb6fe13f26b68bb72a3959cf8db9429dc5c26f36d (patch)
tree187ee6659c68c6cd9c9159123a402d6f5f32456f
parentd0285f21d081657c5d1812420666523f9bb13d6b (diff)
downloadbcm5719-llvm-b6fe13f26b68bb72a3959cf8db9429dc5c26f36d.tar.gz
bcm5719-llvm-b6fe13f26b68bb72a3959cf8db9429dc5c26f36d.zip
[msan] Test for _mm_getcsr and _mm_setcsr (r296848).
llvm-svn: 296849
-rw-r--r--compiler-rt/lib/msan/tests/msan_test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc
index 9ec1e28374d..6f4dd99b339 100644
--- a/compiler-rt/lib/msan/tests/msan_test.cc
+++ b/compiler-rt/lib/msan/tests/msan_test.cc
@@ -3602,6 +3602,18 @@ TEST(MemorySanitizer, ICmpVectorRelational) {
EXPECT_POISONED(_mm_cmpgt_epi16(poisoned(_mm_set1_epi16(6), _mm_set1_epi16(0xF)),
poisoned(_mm_set1_epi16(7), _mm_set1_epi16(0))));
}
+
+TEST(MemorySanitizer, stmxcsr_ldmxcsr) {
+ U4 x = _mm_getcsr();
+ EXPECT_NOT_POISONED(x);
+
+ _mm_setcsr(x);
+
+ __msan_poison(&x, sizeof(x));
+ U4 origin = __LINE__;
+ __msan_set_origin(&x, sizeof(x), origin);
+ EXPECT_UMR_O(_mm_setcsr(x), origin);
+}
#endif
// Volatile bitfield store is implemented as load-mask-store
OpenPOWER on IntegriCloud