aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-11-18 17:23:33 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2013-11-18 17:23:33 +0000
commitc9fb6e581486573e4eb9b73dd9036cc5e4c3e9f7 (patch)
tree034f78788583f36d841922c17fb6f8ed3417ec77 /gas
parentbaa2af86d4ca17a82a02b581ab5150587ef955f8 (diff)
downloadgdb-c9fb6e581486573e4eb9b73dd9036cc5e4c3e9f7.zip
gdb-c9fb6e581486573e4eb9b73dd9036cc5e4c3e9f7.tar.gz
gdb-c9fb6e581486573e4eb9b73dd9036cc5e4c3e9f7.tar.bz2
Add support for armv7ve to gas.
gas/ * config/tc-arm.c (arm_archs): New armv7ve architecture option. (arm_cpus): Replace ARM_ARCH_V7A_IDIV_MP_SEC_VIRT with ARM_ARCH_V7VE for cortex-a7, cortex-a12 and cortex-a15. (cpu_arch_ver): Likewise. * doc/c-arm.texi: Document armv7ve. gas/testsuite/ * gas/arm/attr-march-armv7ve.d: New test case for armv7ve. include/opcode/ * arm.h (ARM_AEXT_V7VE): New define. (ARM_ARCH_V7VE): New define. (ARM_ARCH_V7A_IDIV_MP_SEC_VIRT): Removed.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-arm.c12
-rw-r--r--gas/doc/c-arm.texi1
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/arm/attr-march-armv7ve.d17
5 files changed, 37 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index da64a28..af9b771 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2013-11-18 Renlin Li <Renlin.Li@arm.com>
+
+ * config/tc-arm.c (arm_archs): New armv7ve architecture option.
+ (arm_cpus): Replace ARM_ARCH_V7A_IDIV_MP_SEC_VIRT with
+ ARM_ARCH_V7VE for cortex-a7, cortex-a12 and cortex-a15.
+ (cpu_arch_ver): Likewise.
+ * doc/c-arm.texi: Document armv7ve.
+
2013-11-18 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/tc-aarch64.c (parse_sys_reg): Support
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index f97c307..08b5ea2 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -23997,8 +23997,7 @@ static const struct arm_cpu_option_table arm_cpus[] =
ARM_CPU_OPT ("arm1176jzf-s", ARM_ARCH_V6ZK, FPU_ARCH_VFP_V2, NULL),
ARM_CPU_OPT ("cortex-a5", ARM_ARCH_V7A_MP_SEC,
FPU_NONE, "Cortex-A5"),
- ARM_CPU_OPT ("cortex-a7", ARM_ARCH_V7A_IDIV_MP_SEC_VIRT,
- FPU_ARCH_NEON_VFP_V4,
+ ARM_CPU_OPT ("cortex-a7", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4,
"Cortex-A7"),
ARM_CPU_OPT ("cortex-a8", ARM_ARCH_V7A_SEC,
ARM_FEATURE (0, FPU_VFP_V3
@@ -24008,11 +24007,9 @@ static const struct arm_cpu_option_table arm_cpus[] =
ARM_FEATURE (0, FPU_VFP_V3
| FPU_NEON_EXT_V1),
"Cortex-A9"),
- ARM_CPU_OPT ("cortex-a12", ARM_ARCH_V7A_IDIV_MP_SEC_VIRT,
- FPU_ARCH_NEON_VFP_V4,
+ ARM_CPU_OPT ("cortex-a12", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4,
"Cortex-A12"),
- ARM_CPU_OPT ("cortex-a15", ARM_ARCH_V7A_IDIV_MP_SEC_VIRT,
- FPU_ARCH_NEON_VFP_V4,
+ ARM_CPU_OPT ("cortex-a15", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4,
"Cortex-A15"),
ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
"Cortex-A53"),
@@ -24093,6 +24090,7 @@ static const struct arm_arch_option_table arm_archs[] =
/* The official spelling of the ARMv7 profile variants is the dashed form.
Accept the non-dashed form for compatibility with old toolchains. */
ARM_ARCH_OPT ("armv7a", ARM_ARCH_V7A, FPU_ARCH_VFP),
+ ARM_ARCH_OPT ("armv7ve", ARM_ARCH_V7VE, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv7r", ARM_ARCH_V7R, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv7m", ARM_ARCH_V7M, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv7-a", ARM_ARCH_V7A, FPU_ARCH_VFP),
@@ -24672,7 +24670,7 @@ static const cpu_arch_ver_table cpu_arch_ver[] =
{11, ARM_ARCH_V6M},
{12, ARM_ARCH_V6SM},
{8, ARM_ARCH_V6T2},
- {10, ARM_ARCH_V7A_IDIV_MP_SEC_VIRT},
+ {10, ARM_ARCH_V7VE},
{10, ARM_ARCH_V7R},
{10, ARM_ARCH_V7M},
{14, ARM_ARCH_V8A},
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 37756a0..b4b2d95 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -200,6 +200,7 @@ names are recognized:
@code{armv6s-m},
@code{armv7},
@code{armv7-a},
+@code{armv7ve},
@code{armv7-r},
@code{armv7-m},
@code{armv7e-m},
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index f2912bb..174ca8e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,7 +1,11 @@
+2013-11-18 Renlin Li <Renlin.Li@arm.com>
+
+ * gas/arm/attr-march-armv7ve.d: New test case for armv7ve.
+
2013-11-18 Zhenqiang Chen <zhenqiang.chen@linaro.org>
- * gas/testsuite/sysreg.s: Add test.
- * gas/testsuite/sysreg.d: Update.
+ * gas/aarch64/sysreg.s: Add test.
+ * gas/aarch64/sysreg.d: Update.
2013-11-18 Yufeng Zhang <yufeng.zhang@arm.com>
diff --git a/gas/testsuite/gas/arm/attr-march-armv7ve.d b/gas/testsuite/gas/arm/attr-march-armv7ve.d
new file mode 100644
index 0000000..604183f
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-march-armv7ve.d
@@ -0,0 +1,17 @@
+# name: attributes for -march=armv7ve
+# source: blank.s
+# as: -march=armv7ve
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_CPU_name: "7VE"
+ Tag_CPU_arch: v7
+ Tag_CPU_arch_profile: Application
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-2
+ Tag_MPextension_use: Allowed
+ Tag_DIV_use: Allowed in v7-A with integer division extension
+ Tag_Virtualization_use: TrustZone and Virtualization Extensions