/* { dg-do compile } */ /* { dg-options "-O2 -mavx512vl -mno-avx512bw" } */ typedef unsigned int __attribute__((mode(QI), vector_size(16))) v16qi_t; typedef unsigned int __attribute__((mode(QI), vector_size(32))) v32qi_t; struct s16qi { int i; v16qi_t __attribute__((packed)) v; }; struct s32qi { int i; v32qi_t __attribute__((packed)) v; }; void f16qi(struct s16qi*p1, const struct s16qi*p2) { p1->v += p2->v; } void f32qi(struct s32qi*p1, const struct s32qi*p2) { p1->v += p2->v; } /* { dg-final { scan-assembler-not "^\[ \t\]*vmovdq\[au\](8|16)" } } */