1  /* { dg-do compile } */
       2  /* { dg-options "-mavx -O2" } */
       3  
       4  #include <immintrin.h>
       5  
       6  void test(char *dest)
       7  {
       8    /* xmm1 can be propagated to xmm2 by CSE.  */
       9    __m128i xmm1 = _mm_set_epi8(0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8,
      10  			      0x9, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16);
      11    _mm_storeu_si128((__m128i *)(dest + 32), xmm1);
      12    _mm256_zeroupper();
      13    _mm256_zeroupper();
      14    _mm256_zeroupper();
      15    _mm256_zeroupper();
      16    _mm256_zeroupper();
      17    __m128i xmm2 = xmm1;
      18    _mm_storeu_si128((__m128i *)dest, xmm2);
      19  }
      20  
      21  /* Darwin local constant symbol is "lC0", ELF targets ".LC0" */
      22  /* { dg-final { scan-assembler-times {(?n)vmovdqa\t\.?[Ll]C0[^,]*, %xmm[0-9]} 1 } } */