1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512f -mno-avx512bw -O2" } */
       3  
       4  #include "vect-bfloat16-2a.c"
       5  
       6  /* { dg-final { scan-assembler-times "vpunpcklwd" 28 } } */
       7  /* { dg-final { scan-assembler-times "vpunpckldq" 14 } } */
       8  /* { dg-final { scan-assembler-times "vpunpcklqdq" 7 } } */
       9  
      10  /* { dg-final { scan-assembler-times "vpsrldq\[\t ]*\\\$8" 1 } } */
      11  /* { dg-final { scan-assembler-times "vpsrldq\[\t ]*\\\$6" 1 } } */
      12  /* { dg-final { scan-assembler-times "vpsrldq\[\t ]*\\\$14" 1 } } */
      13  /* { dg-final { scan-assembler-times "vextract" 2 } } */
      14  
      15  /* { dg-final { scan-assembler-times "vpbroadcastw" 7 { target { ! ia32 } } } } */
      16  /* { dg-final { scan-assembler-times "vpblendw" 4 { target { ! ia32 } } } } */
      17  
      18  /* { dg-final { scan-assembler-times "vpbroadcastw" 6 { target ia32 } } } */
      19  /* { dg-final { scan-assembler-times "vpblendw" 3 { target ia32 } } } */
      20  /* { dg-final { scan-assembler-times "vpinsrw" 63 { target ia32 } } } */
      21  
      22  /* { dg-final { scan-assembler-times "vpblendd" 3 } } */