aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-08-09 20:51:08 +0000
committerStan Cox <coxs@gnu.org>1996-08-09 20:51:08 +0000
commit66050251ac75220c6a7fe0eb7f003bc979e6f261 (patch)
tree11e8bf0189603925dff94ab37fdab13f1fe99eb3 /gcc
parent3d5c883bbf7334aa4a9edd8ab7b0057a02f11f4b (diff)
downloadgcc-66050251ac75220c6a7fe0eb7f003bc979e6f261.zip
gcc-66050251ac75220c6a7fe0eb7f003bc979e6f261.tar.gz
gcc-66050251ac75220c6a7fe0eb7f003bc979e6f261.tar.bz2
(output_float_compare): Don't try to initialize aggregate local variable; use assignment statements instead.
From-SVN: r12609
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 9ce6f26..f56f0d9 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1844,10 +1844,12 @@ while (0)
HOST_WIDE_INT value = INTVAL (XEXP (X, 1)); \
\
if (value == 1) \
- return COSTS_N_INSNS (ix86_cost->add) + rtx_cost(XEXP (X, 0));\
+ return COSTS_N_INSNS (ix86_cost->add) \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
\
if (value == 2 || value == 3) \
- return COSTS_N_INSNS (ix86_cost->lea) + rtx_cost(XEXP (X, 0));\
+ return COSTS_N_INSNS (ix86_cost->lea) \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
} \
/* fall through */ \
\
@@ -1865,12 +1867,12 @@ while (0)
return ((GET_CODE (XEXP (X, 1)) == AND \
? COSTS_N_INSNS(ix86_cost->shift_var * 2) \
: COSTS_N_INSNS(ix86_cost->shift_var * 6 + 2)) \
- + rtx_cost(XEXP (X, 0))); \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE)); \
} \
return COSTS_N_INSNS (GET_CODE (XEXP (X, 1)) == CONST_INT \
? ix86_cost->shift_const \
: ix86_cost->shift_var) \
- + rtx_cost(XEXP (X, 0)); \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
\
case MULT: \
if (GET_CODE (XEXP (X, 1)) == CONST_INT) \
@@ -1879,10 +1881,11 @@ while (0)
int nbits = 0; \
\
if (value == 2) \
- return COSTS_N_INSNS (ix86_cost->add) + rtx_cost(XEXP (X, 0));\
- \
+ return COSTS_N_INSNS (ix86_cost->add) \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
if (value == 4 || value == 8) \
- return COSTS_N_INSNS (ix86_cost->lea) + rtx_cost(XEXP (X, 0));\
+ return COSTS_N_INSNS (ix86_cost->lea) \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
\
while (value != 0) \
{ \
@@ -1892,11 +1895,11 @@ while (0)
\
if (nbits == 1) \
return COSTS_N_INSNS (ix86_cost->shift_const) \
- + rtx_cost(XEXP (X, 0)); \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
\
return COSTS_N_INSNS (ix86_cost->mult_init \
+ nbits * ix86_cost->mult_bit) \
- + rtx_cost(XEXP (X, 0)); \
+ + rtx_cost(XEXP (X, 0), OUTER_CODE); \
} \
\
else /* This is arbitrary */ \
@@ -1922,8 +1925,10 @@ while (0)
case MINUS: \
if (GET_MODE (X) == DImode) \
return COSTS_N_INSNS (ix86_cost->add) * 2 \
- + (rtx_cost (XEXP (X, 0)) << (GET_MODE (XEXP (X, 0)) != DImode))\
- + (rtx_cost (XEXP (X, 1)) << (GET_MODE (XEXP (X, 1)) != DImode));\
+ + (rtx_cost (XEXP (X, 0), OUTER_CODE) \
+ << (GET_MODE (XEXP (X, 0)) != DImode)) \
+ + (rtx_cost (XEXP (X, 1), OUTER_CODE) \
+ << (GET_MODE (XEXP (X, 1)) != DImode)); \
case NEG: \
case NOT: \
if (GET_MODE (X) == DImode) \