PR target/80969 - Fix ICE with -mabi=ms -mavx512f, reduce wasted space when realignin...
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx512vl-pack-1.c
bloba589d63ed3b499bf8545df7622cf88f31879e4f1
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mavx512vl -mno-avx512bw" } */
4 #include <x86intrin.h>
6 __m128i
7 f1 (__m128i a, __m128i b)
9 return _mm_packs_epi16 (a, b);
12 /* { dg-final { scan-assembler-times "vpacksswb\[^\n\r\]*xmm\[0-9\]" 1 } } */
14 __m128i
15 f2 (__m128i a, __m128i b)
17 return _mm_packs_epi32 (a, b);
20 /* { dg-final { scan-assembler-times "vpackssdw\[^\n\r\]*xmm\[0-9\]" 1 } } */
22 __m128i
23 f3 (__m128i a, __m128i b)
25 return _mm_packus_epi16 (a, b);
28 /* { dg-final { scan-assembler-times "vpackuswb\[^\n\r\]*xmm\[0-9\]" 1 } } */
30 __m128i
31 f4 (__m128i a, __m128i b)
33 return _mm_packus_epi32 (a, b);
36 /* { dg-final { scan-assembler-times "vpackusdw\[^\n\r\]*xmm\[0-9\]" 1 } } */
38 __m256i
39 f5 (__m256i a, __m256i b)
41 return _mm256_packs_epi16 (a, b);
44 /* { dg-final { scan-assembler-times "vpacksswb\[^\n\r\]*ymm\[0-9\]" 1 } } */
46 __m256i
47 f6 (__m256i a, __m256i b)
49 return _mm256_packs_epi32 (a, b);
52 /* { dg-final { scan-assembler-times "vpackssdw\[^\n\r\]*ymm\[0-9\]" 1 } } */
54 __m256i
55 f7 (__m256i a, __m256i b)
57 return _mm256_packus_epi16 (a, b);
60 /* { dg-final { scan-assembler-times "vpackuswb\[^\n\r\]*ymm\[0-9\]" 1 } } */
62 __m256i
63 f8 (__m256i a, __m256i b)
65 return _mm256_packus_epi32 (a, b);
68 /* { dg-final { scan-assembler-times "vpackusdw\[^\n\r\]*ymm\[0-9\]" 1 } } */