aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-12-11 09:30:26 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-12-11 09:30:26 +0000
commit73af8ed6b107040eb7488f6ec122cd05d5e2e903 (patch)
treef1f43c3270846015cbd025e7314033f288689877
parent9343aa2bf070409716ae15f300bb2aa06eaf71c6 (diff)
downloadgdb-73af8ed6b107040eb7488f6ec122cd05d5e2e903.zip
gdb-73af8ed6b107040eb7488f6ec122cd05d5e2e903.tar.gz
gdb-73af8ed6b107040eb7488f6ec122cd05d5e2e903.tar.bz2
[AArch64][Patch 1/5] Support the ARMv8.2 Statistical Profiling Extension.
The Statistical Profile extension included in the ARMv8.2 architecture adds a number of system registers and a new instruction. This patch set adds support for the extension to binutils, enabled when -march=armv8.2-a+profile is given. The patches in this series: - Add the new command line option and feature flags. - Add the new system registers. - Adjust the maximum number of aliases permitted for an instruction. - Add support for HINT aliases which take operands. - Add the new instruction, an alias of the HINT instruction. This patch adds the option "profile" to the permitted architecture extensions, disabling it by default. gas/ 2015-12-11 Matthew Wahab <matthew.wahab@arm.com> * config/tc-aarch64.c (aarch64_features): Add "profile". * doc/c-aarch64.texi (AArch64 Extensions): Add "profile". include/opcode/ 2015-12-11 Matthew Wahab <matthew.wahab@arm.com> * aarch64.h (AARCH64_FEATURE_PROFILE): New. Change-Id: If9bb4a9b69a264180f96f8ffaf10b15ced273699
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-aarch64.c1
-rw-r--r--gas/doc/c-aarch64.texi2
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/aarch64.h1
5 files changed, 13 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index aa6454e..2fcad8e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-11 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-aarch64.c (aarch64_features): Add "profile".
+ * doc/c-aarch64.texi (AArch64 Extensions): Add "profile".
+
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* config/tc-aarch64.c (parse_sys_ins_reg): Add check of
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index bb2f228..2f115ec 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7744,6 +7744,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
| AARCH64_FEATURE_RDMA, 0)},
{"fp16", AARCH64_FEATURE (AARCH64_FEATURE_F16
| AARCH64_FEATURE_FP, 0)},
+ {"profile", AARCH64_FEATURE (AARCH64_FEATURE_PROFILE, 0)},
{NULL, AARCH64_ARCH_NONE}
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 363366a..cba768d 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -145,6 +145,8 @@ automatically cause those extensions to be disabled.
@item @code{fp16} @tab ARMv8.2-A @tab ARMv8.2-A or later
@tab Enable ARMv8.2 16-bit floating-point support. This implies
@code{fp}.
+@item @code{profile} @tab ARMv8.2-A @tab No
+ @tab Enable statistical profiling extensions.
@end multitable
@node AArch64 Syntax
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 0a186e8..c4c4784 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2015-12-11 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_FEATURE_PROFILE): New.
+
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (aarch64_sys_ins_reg_supported_p): Declare.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 7477066..27509dad 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -50,6 +50,7 @@ typedef uint32_t aarch64_insn;
#define AARCH64_FEATURE_V8_1 0x01000000 /* v8.1 features. */
#define AARCH64_FEATURE_F16 0x02000000 /* v8.2 FP16 instructions. */
#define AARCH64_FEATURE_RAS 0x04000000 /* RAS Extensions. */
+#define AARCH64_FEATURE_PROFILE 0x08000000 /* Statistical Profiling. */
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \