Commit 3e18fdf6 by Geoffrey Keating Committed by Geoffrey Keating

invoke.texi (i386 Options): Delete references to -malign-jumps, -malign-loops, -malign-functions.

	* invoke.texi (i386 Options): Delete references to -malign-jumps,
	-malign-loops, -malign-functions.
	* i386.c (ix86_align_funcs): Delete.
	(ix86_align_loops): Delete.
	(ix86_align_jumps): Delete.
	(override_options): Mark -malign-* as obsolete.  Emulate their
	behaviour with the -falign-* options.  Default -falign-* from
	the processor table.
	* i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
	patch of Wed May 2 13:09:36 2001.
	(LOOP_ALIGN): Delete.
	(LOOP_ALIGN_MAX_SKIP): Delete.
	(LABEL_ALIGN_AFTER_BARRIER): Delete.
	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.

From-SVN: r41825
parent 8e9eff6b
2001-05-03 Geoff Keating <geoffk@redhat.com>
* invoke.texi (i386 Options): Delete references to -malign-jumps,
-malign-loops, -malign-functions.
* i386.c (ix86_align_funcs): Delete.
(ix86_align_loops): Delete.
(ix86_align_jumps): Delete.
(override_options): Mark -malign-* as obsolete. Emulate their
behaviour with the -falign-* options. Default -falign-* from
the processor table.
* i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
patch of Wed May 2 13:09:36 2001.
(LOOP_ALIGN): Delete.
(LOOP_ALIGN_MAX_SKIP): Delete.
(LABEL_ALIGN_AFTER_BARRIER): Delete.
(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
2001-05-04 Andreas Jaeger <aj@suse.de> 2001-05-04 Andreas Jaeger <aj@suse.de>
* except.h: Add prototype declaration for * except.h: Add prototype declaration for
......
...@@ -532,15 +532,8 @@ int ix86_branch_cost; ...@@ -532,15 +532,8 @@ int ix86_branch_cost;
const char *ix86_branch_cost_string; const char *ix86_branch_cost_string;
/* Power of two alignment for functions. */ /* Power of two alignment for functions. */
int ix86_align_funcs;
const char *ix86_align_funcs_string; const char *ix86_align_funcs_string;
/* Power of two alignment for loops. */
int ix86_align_loops;
/* Power of two alignment for non-loop jumps. */
int ix86_align_jumps;
static void output_pic_addr_const PARAMS ((FILE *, rtx, int)); static void output_pic_addr_const PARAMS ((FILE *, rtx, int));
static void put_condition_code PARAMS ((enum rtx_code, enum machine_mode, static void put_condition_code PARAMS ((enum rtx_code, enum machine_mode,
int, int, FILE *)); int, int, FILE *));
...@@ -751,40 +744,57 @@ override_options () ...@@ -751,40 +744,57 @@ override_options ()
if (TARGET_64BIT) if (TARGET_64BIT)
ix86_regparm = REGPARM_MAX; ix86_regparm = REGPARM_MAX;
/* Validate -malign-loops= value, or provide default. */ /* If the user has provided any of the -malign-* options,
ix86_align_loops = processor_target_table[ix86_cpu].align_loop; warn and use that value only if -falign-* is not set.
Remove this code in GCC 3.2 or later. */
if (ix86_align_loops_string) if (ix86_align_loops_string)
{ {
warning ("-malign-loops is obsolete, use -falign-loops");
if (align_loops == 0)
{
i = atoi (ix86_align_loops_string); i = atoi (ix86_align_loops_string);
if (i < 0 || i > MAX_CODE_ALIGN) if (i < 0 || i > MAX_CODE_ALIGN)
error ("-malign-loops=%d is not between 0 and %d", i, MAX_CODE_ALIGN); error ("-malign-loops=%d is not between 0 and %d", i, MAX_CODE_ALIGN);
else else
ix86_align_loops = i; align_loops = 1 << i;
}
} }
/* Validate -malign-jumps= value, or provide default. */
ix86_align_jumps = processor_target_table[ix86_cpu].align_jump;
if (ix86_align_jumps_string) if (ix86_align_jumps_string)
{ {
warning ("-malign-jumps is obsolete, use -falign-jumps");
if (align_jumps == 0)
{
i = atoi (ix86_align_jumps_string); i = atoi (ix86_align_jumps_string);
if (i < 0 || i > MAX_CODE_ALIGN) if (i < 0 || i > MAX_CODE_ALIGN)
error ("-malign-jumps=%d is not between 0 and %d", i, MAX_CODE_ALIGN); error ("-malign-loops=%d is not between 0 and %d", i, MAX_CODE_ALIGN);
else else
ix86_align_jumps = i; align_jumps = 1 << i;
}
} }
/* Validate -malign-functions= value, or provide default. */
ix86_align_funcs = processor_target_table[ix86_cpu].align_func;
if (ix86_align_funcs_string) if (ix86_align_funcs_string)
{ {
warning ("-malign-functions is obsolete, use -falign-functions");
if (align_functions == 0)
{
i = atoi (ix86_align_funcs_string); i = atoi (ix86_align_funcs_string);
if (i < 0 || i > MAX_CODE_ALIGN) if (i < 0 || i > MAX_CODE_ALIGN)
error ("-malign-functions=%d is not between 0 and %d", error ("-malign-loops=%d is not between 0 and %d", i, MAX_CODE_ALIGN);
i, MAX_CODE_ALIGN);
else else
ix86_align_funcs = i; align_functions = 1 << i;
}
} }
/* Default align_* from the processor table. */
#define abs(n) (n < 0 ? -n : n)
if (align_loops == 0)
align_loops = 1 << abs (processor_target_table[ix86_cpu].align_loop);
if (align_jumps == 0)
align_jumps = 1 << abs (processor_target_table[ix86_cpu].align_jump);
if (align_functions == 0)
align_functions = 1 << abs (processor_target_table[ix86_cpu].align_func);
/* Validate -mpreferred-stack-boundary= value, or provide default. /* Validate -mpreferred-stack-boundary= value, or provide default.
The default of 128 bits is for Pentium III's SSE __m128. */ The default of 128 bits is for Pentium III's SSE __m128. */
ix86_preferred_stack_boundary = 128; ix86_preferred_stack_boundary = 128;
......
...@@ -587,10 +587,7 @@ extern int ix86_arch; ...@@ -587,10 +587,7 @@ extern int ix86_arch;
#define PREFERRED_STACK_BOUNDARY ix86_preferred_stack_boundary #define PREFERRED_STACK_BOUNDARY ix86_preferred_stack_boundary
/* Allocation boundary for the code of a function. */ /* Allocation boundary for the code of a function. */
#define FUNCTION_BOUNDARY \ #define FUNCTION_BOUNDARY 16
((unsigned int) 1 << ((ix86_align_funcs >= 0 \
? ix86_align_funcs : -ix86_align_funcs) \
+ 3))
/* Alignment of field after `int : 0' in a structure. */ /* Alignment of field after `int : 0' in a structure. */
...@@ -601,7 +598,7 @@ extern int ix86_arch; ...@@ -601,7 +598,7 @@ extern int ix86_arch;
might need to be aligned. No data type wants to be aligned might need to be aligned. No data type wants to be aligned
rounder than this. rounder than this.
Pentium+ preferrs DFmode values to be alignmed to 64 bit boundary Pentium+ preferrs DFmode values to be aligned to 64 bit boundary
and Pentium Pro XFmode values at 128 bit boundaries. */ and Pentium Pro XFmode values at 128 bit boundaries. */
#define BIGGEST_ALIGNMENT 128 #define BIGGEST_ALIGNMENT 128
...@@ -671,18 +668,6 @@ extern int ix86_arch; ...@@ -671,18 +668,6 @@ extern int ix86_arch;
/* Required on the 386 since it doesn't have bitfield insns. */ /* Required on the 386 since it doesn't have bitfield insns. */
#define PCC_BITFIELD_TYPE_MATTERS 1 #define PCC_BITFIELD_TYPE_MATTERS 1
/* Align loop starts for optimal branching. */
#define LOOP_ALIGN(LABEL) \
(ix86_align_loops < 0 ? -ix86_align_loops : ix86_align_loops)
#define LOOP_ALIGN_MAX_SKIP \
(ix86_align_loops < -3 ? (1<<(-ix86_align_loops-1))-1 : 0)
/* This is how to align an instruction for optimal branching. */
#define LABEL_ALIGN_AFTER_BARRIER(LABEL) \
(ix86_align_jumps < 0 ? -ix86_align_jumps : ix86_align_jumps)
#define LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP \
(ix86_align_jumps < -3 ? (1<<(-ix86_align_jumps-1))-1 : 0)
/* Standard register usage. */ /* Standard register usage. */
/* This processor has special stack-like registers. See reg-stack.c /* This processor has special stack-like registers. See reg-stack.c
...@@ -3138,9 +3123,6 @@ extern const char *ix86_align_funcs_string; /* power of two alignment for functi ...@@ -3138,9 +3123,6 @@ extern const char *ix86_align_funcs_string; /* power of two alignment for functi
extern const char *ix86_preferred_stack_boundary_string;/* power of two alignment for stack boundary */ extern const char *ix86_preferred_stack_boundary_string;/* power of two alignment for stack boundary */
extern const char *ix86_branch_cost_string; /* values 1-5: see jump.c */ extern const char *ix86_branch_cost_string; /* values 1-5: see jump.c */
extern int ix86_regparm; /* ix86_regparm_string as a number */ extern int ix86_regparm; /* ix86_regparm_string as a number */
extern int ix86_align_loops; /* power of two alignment for loops */
extern int ix86_align_jumps; /* power of two alignment for non-loop jumps */
extern int ix86_align_funcs; /* power of two alignment for functions */
extern int ix86_preferred_stack_boundary; /* preferred stack boundary alignment in bits */ extern int ix86_preferred_stack_boundary; /* preferred stack boundary alignment in bits */
extern int ix86_branch_cost; /* values 1-5: see jump.c */ extern int ix86_branch_cost; /* values 1-5: see jump.c */
extern const char * const hi_reg_name[]; /* names for 16 bit regs */ extern const char * const hi_reg_name[]; /* names for 16 bit regs */
......
...@@ -470,8 +470,7 @@ in the following sections. ...@@ -470,8 +470,7 @@ in the following sections.
-mintel-syntax -mieee-fp -mno-fancy-math-387 @gol -mintel-syntax -mieee-fp -mno-fancy-math-387 @gol
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol -mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol
-mno-wide-multiply -mrtd -malign-double @gol -mno-wide-multiply -mrtd -malign-double @gol
-malign-jumps=@var{num} -malign-loops=@var{num} @gol -mpreferred-stack-boundary=@var{num} @gol
-malign-functions=@var{num} -mpreferred-stack-boundary=@var{num} @gol
-mthreads -mno-align-stringops -minline-all-stringops @gol -mthreads -mno-align-stringops -minline-all-stringops @gol
-mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol -mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol
-m96bit-long-double -mregparm=@var{num}} -m96bit-long-double -mregparm=@var{num}}
...@@ -6865,26 +6864,6 @@ function by using the function attribute @samp{regparm}. ...@@ -6865,26 +6864,6 @@ function by using the function attribute @samp{regparm}.
value, including any libraries. This includes the system libraries and value, including any libraries. This includes the system libraries and
startup modules. startup modules.
@item -malign-loops=@var{num}
Align loops to a 2 raised to a @var{num} byte boundary. If
@samp{-malign-loops} is not specified, the default is 2 unless
gas 2.8 (or later) is being used in which case the default is
to align the loop on a 16 byte boundary if it is less than 8
bytes away.
@item -malign-jumps=@var{num}
Align instructions that are only jumped to to a 2 raised to a @var{num}
byte boundary. If @samp{-malign-jumps} is not specified, the default is
2 if optimizing for a 386, and 4 if optimizing for a 486 unless
gas 2.8 (or later) is being used in which case the default is
to align the instruction on a 16 byte boundary if it is less
than 8 bytes away.
@item -malign-functions=@var{num}
Align the start of functions to a 2 raised to @var{num} byte boundary.
If @samp{-malign-functions} is not specified, the default is 2 if optimizing
for a 386, and 4 if optimizing for a 486.
@item -mpreferred-stack-boundary=@var{num} @item -mpreferred-stack-boundary=@var{num}
Attempt to keep the stack boundary aligned to a 2 raised to @var{num} Attempt to keep the stack boundary aligned to a 2 raised to @var{num}
byte boundary. If @samp{-mpreferred-stack-boundary} is not specified, byte boundary. If @samp{-mpreferred-stack-boundary} is not specified,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment