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 f8hi(struct s8hi * p1,const struct s8hi * p2)16void f8hi(struct s8hi*p1, const struct s8hi*p2) { 17 p1->v += p2->v; 18 } 19 f16hi(struct s16hi * p1,const struct s16hi * p2)20void 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)" } } */ 25