Hi,

This patch deal with the -falign-X=0 options. According to man pages,
if zero is specified, a machine-dependent default value should be used.
But in fact, zero was used in internal process, it is inconsistent.

Tested on aarch64-linux cross compiler, Is that OK?

BTW, the similar problems exists in other target sources.
I can submit them all in another patch if needed,
but I can test on i386 target only.

Regards!
Hujp

---
 gcc/config/aarch64/aarch64.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 17dbe673978..697ac676f4d 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -14221,11 +14221,14 @@ aarch64_override_options_after_change_1 (struct 
gcc_options *opts)
      alignment to what the target wants.  */
   if (!opts->x_optimize_size)
     {
-      if (opts->x_flag_align_loops && !opts->x_str_align_loops)
+      if ((opts->x_flag_align_loops && !opts->x_str_align_loops)
+        || (opts->x_str_align_loops && strcmp(opts->x_str_align_loops, "0") == 
0))
        opts->x_str_align_loops = aarch64_tune_params.loop_align;
-      if (opts->x_flag_align_jumps && !opts->x_str_align_jumps)
+      if ((opts->x_flag_align_jumps && !opts->x_str_align_jumps)
+        || (opts->x_str_align_jumps && strcmp(opts->x_str_align_jumps, "0") == 
0))
        opts->x_str_align_jumps = aarch64_tune_params.jump_align;
-      if (opts->x_flag_align_functions && !opts->x_str_align_functions)
+      if ((opts->x_flag_align_functions && !opts->x_str_align_functions)
+        || (opts->x_str_align_functions && strcmp(opts->x_str_align_functions, 
"0") == 0))
        opts->x_str_align_functions = aarch64_tune_params.function_align;
     }
 
-- 
2.17.1



Reply via email to