1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2 -mgfni" } */
3 
4 typedef char __attribute__((vector_size(16))) v16qi_t;
5 
test16a(v16qi_t x,v16qi_t a)6 v16qi_t test16a (v16qi_t x, v16qi_t a)
7 {
8   asm volatile ("" : "+m" (a));
9   return __builtin_ia32_vgf2p8affineqb_v16qi (x, a, 0);
10 }
11 
test16b(v16qi_t x,v16qi_t a)12 v16qi_t test16b (v16qi_t x, v16qi_t a)
13 {
14   asm volatile ("" : "+m" (x));
15   return __builtin_ia32_vgf2p8affineqb_v16qi (x, a, 0);
16 }
17 
18 /* { dg-final { scan-assembler-times "gf2p8affineqb\[ \t].*\\(" 1 } } */
19 /* { dg-final { scan-assembler-times "gf2p8affineqb\[ \t].*%xmm.*%xmm" 1 } } */
20