===================================================================
@@ -139,13 +139,13 @@
#endif
#define DEFAULT_SIGNED_CHAR 0
/* 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
#define STACK_GROWS_DOWNWARD 1
#define FRAME_GROWS_DOWNWARD 0
===================================================================
@@ -2789,17 +2789,17 @@ rx_option_override (void)
if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2))
flag_strict_volatile_bitfields = 1;
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);
}
static bool
rx_allocate_stack_slots_for_args (void)
{
@@ -3198,13 +3198,17 @@ rx_align_for_label (rtx lab, int uses_th
because the delay due to the inserted NOPs would be greater than the delay
due to the misaligned branch. If uses_threshold is zero then the alignment
is always useful. */
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
rx_max_skip_for_label (rtx lab)
{
int opsize;