| /* { dg-do compile } */ |
| /* { dg-options "-O2 -mavx512vl -mno-avx512bw" } */ |
| |
| typedef unsigned int __attribute__((mode(HI), vector_size(16))) v8hi_t; |
| typedef unsigned int __attribute__((mode(HI), vector_size(32))) v16hi_t; |
| |
| struct s8hi { |
| int i; |
| v8hi_t __attribute__((packed)) v; |
| }; |
| struct s16hi { |
| int i; |
| v16hi_t __attribute__((packed)) v; |
| }; |
| |
| void f8hi(struct s8hi*p1, const struct s8hi*p2) { |
| p1->v += p2->v; |
| } |
| |
| void f16hi(struct s16hi*p1, const struct s16hi*p2) { |
| p1->v += p2->v; |
| } |
| |
| /* { dg-final { scan-assembler-not "^\[ \t\]*vmovdq\[au\](8|16)" } } */ |