aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1994-10-19 13:43:04 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1994-10-19 13:43:04 +0000
commit8ecf187aa4fe6202558a387dd5a809a1313f7a78 (patch)
treebff6ed61c67fe7023b9efabe20dac0e82891517b /gcc
parent1cf5eda8f8068fa76217e87a7e14b656f5061d12 (diff)
downloadgcc-8ecf187aa4fe6202558a387dd5a809a1313f7a78.zip
gcc-8ecf187aa4fe6202558a387dd5a809a1313f7a78.tar.gz
gcc-8ecf187aa4fe6202558a387dd5a809a1313f7a78.tar.bz2
Do not preserve eax for -fpic in FUNCTION_BLOCK_PROFILER since it is call clobbered.
From-SVN: r8313
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index e5fd7e4..c11aaa2 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -913,7 +913,7 @@ enum reg_class
do \
{ \
static int num_func = 0; \
- rtx xops[9]; \
+ rtx xops[8]; \
char block_table[80], false_label[80]; \
\
ASM_GENERATE_INTERNAL_LABEL (block_table, "LPBX", 0); \
@@ -927,7 +927,6 @@ do \
xops[5] = stack_pointer_rtx; \
xops[6] = GEN_INT (4); \
xops[7] = gen_rtx (REG, Pmode, 0); /* eax */ \
- xops[8] = gen_rtx (MEM, SImode, stack_pointer_rtx); \
\
CONSTANT_POOL_ADDRESS_P (xops[1]) = TRUE; \
CONSTANT_POOL_ADDRESS_P (xops[2]) = TRUE; \
@@ -939,9 +938,8 @@ do \
output_asm_insn (AS1(push%L1,%1), xops); \
else \
{ \
- output_asm_insn (AS1 (push%L7,%7), xops); \
output_asm_insn (AS2 (lea%L7,%a1,%7), xops); \
- output_asm_insn (AS2 (xchg%L7,%8,%7), xops); \
+ output_asm_insn (AS1 (push%L7,%7), xops); \
} \
\
output_asm_insn (AS1(call,%P3), xops); \