diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2006-11-30 11:57:34 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2006-11-30 11:57:34 +0100 |
commit | 3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7 (patch) | |
tree | 7496b1040b99fa3310eb7f131d4e15f0e4db4e9c /gcc | |
parent | ac3768f69a29b98a3db963b3cc17cc1d721572d8 (diff) | |
download | gcc-3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7.zip gcc-3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7.tar.gz gcc-3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7.tar.bz2 |
i386.md (R10_REG): New constant.
* config/i386/i386.md (R10_REG): New constant.
* config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG.
(ix86_emit_restore_regs_using_mov): Ditto.
(ix86_expand_call): Ditto.
(x86_output_mi_thunk): Ditto. Also use R10_REG.
From-SVN: r119360
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 12 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 1 |
3 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a5419e..e12b3ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-11-30 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (R10_REG): New constant. + * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG. + (ix86_emit_restore_regs_using_mov): Ditto. + (ix86_expand_call): Ditto. + (x86_output_mi_thunk): Ditto. Also use R10_REG. + 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> * cselib.c (cselib_init): Use special MEM rtx form for callmem. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 0e172db..fa1a1e6 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5581,7 +5581,7 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset, int style) shouldn't be used together with huge frame sizes in one function because of the frame_size check in sibcall.c. */ gcc_assert (style); - r11 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */); + r11 = gen_rtx_REG (DImode, R11_REG); insn = emit_insn (gen_rtx_SET (DImode, r11, offset)); if (style < 0) RTX_FRAME_RELATED_P (insn) = 1; @@ -5838,7 +5838,7 @@ ix86_emit_restore_regs_using_mov (rtx pointer, HOST_WIDE_INT offset, { rtx r11; - r11 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */); + r11 = gen_rtx_REG (DImode, R11_REG); emit_move_insn (r11, GEN_INT (offset)); emit_insn (gen_adddi3 (r11, r11, pointer)); base_address = gen_rtx_MEM (Pmode, r11); @@ -14417,7 +14417,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1, { rtx addr; addr = copy_to_mode_reg (Pmode, XEXP (fnaddr, 0)); - fnaddr = gen_rtx_REG (Pmode, FIRST_REX_INT_REG + 3 /* R11 */); + fnaddr = gen_rtx_REG (Pmode, R11_REG); emit_move_insn (fnaddr, addr); fnaddr = gen_rtx_MEM (QImode, fnaddr); } @@ -18762,7 +18762,7 @@ x86_output_mi_thunk (FILE *file ATTRIBUTE_UNUSED, { if (!x86_64_general_operand (xops[0], DImode)) { - tmp = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 2 /* R10 */); + tmp = gen_rtx_REG (DImode, R10_REG); xops[1] = tmp; output_asm_insn ("mov{q}\t{%1, %0|%0, %1}", xops); xops[0] = tmp; @@ -18778,7 +18778,7 @@ x86_output_mi_thunk (FILE *file ATTRIBUTE_UNUSED, if (vcall_offset) { if (TARGET_64BIT) - tmp = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 2 /* R10 */); + tmp = gen_rtx_REG (DImode, R10_REG); else { int tmp_regno = 2 /* ECX */; @@ -18799,7 +18799,7 @@ x86_output_mi_thunk (FILE *file ATTRIBUTE_UNUSED, xops[0] = gen_rtx_MEM (Pmode, plus_constant (tmp, vcall_offset)); if (TARGET_64BIT && !memory_operand (xops[0], Pmode)) { - rtx tmp2 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */); + rtx tmp2 = gen_rtx_REG (DImode, R11_REG); xops[0] = GEN_INT (vcall_offset); xops[1] = tmp2; output_asm_insn ("mov{q}\t{%0, %1|%1, %0}", xops); diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index e6a3d7b..a4be7e1 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -181,6 +181,7 @@ (FPSR_REG 18) (FPCR_REG 19) (DIRFLAG_REG 20) + (R10_REG 40) (R11_REG 41) ]) |