blob: eacec5a655298dab09901b6c235dd978bc66cdf5 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -mno-fix-cortex-a53-835769 -march=armv8-a -mcpu=generic -save-temps" } */
/* Check that the attribute overrides the command line option
and the fix is applied once. */
__attribute__ ((target ("fix-cortex-a53-835769")))
unsigned long long
test (unsigned long long a, double b, unsigned long long c,
unsigned long long d, unsigned long long *e)
{
double result;
volatile unsigned long long tmp = *e;
__asm__ __volatile ("// %0, %1"
: "=w" (result)
: "0" (b)
: /* No clobbers. */);
return c * d + d;
}
unsigned long long
test2 (unsigned long long a, double b, unsigned long long c,
unsigned long long d, unsigned long long *e)
{
double result;
volatile unsigned long long tmp = *e;
__asm__ __volatile ("// %0, %1"
: "=w" (result)
: "0" (b)
: /* No clobbers. */);
return c * d + d;
}
/* { dg-final { scan-assembler-times "between mem op and" 1 } } */