aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c22
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();
}