diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reg-stack.c | 8 |
2 files changed, 6 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5bd898..ccadf68a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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, mpxchk, mpxld and mpxst types. (define_attr length_immediate): Remove all processing of mpx types. diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 0f1b6d5..d97a358 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. */ |