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