/* PR target/100075 */ | |
/* { dg-do compile } */ | |
/* { dg-require-effective-target aarch64_little_endian } */ | |
/* { dg-options "-O2" } */ | |
/* { dg-final { scan-assembler-not {\tsbfx\tx[0-9]+, x[0-9]+, 16, 16} } } */ | |
/* { dg-final { scan-assembler {\tneg\tw[0-9]+, w[0-9]+, asr 16} } } */ | |
/* { dg-final { scan-assembler {\textr\tw[0-9]+, w[0-9]+, w[0-9]+, 16} } } */ | |
struct S { short x, y; }; | |
struct S | |
f1 (struct S p) | |
{ | |
return (struct S) { -p.y, p.x }; | |
} | |
struct S | |
f2 (struct S p) | |
{ | |
return (struct S) { p.y, -p.x }; | |
} |