reg-stack.c (subst_asm_stack_regs): Call replace_reg also for clobbers.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 11 Sep 2018 19:36:35 +0000 (21:36 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 11 Sep 2018 19:36:35 +0000 (21:36 +0200)
* reg-stack.c (subst_asm_stack_regs): Call replace_reg also
for clobbers.  Remove obsolete comment.

From-SVN: r264216

gcc/ChangeLog
gcc/reg-stack.c

index a5bd8982e942f2696643f658ea3f60cafdd15c03..ccadf68adfcc0896d6c712dff82abaff7e506984 100644 (file)
@@ -1,3 +1,8 @@
+2018-09-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * reg-stack.c (subst_asm_stack_regs): Call replace_reg also
+       for clobbers.  Remove obsolete comment.
+
 2018-09-11  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (define_attr "type"): Remove mpxmov, mpxmk,
index 0f1b6d52f01ebe403f1e4ba1478ebcb36a97a836..d97a358e3f8ee39fb3e54a981b4a628f61705916 100644 (file)
@@ -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.  */