27 lines
625 B
C
27 lines
625 B
C
/* PR rtl-optimization/89313 */
|
|
/* { dg-do compile { target aarch64*-*-* arm*-*-* i?86-*-* powerpc*-*-* s390*-*-* x86_64-*-* } } */
|
|
/* { dg-options "-O2" } */
|
|
|
|
#if defined (__aarch64__)
|
|
# define REG "x0"
|
|
#elif defined (__arm__)
|
|
# define REG "r0"
|
|
#elif defined (__i386__)
|
|
# define REG "%eax"
|
|
#elif defined (__powerpc__) || defined (__POWERPC__)
|
|
# define REG "r3"
|
|
#elif defined (__s390__)
|
|
# define REG "0"
|
|
#elif defined (__x86_64__)
|
|
# define REG "rax"
|
|
#endif
|
|
|
|
long
|
|
bug (long arg)
|
|
{
|
|
register long output asm (REG);
|
|
long input = arg;
|
|
asm ("blah %0, %1, %2" : "=&r" (output) : "r" (input), "0" (input));
|
|
return output;
|
|
}
|