(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr105072.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-msse4.1 -O2" } */
       3  /* { dg-final { scan-assembler-times {(?n)pmovzxbq[ \t]+} "4" } } */
       4  /* { dg-final { scan-assembler-not {(?n)pinsrw[ \t]+} } } */
       5  
       6  #include<immintrin.h>
       7  
       8  __m128i foo (void *p){
       9    return _mm_cvtepu8_epi64(_mm_loadu_si16(p));
      10  }
      11  
      12  __m128i foo2 (short a){
      13    return _mm_cvtepu8_epi64(_mm_set_epi16(0, 0, 0, 0, 0, 0, 0, a));
      14  }
      15  
      16  __m128i
      17  foo3 (void *p){
      18    return _mm_cvtepu8_epi64((__m128i)__extension__(__m128h) {*(_Float16 const*)p, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f});
      19  }
      20  
      21  __m128i
      22  foo4 (_Float16 a){
      23    return _mm_cvtepu8_epi64((__m128i)__extension__(__m128h) {a, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f});
      24  }