diff options
author | DJ Delorie <dj@redhat.com> | 2014-06-11 17:06:31 -0400 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2014-06-11 17:06:31 -0400 |
commit | 1cf1574dc98ce820b13858a0e0b9669f790316a4 (patch) | |
tree | 63775b4471191de52df4c1fbbaa227e74b4f57c8 /gcc | |
parent | 1704a72b46c0cccc9e257781a826d57c1cf37db9 (diff) | |
download | gcc-1cf1574dc98ce820b13858a0e0b9669f790316a4.zip gcc-1cf1574dc98ce820b13858a0e0b9669f790316a4.tar.gz gcc-1cf1574dc98ce820b13858a0e0b9669f790316a4.tar.bz2 |
rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte cache lines.
* config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
cache lines.
* config/rx/rx.c (rx_option_override): Likewise.
(rx_align_for_label): Likewise.
From-SVN: r211481
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rx/rx.c | 12 | ||||
-rw-r--r-- | gcc/config/rx/rx.h | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec2ee1d..f394ca4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2014-06-11 DJ Delorie <dj@redhat.com> + * config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte + cache lines. + * config/rx/rx.c (rx_option_override): Likewise. + (rx_align_for_label): Likewise. + * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os. 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com> diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c index d04e652..2a525f3 100644 --- a/gcc/config/rx/rx.c +++ b/gcc/config/rx/rx.c @@ -2792,11 +2792,11 @@ rx_option_override (void) rx_override_options_after_change (); if (align_jumps == 0 && ! optimize_size) - align_jumps = 3; + align_jumps = ((rx_cpu_type == RX100 || rx_cpu_type == RX200) ? 2 : 3); if (align_loops == 0 && ! optimize_size) - align_loops = 3; + align_loops = ((rx_cpu_type == RX100 || rx_cpu_type == RX200) ? 2 : 3); if (align_labels == 0 && ! optimize_size) - align_labels = 3; + align_labels = ((rx_cpu_type == RX100 || rx_cpu_type == RX200) ? 2 : 3); } @@ -3201,7 +3201,11 @@ rx_align_for_label (rtx lab, int uses_threshold) if (LABEL_P (lab) && LABEL_NUSES (lab) < uses_threshold) return 0; - return optimize_size ? 1 : 3; + if (optimize_size) + return 0; + if (rx_cpu_type == RX100 || rx_cpu_type == RX200) + return 2; + return 2; } static int diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h index d99b19a..209518c 100644 --- a/gcc/config/rx/rx.h +++ b/gcc/config/rx/rx.h @@ -142,7 +142,7 @@ /* RX load/store instructions can handle unaligned addresses. */ #define STRICT_ALIGNMENT 0 -#define FUNCTION_BOUNDARY 8 +#define FUNCTION_BOUNDARY ((rx_cpu_type == RX100 || rx_cpu_type == RX200) ? 4 : 8) #define BIGGEST_ALIGNMENT 32 #define STACK_BOUNDARY 32 #define PARM_BOUNDARY 8 |