1  /* { dg-do compile } */
       2  /* { dg-options "-mkl -O2" } */
       3  /* { dg-final { scan-assembler "movdqa\[ \\t\]+\[^\\n\\r\]*, %xmm0" } } */
       4  /* { dg-final { scan-assembler "movl\[ \\t\]+\[^\\n\\r\]*, %eax" } } */
       5  /* { dg-final { scan-assembler "encodekey128\[ \\t\]+\[^\\n\]*%eax\[^\\n\\r\]*%eax" } } */
       6  /* { dg-final { scan-assembler "(?:movdqu|movups)\[ \\t\]+\[^\\n\]*%xmm0,\[^\\n\\r\]*" } } */
       7  /* { dg-final { scan-assembler "(?:movdqu|movups)\[ \\t\]+\[^\\n\]*%xmm1,\[^\\n\\r\]*16\[^\\n\\r\]*" } } */
       8  /* { dg-final { scan-assembler "(?:movdqu|movups)\[ \\t\]+\[^\\n\]*%xmm2,\[^\\n\\r\]*32\[^\\n\\r\]*" } } */
       9  
      10  #include <immintrin.h>
      11  
      12  unsigned int ctrl;
      13  char h2[48];
      14  __m128i k1, k2;
      15  
      16  unsigned int
      17  test_keylocker_9 (void)
      18  {
      19    unsigned int ret;
      20  
      21    ret = _mm_encodekey128_u32 (ctrl, k1, h2);
      22  
      23    if (ret)
      24      k2 = (__m128i){0};
      25  
      26    return ret;
      27  }
      28