[regstack] : Call replace_reg for asm clobbers

Message ID CAFULd4amv37EhGdtRyLnhNdDoj0xbumoEfUZKQRcEju4X3+9vw@mail.gmail.com
State New
Headers show
Series
  • [regstack] : Call replace_reg for asm clobbers
Related show

Commit Message

Uros Bizjak Sept. 11, 2018, 7:40 p.m.
Hello!

The mode of clobbers was changed from QImode to reg_raw_mode from a
long time ago...

2018-09-11  Uros Bizjak  <ubizjak@gmail.com>

    * reg-stack.c (subst_asm_stack_regs): Call replace_reg also
    for clobbers.  Remove obsolete comment.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN as obvious.

Uros.

Patch

diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 0f1b6d52f01..d97a358e3f8 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -2275,13 +2275,7 @@  subst_asm_stack_regs (rtx_insn *insn, stack_ptr regstack)
       int regnum = get_hard_regnum (regstack, clobber_reg[i]);
 
       if (regnum >= 0)
-	{
-	  /* Sigh - clobbers always have QImode.  But replace_reg knows
-	     that these regs can't be MODE_INT and will assert.  Just put
-	     the right reg there without calling replace_reg.  */
-
-	  *clobber_loc[i] = FP_MODE_REG (regnum, DFmode);
-	}
+	replace_reg (clobber_loc[i], regnum);
     }
 
   /* Now remove from REGSTACK any inputs that the asm implicitly popped.  */