1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mavx512vl -mno-avx512bw" } */
3 
4 typedef unsigned int __attribute__((mode(QI), vector_size(16))) v16qi_t;
5 typedef unsigned int __attribute__((mode(QI), vector_size(32))) v32qi_t;
6 
7 struct s16qi {
8 	int i;
9 	v16qi_t __attribute__((packed)) v;
10 };
11 struct s32qi {
12 	int i;
13 	v32qi_t __attribute__((packed)) v;
14 };
15 
f16qi(struct s16qi * p1,const struct s16qi * p2)16 void f16qi(struct s16qi*p1, const struct s16qi*p2) {
17 	p1->v += p2->v;
18 }
19 
f32qi(struct s32qi * p1,const struct s32qi * p2)20 void f32qi(struct s32qi*p1, const struct s32qi*p2) {
21 	p1->v += p2->v;
22 }
23 
24 /* { dg-final { scan-assembler-not "^\[ \t\]*vmovdq\[au\](8|16)" } } */
25