(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512dq-pr90991-2.c
       1  /* PR target/90991 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mavx512dq -masm=att -mtune=intel" } */
       4  /* { dg-final { scan-assembler-times "vmovaps\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
       5  /* { dg-final { scan-assembler-times "vmovapd\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
       6  /* { dg-final { scan-assembler-times "vmovdqa\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
       7  /* { dg-final { scan-assembler-times "vmovups\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
       8  /* { dg-final { scan-assembler-times "vmovupd\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
       9  /* { dg-final { scan-assembler-times "vmovdqu\[ \t]\+\\(\[^\n\r]*\\), %ymm0" 1 } } */
      10  
      11  #include <x86intrin.h>
      12  
      13  __m512
      14  f1 (void *a)
      15  {
      16    return _mm512_insertf32x8 (_mm512_set1_ps (0.0f), _mm256_load_ps (a), 0);
      17  }
      18  
      19  __m512d
      20  f2 (void *a)
      21  {
      22    return _mm512_insertf64x4 (_mm512_set1_pd (0.0), _mm256_load_pd (a), 0);
      23  }
      24  
      25  __m512i
      26  f3 (void *a)
      27  {
      28    return _mm512_inserti32x8 (_mm512_set1_epi32 (0), _mm256_load_si256 (a), 0);
      29  }
      30  
      31  __m512
      32  f4 (void *a)
      33  {
      34    return _mm512_insertf32x8 (_mm512_set1_ps (0.0f), _mm256_loadu_ps (a), 0);
      35  }
      36  
      37  __m512d
      38  f5 (void *a)
      39  {
      40    return _mm512_insertf64x4 (_mm512_set1_pd (0.0), _mm256_loadu_pd (a), 0);
      41  }
      42  
      43  __m512i
      44  f6 (void *a)
      45  {
      46    return _mm512_inserti32x8 (_mm512_set1_epi32 (0), _mm256_loadu_si256 (a), 0);
      47  }