aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2015-10-04 16:09:23 +0200
committerUros Bizjak <uros@gcc.gnu.org>2015-10-04 16:09:23 +0200
commitbeabed99977d3b905ea304a8049a7891574f158f (patch)
treed65873224d7131c363bf3ba8536adcafc29944a1 /gcc
parent51daf35866a68b9c082f90bafd45d5a307257ab4 (diff)
downloadgcc-beabed99977d3b905ea304a8049a7891574f158f.zip
gcc-beabed99977d3b905ea304a8049a7891574f158f.tar.gz
gcc-beabed99977d3b905ea304a8049a7891574f158f.tar.bz2
i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.
* 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. From-SVN: r228460
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/i386.c14
2 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1b57eea..4ba93a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+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.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f5c9657..9c4cfbd 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -11083,7 +11083,7 @@ ix86_nsaved_regs (void)
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;
}
@@ -11493,7 +11493,7 @@ ix86_emit_save_regs (void)
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;
@@ -11573,7 +11573,7 @@ ix86_emit_save_regs_using_mov (HOST_WIDE_INT cfa_offset)
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;
@@ -11591,7 +11591,7 @@ ix86_emit_save_sse_regs_using_mov (HOST_WIDE_INT cfa_offset)
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);
}
}
@@ -12991,7 +12991,7 @@ ix86_emit_restore_regs_using_pop (void)
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));
}
@@ -13034,7 +13034,7 @@ ix86_emit_restore_regs_using_mov (HOST_WIDE_INT cfa_offset,
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;
@@ -13085,7 +13085,7 @@ ix86_emit_restore_sse_regs_using_mov (HOST_WIDE_INT cfa_offset,
ix86_add_cfa_restore_note (NULL, reg, cfa_offset);
- cfa_offset -= 16;
+ cfa_offset -= GET_MODE_SIZE (V4SFmode);
}
}