/* { 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" } } */
