aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-04-10 17:22:02 +0000
committerYufeng Zhang <yufeng@gcc.gnu.org>2013-04-10 17:22:02 +0000
commit95ca411e0437d9954a40a2134bba237b1f2ef0fc (patch)
tree85847b09c0bd7b8f111d3acc16531750ab01f95a /gcc/config
parent6782438df72d659f7ea62b40c274ca95b8a1ea54 (diff)
downloadgcc-95ca411e0437d9954a40a2134bba237b1f2ef0fc.zip
gcc-95ca411e0437d9954a40a2134bba237b1f2ef0fc.tar.gz
gcc-95ca411e0437d9954a40a2134bba237b1f2ef0fc.tar.bz2
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/aarch64/aarch64.c22
1 files changed, 20 insertions, 2 deletions
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();
}