/* { dg-do compile } */ /* { dg-options "-mabicalls -fpic -mno-mips16 -mno-micromips -fno-inline -fipa-ra -mcompact-branches=never" } */ /* { dg-skip-if "needs codesize optimization" { *-*-* } { "-O0" "-O1" "-O2" "-O3" } { "" } } */ static int foo (void* p) { __asm__ (""::"r"(p):"$t0"); return 0; } static int bar (void* p) { return 1; } int test (void* p) { int res = !p ? foo(p) : bar(p); register int tmp __asm__("$t0") = -1; __asm__ (""::"r"(tmp)); return res; } /* { dg-final { scan-assembler "\\\.reloc\t1f,R_MIPS_JALR,foo" } } */ /* { dg-final { scan-assembler "\\\.reloc\t1f,R_MIPS_JALR,bar" } } */ /* { dg-final { scan-assembler-not "\\.set\tnomacro\n\tjalr\t\\\$25" } } */