+2015-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
+ check for general register.
+ (ix86_emit_save_regs): Ditto.
+ (ix86_emit_save_regs_using_mov): Ditto.
+ (ix86_emit_restore_regs_using_pop): Ditto.
+ (ix86_emit_restore_regs_using_mov): Ditto.
+
2015-10-03 Marek Polacek <polacek@redhat.com>
* Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
int regno;
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true))
+ if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true))
nregs ++;
return nregs;
}
rtx_insn *insn;
for (regno = FIRST_PSEUDO_REGISTER - 1; regno-- > 0; )
- if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true))
+ if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true))
{
insn = emit_insn (gen_push (gen_rtx_REG (word_mode, regno)));
RTX_FRAME_RELATED_P (insn) = 1;
unsigned int regno;
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true))
+ if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, true))
{
ix86_emit_save_reg_using_mov (word_mode, regno, cfa_offset);
cfa_offset -= UNITS_PER_WORD;
if (SSE_REGNO_P (regno) && ix86_save_reg (regno, true))
{
ix86_emit_save_reg_using_mov (V4SFmode, regno, cfa_offset);
- cfa_offset -= 16;
+ cfa_offset -= GET_MODE_SIZE (V4SFmode);
}
}
unsigned int regno;
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, false))
+ if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, false))
ix86_emit_restore_reg_using_pop (gen_rtx_REG (word_mode, regno));
}
unsigned int regno;
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, maybe_eh_return))
+ if (GENERAL_REGNO_P (regno) && ix86_save_reg (regno, maybe_eh_return))
{
rtx reg = gen_rtx_REG (word_mode, regno);
rtx mem;
ix86_add_cfa_restore_note (NULL, reg, cfa_offset);
- cfa_offset -= 16;
+ cfa_offset -= GET_MODE_SIZE (V4SFmode);
}
}