diff options
| author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-03-03 01:13:23 +0000 |
|---|---|---|
| committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-03-03 01:13:23 +0000 |
| commit | b6fe13f26b68bb72a3959cf8db9429dc5c26f36d (patch) | |
| tree | 187ee6659c68c6cd9c9159123a402d6f5f32456f | |
| parent | d0285f21d081657c5d1812420666523f9bb13d6b (diff) | |
| download | bcm5719-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.cc | 12 |
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 |

