From: Jakub Jelinek Date: Mon, 14 Oct 2002 21:24:25 +0000 (+0200) Subject: i386.h (ASM_OUTPUT_REG_PUSH, [...]): Handle TARGET_64BIT. X-Git-Tag: releases/gcc-3.2.1~162 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7b3c2f4ae8ff9462e506494f954cbb4c5b12c08;p=thirdparty%2Fgcc.git i386.h (ASM_OUTPUT_REG_PUSH, [...]): Handle TARGET_64BIT. * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Handle TARGET_64BIT. * gcc.dg/20021014-1.c: New test. From-SVN: r58138 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aaa3abfb40e7..7f6c7fb2a1c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-10-14 Jakub Jelinek + + * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): + Handle TARGET_64BIT. + 2002-10-14 Mark Mitchell PR optimization/6631 diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 58d2c4331eae..8fd2e6539d54 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -2878,13 +2878,25 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER]; It need not be very fast code. */ #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \ - asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]) +do { \ + if (TARGET_64BIT) \ + asm_fprintf ((FILE), "\tpush{q}\t%%r%s\n", \ + reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \ + else \ + asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]); \ +} while (0) /* This is how to output an insn to pop a register from the stack. It need not be very fast code. */ #define ASM_OUTPUT_REG_POP(FILE, REGNO) \ - asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]) +do { \ + if (TARGET_64BIT) \ + asm_fprintf ((FILE), "\tpop{q}\t%%r%s\n", \ + reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \ + else \ + asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]); \ +} while (0) /* This is how to output an element of a case-vector that is absolute. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d0d2b431d542..14653d32cdeb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-10-14 Jakub Jelinek + + * gcc.dg/20021014-1.c: New test. + 2002-10-14 Mark Mitchell PR optimization/6631