From 95ca411e0437d9954a40a2134bba237b1f2ef0fc Mon Sep 17 00:00:00 2001 From: Yufeng Zhang Date: Wed, 10 Apr 2013 17:22:02 +0000 Subject: [PATCH] aarch64.c (aarch64_print_extension): New function. * config/aarch64/aarch64.c (aarch64_print_extension): New function. (aarch64_start_file): Use the new function. From-SVN: r197677 --- gcc/ChangeLog | 5 +++++ gcc/config/aarch64/aarch64.c | 22 ++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9bee5e91f1..3c281b4c876 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-10 Yufeng Zhang + + * config/aarch64/aarch64.c (aarch64_print_extension): New function. + (aarch64_start_file): Use the new function. + 2013-04-10 Senthil Kumar Selvaraj Jason Merrill diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 827b8dfba82..49016c10adf 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -7079,13 +7079,31 @@ aarch64_split_atomic_op (enum rtx_code code, rtx old_out, rtx new_out, rtx mem, aarch64_emit_unlikely_jump (gen_rtx_SET (VOIDmode, pc_rtx, x)); } +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(); } -- 2.30.2