(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512fp16-vec_set_var.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512fp16 -mno-avx512vl -O2" } */
       3  /* { dg-final { scan-assembler-times {(?n)vpblendvb[ \t]+%xmm[0-9]} 1 } } */
       4  /* { dg-final { scan-assembler-times {(?n)vpblendvb[ \t]+%ymm[0-9]} 1 } } */
       5  /* { dg-final { scan-assembler-times {(?n)(?:vpbroadcastw|vmovdq[ua]16)[ \t].*%zmm[0-9].*%k[0-7]} 1 } } */
       6  
       7  typedef _Float16 v32hf __attribute__((vector_size(64)));
       8  typedef _Float16 v16hf __attribute__((vector_size(32)));
       9  typedef _Float16 v8hf __attribute__((vector_size(16)));
      10  
      11  v8hf
      12  foo1 (v8hf a, _Float16 b, int c)
      13  {
      14    a[c] = b;
      15    return a;
      16  }
      17  
      18  v16hf
      19  foo2 (v16hf a, _Float16 b, int c)
      20  {
      21    a[c] = b;
      22    return a;
      23  }
      24  
      25  v32hf
      26  foo3 (v32hf a, _Float16 b, int c)
      27  {
      28    a[c] = b;
      29    return a;
      30  }