+2015-05-06 Christian Bruel <christian.bruel@st.com>
+
+ PR target/66015
+ * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
+ align_jumps, align_functions into aarch64_override_options_after_change.
+
2015-05-06 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_supported_load_permutation_p): Use
#endif
}
- /* If not opzimizing for size, set the default
- alignment to what the target wants */
- if (!optimize_size)
- {
- if (align_loops <= 0)
- align_loops = aarch64_tune_params->loop_align;
- if (align_jumps <= 0)
- align_jumps = aarch64_tune_params->jump_align;
- if (align_functions <= 0)
- align_functions = aarch64_tune_params->function_align;
- }
-
if (AARCH64_TUNE_FMA_STEERING)
aarch64_register_fma_steering ();
flag_omit_leaf_frame_pointer = false;
else if (flag_omit_leaf_frame_pointer)
flag_omit_frame_pointer = true;
+
+ /* If not optimizing for size, set the default
+ alignment to what the target wants */
+ if (!optimize_size)
+ {
+ if (align_loops <= 0)
+ align_loops = aarch64_tune_params->loop_align;
+ if (align_jumps <= 0)
+ align_jumps = aarch64_tune_params->jump_align;
+ if (align_functions <= 0)
+ align_functions = aarch64_tune_params->function_align;
+ }
}
static struct machine_function *
+2015-05-06 Christian Bruel <christian.bruel@st.com>
+
+ PR target/66015
+ * gcc.target/aarch64/iinline-attr-1.c: New test.
+
2015-05-06 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/bb-slp-34.c: New testcase.
--- /dev/null
+/* Verify that alignment flags are set when attribute __optimize is used. */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+extern void non_existent(int);
+
+__attribute__ ((__optimize__ ("O2")))
+static void hooray ()
+{
+ non_existent (1);
+}
+
+__attribute__ ((__optimize__ ("O2")))
+static void hiphip (void (*f)())
+{
+ non_existent (2);
+ f ();
+}
+
+__attribute__ ((__optimize__ ("O2")))
+int test (void)
+{
+ hiphip (hooray);
+ return 0;
+}
+
+/* { dg-final { scan-assembler "p2align" } } */
+
+