blob: 8519c3fdc82de9048f64c1a1f2d20ab97aadb727 [file] [log] [blame]
/* PR target/82989. */
/* { dg-do compile } */
/* { dg-require-effective-target arm_neon_ok } */
/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mcpu=*" } { "-mcpu=cortex-a8" } } */
/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mfpu=*" } { "-mfpu=neon" } } */
/* { dg-skip-if "avoid conflicts with multilib options" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
/* { dg-options "-O2 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard" } */
/* { dg-add-options arm_neon } */
typedef unsigned long long uint64_t;
void f_shr_imm (uint64_t *a)
{
*a += *a >> 32;
}
void f_shr_reg (uint64_t *a, uint64_t b)
{
*a += *a >> b;
}
void f_shl_imm (uint64_t *a)
{
*a += *a << 32;
}
void f_shl_reg (uint64_t *a, uint64_t b)
{
*a += *a << b;
}
/* { dg-final { scan-assembler-not "vshl*" } } */
/* { dg-final { scan-assembler-not "vshr*" } } */
/* { dg-final { scan-assembler-not "vmov*" } } */