From: Uros Bizjak Date: Thu, 30 Nov 2006 10:57:34 +0000 (+0100) Subject: i386.md (R10_REG): New constant. X-Git-Tag: releases/gcc-4.3.0~8210 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c4ace25d7f3d08c0c080ec0bf4d90cd403989a7;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a5419e9f779..e12b3ff77b17 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 0e172dbf286f..fa1a1e64e00a 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 e6a3d7b973f6..a4be7e1ef2dc 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) ])