diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 22 |
2 files changed, 25 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9bee5e..3c281b4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-10 Yufeng Zhang <yufeng.zhang@arm.com> + + * config/aarch64/aarch64.c (aarch64_print_extension): New function. + (aarch64_start_file): Use the new function. + 2013-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> Jason Merrill <jason@redhat.com> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 827b8df..49016c1 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -7080,12 +7080,30 @@ aarch64_split_atomic_op (enum rtx_code code, rtx old_out, rtx new_out, rtx mem, } static void +aarch64_print_extension (void) +{ + const struct aarch64_option_extension *opt = NULL; + + for (opt = all_extensions; opt->name != NULL; opt++) + if ((aarch64_isa_flags & opt->flags_on) == opt->flags_on) + asm_fprintf (asm_out_file, "+%s", opt->name); + + asm_fprintf (asm_out_file, "\n"); +} + +static void aarch64_start_file (void) { if (selected_arch) - asm_fprintf (asm_out_file, "\t.arch %s\n", selected_arch->name); + { + asm_fprintf (asm_out_file, "\t.arch %s", selected_arch->name); + aarch64_print_extension (); + } else if (selected_cpu) - asm_fprintf (asm_out_file, "\t.cpu %s\n", selected_cpu->name); + { + asm_fprintf (asm_out_file, "\t.cpu %s", selected_cpu->name); + aarch64_print_extension (); + } default_file_start(); } |