diff options
author | David Edelsohn <edelsohn@gnu.org> | 2004-08-27 18:29:52 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2004-08-27 14:29:52 -0400 |
commit | 1494c5345d46b90b685bb310d99fef3a52ad23c3 (patch) | |
tree | 8f90c67ff3ca012057d91ec7c43c1b1acf1c19c3 /gcc/config/rs6000 | |
parent | 50bc768da122bde65bc31bf4054f29603893455a (diff) | |
download | gcc-1494c5345d46b90b685bb310d99fef3a52ad23c3.zip gcc-1494c5345d46b90b685bb310d99fef3a52ad23c3.tar.gz gcc-1494c5345d46b90b685bb310d99fef3a52ad23c3.tar.bz2 |
rs6000.c (rs6000_override_options): Increase maximum skip to 15.
* config/rs6000/rs6000.c (rs6000_override_options): Increase
maximum skip to 15. Set function alignment, jump alignment, and
loop alignment to 16 for processors that form dispatch groups.
(rs6000_rtx_costs): Outer code is used.
From-SVN: r86670
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 49fe3ba..0ec9c57 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1429,9 +1429,23 @@ rs6000_override_options (const char *default_cpu) targetm.asm_out.unaligned_op.di = NULL; } - /* Set maximum branch target alignment at two instructions, eight bytes. */ - align_jumps_max_skip = 8; - align_loops_max_skip = 8; + /* Set branch target alignment, if not optimizing for size. */ + if (!optimize_size) + { + if (rs6000_sched_groups) + { + if (align_functions <= 0) + align_functions = 16; + if (align_jumps <= 0) + align_jumps = 16; + if (align_loops <= 0) + align_loops = 16; + } + if (align_jumps_max_skip <= 0) + align_jumps_max_skip = 15; + if (align_loops_max_skip <= 0) + align_loops_max_skip = 15; + } /* Arrange to save and restore machine status around nested functions. */ init_machine_status = rs6000_init_machine_status; @@ -17070,8 +17084,7 @@ rs6000_binds_local_p (tree decl) scanned. In either case, *TOTAL contains the cost result. */ static bool -rs6000_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, - int *total) +rs6000_rtx_costs (rtx x, int code, int outer_code, int *total) { enum machine_mode mode = GET_MODE (x); |