blob: 5411078b1c44e044342aa6f4fb2e49754cc9a702 [file] [log] [blame]
/* PR target/99724 */
/* { dg-do compile } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mcpu=*" } { "-mcpu=iwmmxt" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mabi=*" } { "-mabi=iwmmxt" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-march=*" } { "-march=iwmmxt" } } */
/* { dg-skip-if "Test is specific to ARM mode" { arm*-*-* } { "-mthumb" } { "" } } */
/* { dg-require-effective-target arm32 } */
/* { dg-require-effective-target arm_iwmmxt_ok } */
/* { dg-options "-O1 -mcpu=iwmmxt" } */
typedef int V __attribute__((vector_size (8)));
struct __attribute__((packed)) S { char a; V b; char c[7]; };
void
foo (V *x)
{
*x = ~*x;
}
void
bar (V *x)
{
*x = -*x;
}
void
baz (V *x, struct S *p)
{
V y = p->b;
*x = y;
}