aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@redhat.com>2002-06-10 20:00:54 +0000
committerEric Christopher <echristo@gcc.gnu.org>2002-06-10 20:00:54 +0000
commitfce5a9f29b556fbc6db108b645269f7729011859 (patch)
tree04e0304c0ee695567294eac5c7637f7676a842a9
parente9f095867aed709d0ce9b6e4ee8067ab86da822f (diff)
downloadgcc-fce5a9f29b556fbc6db108b645269f7729011859.zip
gcc-fce5a9f29b556fbc6db108b645269f7729011859.tar.gz
gcc-fce5a9f29b556fbc6db108b645269f7729011859.tar.bz2
i386.c (ix86_osf_output_function_prologue): Remove prototype and function.
2002-06-10 Eric Christopher <echristo@redhat.com> * config/i386/i386.c (ix86_osf_output_function_prologue): Remove prototype and function. (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version. (call_insn_operand): Remove half pic references. (legitimate_address_p): Ditto. * config/i386/i386.h: Remove half pic defines. From-SVN: r54451
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/i386.c177
-rw-r--r--gcc/config/i386/i386.h64
3 files changed, 63 insertions, 187 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96c9402..66b9e1a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2002-06-10 Eric Christopher <echristo@redhat.com>
+ * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
+ prototype and function.
+ (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
+ (call_insn_operand): Remove half pic references.
+ (legitimate_address_p): Ditto.
+ * config/i386/i386.h: Remove half pic defines.
+
+2002-06-10 Eric Christopher <echristo@redhat.com>
+
* doc/extend.texi (Return Address): Add note explaining the side-
effects of inlining on __builtin_return_address.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b5ca28f..d64521d 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA. */
#endif
/* Processor costs (relative to an add) */
-static const
+static const
struct processor_costs size_cost = { /* costs for tunning for size */
2, /* cost of an add instruction */
3, /* cost of a lea instruction */
@@ -86,7 +86,7 @@ struct processor_costs size_cost = { /* costs for tunning for size */
0, /* number of parallel prefetches */
};
/* Processor costs (relative to an add) */
-static const
+static const
struct processor_costs i386_cost = { /* 386 specific costs */
1, /* cost of an add instruction */
1, /* cost of a lea instruction */
@@ -123,7 +123,7 @@ struct processor_costs i386_cost = { /* 386 specific costs */
0, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs i486_cost = { /* 486 specific costs */
1, /* cost of an add instruction */
1, /* cost of a lea instruction */
@@ -160,7 +160,7 @@ struct processor_costs i486_cost = { /* 486 specific costs */
0, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs pentium_cost = {
1, /* cost of an add instruction */
1, /* cost of a lea instruction */
@@ -197,7 +197,7 @@ struct processor_costs pentium_cost = {
0, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs pentiumpro_cost = {
1, /* cost of an add instruction */
1, /* cost of a lea instruction */
@@ -234,7 +234,7 @@ struct processor_costs pentiumpro_cost = {
6, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs k6_cost = {
1, /* cost of an add instruction */
2, /* cost of a lea instruction */
@@ -271,7 +271,7 @@ struct processor_costs k6_cost = {
1, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs athlon_cost = {
1, /* cost of an add instruction */
2, /* cost of a lea instruction */
@@ -308,7 +308,7 @@ struct processor_costs athlon_cost = {
6, /* number of parallel prefetches */
};
-static const
+static const
struct processor_costs pentium4_cost = {
1, /* cost of an add instruction */
1, /* cost of a lea instruction */
@@ -801,12 +801,6 @@ static enum x86_64_reg_class merge_classes PARAMS ((enum x86_64_reg_class,
#undef TARGET_EXPAND_BUILTIN
#define TARGET_EXPAND_BUILTIN ix86_expand_builtin
-#if defined (OSF_OS) || defined (TARGET_OSF1ELF)
- static void ix86_osf_output_function_prologue PARAMS ((FILE *,
- HOST_WIDE_INT));
-# undef TARGET_ASM_FUNCTION_PROLOGUE
-# define TARGET_ASM_FUNCTION_PROLOGUE ix86_osf_output_function_prologue
-#endif
#undef TARGET_ASM_FUNCTION_EPILOGUE
#define TARGET_ASM_FUNCTION_EPILOGUE ix86_output_function_epilogue
@@ -841,7 +835,7 @@ static enum x86_64_reg_class merge_classes PARAMS ((enum x86_64_reg_class,
#define TARGET_SCHED_INIT ix86_sched_init
#undef TARGET_SCHED_REORDER
#define TARGET_SCHED_REORDER ix86_sched_reorder
-#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE
+#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE
#define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE \
ia32_use_dfa_pipeline_interface
#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
@@ -1040,7 +1034,7 @@ override_options ()
/* Arrange to set up i386_stack_locals for all functions. */
init_machine_status = ix86_init_machine_status;
-
+
/* Validate -mregparm= value. */
if (ix86_regparm_string)
{
@@ -1208,7 +1202,7 @@ override_options ()
else
ix86_fpmath = FPMATH_SSE | FPMATH_387;
}
- else
+ else
error ("bad value (%s) for -mfpmath= switch", ix86_fpmath_string);
}
@@ -1354,105 +1348,6 @@ ix86_handle_regparm_attribute (node, name, args, flags, no_add_attrs)
return NULL_TREE;
}
-#if defined (OSF_OS) || defined (TARGET_OSF1ELF)
-
-/* Generate the assembly code for function entry. FILE is a stdio
- stream to output the code to. SIZE is an int: how many units of
- temporary storage to allocate.
-
- Refer to the array `regs_ever_live' to determine which registers to
- save; `regs_ever_live[I]' is nonzero if register number I is ever
- used in the function. This function is responsible for knowing
- which registers should not be saved even if used.
-
- We override it here to allow for the new profiling code to go before
- the prologue and the old mcount code to go after the prologue (and
- after %ebx has been set up for ELF shared library support). */
-
-static void
-ix86_osf_output_function_prologue (file, size)
- FILE *file;
- HOST_WIDE_INT size;
-{
- const char *prefix = "";
- const char *const lprefix = LPREFIX;
- int labelno = current_function_profile_label_no;
-
-#ifdef OSF_OS
-
- if (TARGET_UNDERSCORES)
- prefix = "_";
-
- if (current_function_profile && OSF_PROFILE_BEFORE_PROLOGUE)
- {
- if (!flag_pic && !HALF_PIC_P ())
- {
- fprintf (file, "\tmovl $%sP%d,%%edx\n", lprefix, labelno);
- fprintf (file, "\tcall *%s_mcount_ptr\n", prefix);
- }
-
- else if (HALF_PIC_P ())
- {
- rtx symref;
-
- HALF_PIC_EXTERNAL ("_mcount_ptr");
- symref = HALF_PIC_PTR (gen_rtx_SYMBOL_REF (Pmode,
- "_mcount_ptr"));
-
- fprintf (file, "\tmovl $%sP%d,%%edx\n", lprefix, labelno);
- fprintf (file, "\tmovl %s%s,%%eax\n", prefix,
- XSTR (symref, 0));
- fprintf (file, "\tcall *(%%eax)\n");
- }
-
- else
- {
- static int call_no = 0;
-
- fprintf (file, "\tcall %sPc%d\n", lprefix, call_no);
- fprintf (file, "%sPc%d:\tpopl %%eax\n", lprefix, call_no);
- fprintf (file, "\taddl $_GLOBAL_OFFSET_TABLE_+[.-%sPc%d],%%eax\n",
- lprefix, call_no++);
- fprintf (file, "\tleal %sP%d@GOTOFF(%%eax),%%edx\n",
- lprefix, labelno);
- fprintf (file, "\tmovl %s_mcount_ptr@GOT(%%eax),%%eax\n",
- prefix);
- fprintf (file, "\tcall *(%%eax)\n");
- }
- }
-
-#else /* !OSF_OS */
-
- if (current_function_profile && OSF_PROFILE_BEFORE_PROLOGUE)
- {
- if (!flag_pic)
- {
- fprintf (file, "\tmovl $%sP%d,%%edx\n", lprefix, labelno);
- fprintf (file, "\tcall *%s_mcount_ptr\n", prefix);
- }
-
- else
- {
- static int call_no = 0;
-
- fprintf (file, "\tcall %sPc%d\n", lprefix, call_no);
- fprintf (file, "%sPc%d:\tpopl %%eax\n", lprefix, call_no);
- fprintf (file, "\taddl $_GLOBAL_OFFSET_TABLE_+[.-%sPc%d],%%eax\n",
- lprefix, call_no++);
- fprintf (file, "\tleal %sP%d@GOTOFF(%%eax),%%edx\n",
- lprefix, labelno);
- fprintf (file, "\tmovl %s_mcount_ptr@GOT(%%eax),%%eax\n",
- prefix);
- fprintf (file, "\tcall *(%%eax)\n");
- }
- }
-#endif /* !OSF_OS */
-
- function_prologue (file, size);
-}
-
-#endif /* OSF_OS || TARGET_OSF1ELF */
-
/* Return 0 if the attributes for two types are incompatible, 1 if they
are compatible, and 2 if they are nearly compatible (which causes a
warning to be generated). */
@@ -2403,9 +2298,9 @@ ix86_build_va_list ()
record = (*lang_hooks.types.make_type) (RECORD_TYPE);
type_decl = build_decl (TYPE_DECL, get_identifier ("__va_list_tag"), record);
- f_gpr = build_decl (FIELD_DECL, get_identifier ("gp_offset"),
+ f_gpr = build_decl (FIELD_DECL, get_identifier ("gp_offset"),
unsigned_type_node);
- f_fpr = build_decl (FIELD_DECL, get_identifier ("fp_offset"),
+ f_fpr = build_decl (FIELD_DECL, get_identifier ("fp_offset"),
unsigned_type_node);
f_ovf = build_decl (FIELD_DECL, get_identifier ("overflow_arg_area"),
ptr_type_node);
@@ -2431,7 +2326,7 @@ ix86_build_va_list ()
}
/* Perform any needed actions needed for a function that is receiving a
- variable number of arguments.
+ variable number of arguments.
CUM is as above.
@@ -2999,7 +2894,7 @@ pic_symbolic_operand (op, mode)
if (GET_CODE (XEXP (op, 0)) == UNSPEC)
return 1;
}
- else
+ else
{
if (GET_CODE (op) == UNSPEC)
return 1;
@@ -3037,7 +2932,7 @@ local_symbolic_operand (op, mode)
return 1;
/* There is, however, a not insubstantial body of code in the rest of
- the compiler that assumes it can just stick the results of
+ the compiler that assumes it can just stick the results of
ASM_GENERATE_INTERNAL_LABEL in a symbol_ref and have done. */
/* ??? This is a hack. Should update the body of the compiler to
always create a DECL an invoke targetm.encode_section_info. */
@@ -3139,11 +3034,6 @@ call_insn_operand (op, mode)
if (GET_CODE (op) == SYMBOL_REF)
return 1;
- /* Half-pic doesn't allow anything but registers and constants.
- We've just taken care of the later. */
- if (HALF_PIC_P ())
- return register_operand (op, Pmode);
-
/* Otherwise we can allow any general_operand in the address. */
return general_operand (op, Pmode);
}
@@ -4099,7 +3989,7 @@ ix86_select_alt_pic_regnum ()
return INVALID_REGNUM;
}
-
+
/* Return 1 if we need to save REGNO. */
static int
ix86_save_reg (regno, maybe_eh_return)
@@ -4965,7 +4855,7 @@ constant_address_p (x)
}
/* Nonzero if the constant value X is a legitimate general operand
- when generating PIC code. It is given that flag_pic is on and
+ when generating PIC code. It is given that flag_pic is on and
that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
bool
@@ -5080,7 +4970,7 @@ legitimate_pic_address_disp_p (disp)
return false;
return local_dynamic_symbolic_operand (XVECEXP (disp, 0, 0), Pmode);
}
-
+
return 0;
}
@@ -5291,15 +5181,6 @@ legitimate_address_p (mode, addr, strict)
that never results in lea, this seems to be easier and
correct fix for crash to disable this test. */
}
- else if (HALF_PIC_P ())
- {
- if (! HALF_PIC_ADDRESS_P (disp)
- || (base != NULL_RTX || index != NULL_RTX))
- {
- reason = "displacement is an invalid half-pic reference";
- goto report_error;
- }
- }
else if (!CONSTANT_ADDRESS_P (disp))
{
reason = "displacement is not constant";
@@ -5582,7 +5463,7 @@ get_thread_pointer ()
return tp;
}
-
+
/* Try machine-dependent ways of modifying an illegitimate address
to be legitimate. If we find one, return the new, valid address.
This macro is used in only one place: `memory_address' in explow.c.
@@ -6528,7 +6409,7 @@ print_operand (file, x, code)
/* Like above, but reverse condition */
case 'c':
- /* Check to see if argument to %c is really a constant
+ /* Check to see if argument to %c is really a constant
and not a condition code which needs to be reversed. */
if (GET_RTX_CLASS (GET_CODE (x)) != '<')
{
@@ -7565,7 +7446,7 @@ ix86_expand_vector_move (mode, operands)
}
emit_insn (gen_rtx_SET (VOIDmode, operands[0], operands[1]));
-}
+}
/* Attempt to expand a binary operator. Make the expansion closer to the
actual machine, then just general_operand, which will allow 3 separate
@@ -8430,7 +8311,7 @@ ix86_expand_branch (code, label)
code = ix86_prepare_fp_compare_args (code, &ix86_compare_op0,
&ix86_compare_op1);
-
+
ix86_fp_comparison_codes (code, &bypass_code, &first_code, &second_code);
/* Check whether we will use the natural sequence with one jump. If
@@ -10626,7 +10507,7 @@ ix86_expand_call (retval, fnaddr, callarg1, callarg2, pop)
if (use)
CALL_INSN_FUNCTION_USAGE (call) = use;
}
-
+
/* Clear stack slot assignments remembered from previous functions.
This is called from INIT_EXPANDERS once before RTL is emitted for each
@@ -11214,7 +11095,7 @@ ix86_sched_reorder (dump, sched_verbose, ready, n_readyp, clock_var)
int n_ready = *n_readyp;
rtx *e_ready = ready + n_ready - 1;
- /* Make sure to go ahead and initialize key items in
+ /* Make sure to go ahead and initialize key items in
ix86_sched_data if we are not going to bother trying to
reorder the ready queue. */
if (n_ready < 2)
@@ -12689,7 +12570,7 @@ ix86_expand_binop_builtin (icode, arglist, target)
return target;
}
-/* In type_for_mode we restrict the ability to create TImode types
+/* In type_for_mode we restrict the ability to create TImode types
to hosts with 64-bit H_W_I. So we've defined the SSE logicals
to have a V4SFmode signature. Convert them in-place to TImode. */
@@ -12819,11 +12700,11 @@ ix86_expand_unop1_builtin (icode, arglist, target)
if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
-
+
op1 = op0;
if (! (*insn_data[icode].operand[2].predicate) (op1, mode0))
op1 = copy_to_mode_reg (mode0, op1);
-
+
pat = GEN_FCN (icode) (target, op0, op1);
if (! pat)
return 0;
@@ -13820,7 +13701,7 @@ x86_order_regs_for_local_alloc ()
if (!TARGET_SSE_MATH)
for (i = FIRST_STACK_REG; i <= LAST_STACK_REG; i++)
reg_alloc_order [pos++] = i;
-
+
/* SSE registers. */
for (i = FIRST_SSE_REG; i <= LAST_SSE_REG; i++)
reg_alloc_order [pos++] = i;
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 0064adf..12e9bc2 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -34,20 +34,6 @@ Boston, MA 02111-1307, USA. */
ADDR_BEG, ADDR_END, PRINT_IREG, PRINT_SCALE, PRINT_B_I_S, and many
that start with ASM_ or end in ASM_OP. */
-/* Stubs for half-pic support if not OSF/1 reference platform. */
-
-#ifndef HALF_PIC_P
-#define HALF_PIC_P() 0
-#define HALF_PIC_NUMBER_PTRS 0
-#define HALF_PIC_NUMBER_REFS 0
-#define HALF_PIC_ENCODE(DECL)
-#define HALF_PIC_DECLARE(NAME)
-#define HALF_PIC_INIT() error ("half-pic init called on systems that don't support it")
-#define HALF_PIC_ADDRESS_P(X) 0
-#define HALF_PIC_PTR(X) (X)
-#define HALF_PIC_FINISH(STREAM)
-#endif
-
/* Define the specific costs for a given cpu */
struct processor_costs {
@@ -140,7 +126,7 @@ extern int target_flags;
/* Compile using ret insn that pops args.
This will not work unless you use prototypes at least
- for all functions that can take varying numbers of args. */
+ for all functions that can take varying numbers of args. */
#define TARGET_RTD (target_flags & MASK_RTD)
/* Align doubles to a two word boundary. This breaks compatibility with
@@ -712,7 +698,7 @@ extern int x86_prefetch_sse;
and all fundamental data types supported by the hardware
might need to be aligned. No data type wants to be aligned
rounder than this.
-
+
Pentium+ preferrs DFmode values to be aligned to 64 bit boundary
and Pentium Pro XFmode values at 128 bit boundaries. */
@@ -826,7 +812,7 @@ extern int x86_prefetch_sse;
/* 1 for registers that have pervasive standard uses
and are not available for the register allocator.
On the 80386, the stack pointer is such, as is the arg pointer.
-
+
The value is an mask - bit 1 is set for fixed registers
for 32bit target, while 2 is set for fixed registers for 64bit.
Proper value is computed in the CONDITIONAL_REGISTER_USAGE.
@@ -844,15 +830,15 @@ extern int x86_prefetch_sse;
1, 1, 1, 1, 1, 1, 1, 1, \
/*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \
1, 1, 1, 1, 1, 1, 1, 1}
-
+
/* 1 for registers not available across function calls.
These must include the FIXED_REGISTERS and also any
registers that can be used without being saved.
The latter must include the registers where values are returned
and the register where structure-value addresses are passed.
- Aside from that, you can include as many other registers as you like.
-
+ Aside from that, you can include as many other registers as you like.
+
The value is an mask - bit 1 is set for call used
for 32bit target, while 2 is set for call used for 64bit.
Proper value is computed in the CONDITIONAL_REGISTER_USAGE.
@@ -938,7 +924,7 @@ do { \
This is ordinarily the length in words of a value of mode MODE
but can be less for certain modes in special long registers.
- Actually there are no two word move instructions for consecutive
+ Actually there are no two word move instructions for consecutive
registers. And only registers 0-3 may have mov byte instructions
applied to them.
*/
@@ -1051,7 +1037,7 @@ do { \
#define FIRST_SSE_REG (FRAME_POINTER_REGNUM + 1)
#define LAST_SSE_REG (FIRST_SSE_REG + 7)
-
+
#define FIRST_MMX_REG (LAST_SSE_REG + 1)
#define LAST_MMX_REG (FIRST_MMX_REG + 7)
@@ -1087,7 +1073,7 @@ do { \
/* Register to hold the addressing base for position independent
code access to data items. We don't use PIC pointer for 64bit
mode. Define the regnum to dummy value to prevent gcc from
- pessimizing code dealing with EBX.
+ pessimizing code dealing with EBX.
To avoid clobbering a call-saved register unnecessarily, we renumber
the pic register when possible. The change is visible after the
@@ -1300,7 +1286,7 @@ enum reg_class
#define MMX_REGNO_P(N) ((N) >= FIRST_MMX_REG && (N) <= LAST_MMX_REG)
#define MMX_REG_P(XOP) (REG_P (XOP) && MMX_REGNO_P (REGNO (XOP)))
-
+
#define STACK_REG_P(XOP) \
(REG_P (XOP) && \
REGNO (XOP) >= FIRST_STACK_REG && \
@@ -1431,7 +1417,7 @@ enum reg_class
ix86_secondary_memory_needed ((CLASS1), (CLASS2), (MODE), 1)
/* QImode spills from non-QI registers need a scratch. This does not
- happen often -- the only example so far requires an uninitialized
+ happen often -- the only example so far requires an uninitialized
pseudo. */
#define SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, OUT) \
@@ -1478,7 +1464,7 @@ enum reg_class
|| ((CLASS) == DIREG))
/* A C statement that adds to CLOBBERS any hard regs the port wishes
- to automatically clobber for all asms.
+ to automatically clobber for all asms.
We do this in the new i386 backend to maintain source compatibility
with the old cc0-based compiler. */
@@ -1516,7 +1502,7 @@ enum reg_class
On 386 pushw decrements by exactly 2 no matter what the position was.
On the 386 there is no pushb; we use pushw instead, and this
has the effect of rounding up to 2.
-
+
For 64bit ABI we round up to 8 bytes.
*/
@@ -1737,7 +1723,7 @@ do { \
the stack pointer does not matter. The value is tested only in
functions that have frame pointers.
No definition is equivalent to always zero. */
-/* Note on the 386 it might be more efficient not to define this since
+/* Note on the 386 it might be more efficient not to define this since
we have to restore it ourselves from the frame pointer, in order to
use pop */
@@ -1956,7 +1942,7 @@ do { \
#define REWRITE_ADDRESS(X) rewrite_address (X)
/* Nonzero if the constant value X is a legitimate general operand
- when generating PIC code. It is given that flag_pic is on and
+ when generating PIC code. It is given that flag_pic is on and
that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X)
@@ -2146,7 +2132,7 @@ enum ix86_builtins
IX86_BUILTIN_RSQRTSS,
IX86_BUILTIN_SQRTPS,
IX86_BUILTIN_SQRTSS,
-
+
IX86_BUILTIN_UNPCKHPS,
IX86_BUILTIN_UNPCKLPS,
@@ -2519,7 +2505,7 @@ do { \
precise value of the constant, which is available for examination
in X, and the rtx code of the expression in which it is contained,
found in OUTER_CODE.
-
+
CODE is the expression code--redundant, since it can be obtained
with `GET_CODE (X)'. */
@@ -2851,8 +2837,8 @@ do { \
/* Add any extra modes needed to represent the condition code.
For the i386, we need separate modes when floating-point
- equality comparisons are being done.
-
+ equality comparisons are being done.
+
Add CCNO to indicate comparisons against zero that requires
Overflow flag to be unset. Sign bit test is used instead and
thus can be used to form "a&b>0" type of tests.
@@ -2911,7 +2897,7 @@ do { \
For float regs, the stack top is sometimes referred to as "%st(0)"
instead of just "%st". PRINT_REG handles this with the "y" code. */
-#undef HI_REGISTER_NAMES
+#undef HI_REGISTER_NAMES
#define HI_REGISTER_NAMES \
{"ax","dx","cx","bx","si","di","bp","sp", \
"st","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)","", \
@@ -2961,7 +2947,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
/* Before the prologue, RA is at 0(%esp). */
#define INCOMING_RETURN_ADDR_RTX \
gen_rtx_MEM (VOIDmode, gen_rtx_REG (VOIDmode, STACK_POINTER_REGNUM))
-
+
/* After the prologue, RA is at -4(AP) in the current frame. */
#define RETURN_ADDR_RTX(COUNT, FRAME) \
((COUNT) == 0 \
@@ -3034,7 +3020,7 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER];
#define JUMP_TABLES_IN_TEXT_SECTION \
(!TARGET_64BIT && flag_pic && !HAVE_AS_GOTOFF_IN_DATA)
-/* A C statement that outputs an address constant appropriate to
+/* A C statement that outputs an address constant appropriate to
for DWARF debugging. */
#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE, X) \
@@ -3291,7 +3277,7 @@ extern const char *ix86_asm_string;
extern enum asm_dialect ix86_asm_dialect;
extern int ix86_regparm;
-extern const char *ix86_regparm_string;
+extern const char *ix86_regparm_string;
extern int ix86_preferred_stack_boundary;
extern const char *ix86_preferred_stack_boundary_string;
@@ -3319,12 +3305,12 @@ extern rtx ix86_compare_op1; /* operand 1 for comparisons */
redundant computation of new control word by the mode switching pass.
The fldcw instructions are still emitted redundantly, but this is probably
not going to be noticeable problem, as most CPUs do have fast path for
- the sequence.
+ the sequence.
The machinery is to emit simple truncation instructions and split them
before reload to instructions having USEs of two memory locations that
are filled by this code to old and new control word.
-
+
Post-reload pass may be later used to eliminate the redundant fildcw if
needed. */