diff options
Diffstat (limited to 'gcc/config/nds32/nds32.c')
-rw-r--r-- | gcc/config/nds32/nds32.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c index b705ae6..632a544 100644 --- a/gcc/config/nds32/nds32.c +++ b/gcc/config/nds32/nds32.c @@ -4066,8 +4066,11 @@ nds32_md_asm_adjust (vec<rtx> &outputs ATTRIBUTE_UNUSED, vec<const char *> &constraints ATTRIBUTE_UNUSED, vec<rtx> &clobbers, HARD_REG_SET &clobbered_regs) { - clobbers.safe_push (gen_rtx_REG (SImode, TA_REGNUM)); - SET_HARD_REG_BIT (clobbered_regs, TA_REGNUM); + if (!flag_inline_asm_r15) + { + clobbers.safe_push (gen_rtx_REG (SImode, TA_REGNUM)); + SET_HARD_REG_BIT (clobbered_regs, TA_REGNUM); + } return NULL; } |