diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-11-15 16:27:33 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-11-15 16:27:33 +0000 |
commit | c7486af9c9642f0beff3b033be9b3353c035e8cd (patch) | |
tree | 8041a6f62c99e591add6e0dae45056ab5c8270b0 /llvm/lib/Transforms | |
parent | ceffb43b1b7e6d5d8f666acaa51647c87834af09 (diff) | |
download | bcm5719-llvm-c7486af9c9642f0beff3b033be9b3353c035e8cd.tar.gz bcm5719-llvm-c7486af9c9642f0beff3b033be9b3353c035e8cd.zip |
[AVX-512] Add AVX-512 vector shift intrinsics to memory santitizer.
Just needed to add the intrinsics to the exist switch. The code is generic enough to support the wider vectors with no changes.
llvm-svn: 286980
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp index 6dba8d16516..fafb0fcbd01 100644 --- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -2362,6 +2362,29 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> { case llvm::Intrinsic::x86_sse_cvttps2pi: handleVectorConvertIntrinsic(I, 2); break; + + case llvm::Intrinsic::x86_avx512_psll_w_512: + case llvm::Intrinsic::x86_avx512_psll_d_512: + case llvm::Intrinsic::x86_avx512_psll_q_512: + case llvm::Intrinsic::x86_avx512_pslli_w_512: + case llvm::Intrinsic::x86_avx512_pslli_d_512: + case llvm::Intrinsic::x86_avx512_pslli_q_512: + case llvm::Intrinsic::x86_avx512_psrl_w_512: + case llvm::Intrinsic::x86_avx512_psrl_d_512: + case llvm::Intrinsic::x86_avx512_psrl_q_512: + case llvm::Intrinsic::x86_avx512_psra_w_512: + case llvm::Intrinsic::x86_avx512_psra_d_512: + case llvm::Intrinsic::x86_avx512_psra_q_512: + case llvm::Intrinsic::x86_avx512_psrli_w_512: + case llvm::Intrinsic::x86_avx512_psrli_d_512: + case llvm::Intrinsic::x86_avx512_psrli_q_512: + case llvm::Intrinsic::x86_avx512_psrai_w_512: + case llvm::Intrinsic::x86_avx512_psrai_d_512: + case llvm::Intrinsic::x86_avx512_psrai_q_512: + case llvm::Intrinsic::x86_avx512_psra_q_256: + case llvm::Intrinsic::x86_avx512_psra_q_128: + case llvm::Intrinsic::x86_avx512_psrai_q_256: + case llvm::Intrinsic::x86_avx512_psrai_q_128: case llvm::Intrinsic::x86_avx2_psll_w: case llvm::Intrinsic::x86_avx2_psll_d: case llvm::Intrinsic::x86_avx2_psll_q: @@ -2414,14 +2437,22 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> { break; case llvm::Intrinsic::x86_avx2_psllv_d: case llvm::Intrinsic::x86_avx2_psllv_d_256: + case llvm::Intrinsic::x86_avx512_psllv_d_512: case llvm::Intrinsic::x86_avx2_psllv_q: case llvm::Intrinsic::x86_avx2_psllv_q_256: + case llvm::Intrinsic::x86_avx512_psllv_q_512: case llvm::Intrinsic::x86_avx2_psrlv_d: case llvm::Intrinsic::x86_avx2_psrlv_d_256: + case llvm::Intrinsic::x86_avx512_psrlv_d_512: case llvm::Intrinsic::x86_avx2_psrlv_q: case llvm::Intrinsic::x86_avx2_psrlv_q_256: + case llvm::Intrinsic::x86_avx512_psrlv_q_512: case llvm::Intrinsic::x86_avx2_psrav_d: case llvm::Intrinsic::x86_avx2_psrav_d_256: + case llvm::Intrinsic::x86_avx512_psrav_d_512: + case llvm::Intrinsic::x86_avx512_psrav_q_128: + case llvm::Intrinsic::x86_avx512_psrav_q_256: + case llvm::Intrinsic::x86_avx512_psrav_q_512: handleVectorShiftIntrinsic(I, /* Variable */ true); break; |