2 /* { dg-options "-O2 -fno-inline --save-temps" } */
4 extern long long llabs (long long);
5 extern void abort (void);
10 /* { dg-final { scan-assembler "eor\t" } } */
11 /* { dg-final { scan-assembler "sub\t" } } */
16 abs64_in_dreg (long long a
)
18 /* { dg-final { scan-assembler "abs\td\[0-9\]+, d\[0-9\]+" } } */
19 register long long x
asm ("d8") = a
;
20 register long long y
asm ("d9");
21 asm volatile ("" : : "w" (x
));
23 asm volatile ("" : : "w" (y
));
30 volatile long long ll0
= 0LL, ll1
= 1LL, llm1
= -1LL;
32 if (abs64 (ll0
) != 0LL)
35 if (abs64 (ll1
) != 1LL)
38 if (abs64 (llm1
) != 1LL)
41 if (abs64_in_dreg (ll0
) != 0LL)
44 if (abs64_in_dreg (ll1
) != 1LL)
47 if (abs64_in_dreg (llm1
) != 1LL)
53 /* { dg-final { cleanup-saved-temps } } */