Skip to content

Commit 32578b7

Browse files
committed
[AVX512][Builtin] Fix palignr intrinsic for avx512vlbw. The immediate should not be multiplied by 8.
The 512-bit version was fixed recently but this was missed. llvm-svn: 270970
1 parent e5e819b commit 32578b7

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

clang/lib/Headers/avx512vlbwintrin.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3338,25 +3338,25 @@ _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
33383338

33393339
#define _mm_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
33403340
(__m128i)__builtin_ia32_palignr128_mask((__v16qi)(__m128i)(A), \
3341-
(__v16qi)(__m128i)(B), (int)(N) * 8, \
3341+
(__v16qi)(__m128i)(B), (int)(N), \
33423342
(__v16qi)(__m128i)(W), \
33433343
(__mmask16)(U)); })
33443344

33453345
#define _mm_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
33463346
(__m128i)__builtin_ia32_palignr128_mask((__v16qi)(__m128i)(A), \
3347-
(__v16qi)(__m128i)(B), (int)(N) * 8, \
3347+
(__v16qi)(__m128i)(B), (int)(N), \
33483348
(__v16qi)_mm_setzero_si128(), \
33493349
(__mmask16)(U)); })
33503350

33513351
#define _mm256_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
33523352
(__m256i)__builtin_ia32_palignr256_mask((__v32qi)(__m256i)(A), \
3353-
(__v32qi)(__m256i)(B), (int)(N) * 8, \
3353+
(__v32qi)(__m256i)(B), (int)(N), \
33543354
(__v32qi)(__m256i)(W), \
33553355
(__mmask32)(U)); })
33563356

33573357
#define _mm256_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
33583358
(__m256i)__builtin_ia32_palignr256_mask((__v32qi)(__m256i)(A), \
3359-
(__v32qi)(__m256i)(B), (int)(N) * 8, \
3359+
(__v32qi)(__m256i)(B), (int)(N), \
33603360
(__v32qi)_mm256_setzero_si256(), \
33613361
(__mmask32)(U)); })
33623362

0 commit comments

Comments
 (0)