From 3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 30 Nov 2006 11:57:34 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 8 ++++++++ gcc/config/i386/i386.c | 12 ++++++------ gcc/config/i386/i386.md | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a5419e9f77..e12b3ff77b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-11-30 Uros Bizjak + + * 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 * 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 0e172dbf286..fa1a1e64e00 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 e6a3d7b973f..a4be7e1ef2d 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) ])