From 4d1464f294405a064d84e3d4f15c1ceff3639add Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Tue, 7 Jun 2016 09:56:42 +0100 Subject: [ARM] Add command line option for RAS extension. This patch adds the architecture extension "+ras" to enable RAS support. It is enabled by default for -march=armv8.2-a and available but disabled by default for armv8-a and armv8.1-a. gas/ * config/tc-arm.c (arm_ext_v8_2): Rename to arm_ext_ras. (arm_ext_ras): Renamed from arm_ext_v8_2. (insns): Update for arm_ext_v8_2 renaming. (arm_extensions): Add "ras". * doc/c-arm.texi (ARM Options): Add an entry for "ras". * testsuite/gas/arm/armv8-a+ras.d: New. * testsuite/gas/arm/armv8_2-a.d: Add explicit command line options. include/ * opcode/arm.h (ARM_EXT2_RAS): New. Also align preceding entries. (ARM_AEXT_V8_2A): Add ARM_EXT2_RAS. opcodes/ * arm-dis.c (arm_opcodes): Replace ARM_EXT_V8_2A with ARM_EXT_RAS in relevant entries. --- gas/testsuite/gas/arm/armv8-a+ras.d | 55 +++++++++++++++++++++++++++++++++++++ gas/testsuite/gas/arm/armv8_2-a.d | 1 + 2 files changed, 56 insertions(+) create mode 100644 gas/testsuite/gas/arm/armv8-a+ras.d (limited to 'gas/testsuite') diff --git a/gas/testsuite/gas/arm/armv8-a+ras.d b/gas/testsuite/gas/arm/armv8-a+ras.d new file mode 100644 index 0000000..b6a4e45 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8-a+ras.d @@ -0,0 +1,55 @@ +#name: ARMv8-A RAS +#as: -march=armv8-a+ras +#source: armv8_2-a.s +#objdump: -dr +#skip: *-*-pe *-wince-* *-*-coff + + +.*: +file format .*arm.* + +Disassembly of section .text: + +[0-9a-f]+ <.*>: + [0-9a-f]+: e320f010 esb + +[0-9a-f]+ <.*>: + [0-9a-f]+: f3af 8010 esb + +[0-9a-f]+ <.*>: + [0-9a-f]+: ee100f11 mrc 15, 0, r0, cr0, cr1, \{0\} + [0-9a-f]+: ee100fd2 mrc 15, 0, r0, cr0, cr2, \{6\} + [0-9a-f]+: ee150f13 mrc 15, 0, r0, cr5, cr3, \{0\} + [0-9a-f]+: ee150f33 mrc 15, 0, r0, cr5, cr3, \{1\} + [0-9a-f]+: ee051f33 mcr 15, 0, r1, cr5, cr3, \{1\} + [0-9a-f]+: ee150f14 mrc 15, 0, r0, cr5, cr4, \{0\} + [0-9a-f]+: ee150f34 mrc 15, 0, r0, cr5, cr4, \{1\} + [0-9a-f]+: ee051f34 mcr 15, 0, r1, cr5, cr4, \{1\} + [0-9a-f]+: ee150f54 mrc 15, 0, r0, cr5, cr4, \{2\} + [0-9a-f]+: ee051f54 mcr 15, 0, r1, cr5, cr4, \{2\} + [0-9a-f]+: ee150f74 mrc 15, 0, r0, cr5, cr4, \{3\} + [0-9a-f]+: ee051f74 mcr 15, 0, r1, cr5, cr4, \{3\} + [0-9a-f]+: ee150f94 mrc 15, 0, r0, cr5, cr4, \{4\} + [0-9a-f]+: ee150fb4 mrc 15, 0, r0, cr5, cr4, \{5\} + [0-9a-f]+: ee051fb4 mcr 15, 0, r1, cr5, cr4, \{5\} + [0-9a-f]+: ee150ff4 mrc 15, 0, r0, cr5, cr4, \{7\} + [0-9a-f]+: ee051ff4 mcr 15, 0, r1, cr5, cr4, \{7\} + [0-9a-f]+: ee150f15 mrc 15, 0, r0, cr5, cr5, \{0\} + [0-9a-f]+: ee051f15 mcr 15, 0, r1, cr5, cr5, \{0\} + [0-9a-f]+: ee150f35 mrc 15, 0, r0, cr5, cr5, \{1\} + [0-9a-f]+: ee051f35 mcr 15, 0, r1, cr5, cr5, \{1\} + [0-9a-f]+: ee150f95 mrc 15, 0, r0, cr5, cr5, \{4\} + [0-9a-f]+: ee051f95 mcr 15, 0, r1, cr5, cr5, \{4\} + [0-9a-f]+: ee150fb5 mrc 15, 0, r0, cr5, cr5, \{5\} + [0-9a-f]+: ee051fb5 mcr 15, 0, r1, cr5, cr5, \{5\} + [0-9a-f]+: ee1c0f31 mrc 15, 0, r0, cr12, cr1, \{1\} + [0-9a-f]+: ee0c1f31 mcr 15, 0, r1, cr12, cr1, \{1\} + [0-9a-f]+: ee910f91 mrc 15, 4, r0, cr1, cr1, \{4\} + [0-9a-f]+: ee811f91 mcr 15, 4, r1, cr1, cr1, \{4\} + [0-9a-f]+: ee950f72 mrc 15, 4, r0, cr5, cr2, \{3\} + [0-9a-f]+: ee851f72 mcr 15, 4, r1, cr5, cr2, \{3\} + [0-9a-f]+: ee910f31 mrc 15, 4, r0, cr1, cr1, \{1\} + [0-9a-f]+: ee811f31 mcr 15, 4, r1, cr1, cr1, \{1\} + [0-9a-f]+: ee9c0f31 mrc 15, 4, r0, cr12, cr1, \{1\} + [0-9a-f]+: ee8c1f31 mcr 15, 4, r1, cr12, cr1, \{1\} + [0-9a-f]+: eed10f11 mrc 15, 6, r0, cr1, cr1, \{0\} + [0-9a-f]+: eec11f11 mcr 15, 6, r1, cr1, cr1, \{0\} diff --git a/gas/testsuite/gas/arm/armv8_2-a.d b/gas/testsuite/gas/arm/armv8_2-a.d index bf8c011..a971711 100644 --- a/gas/testsuite/gas/arm/armv8_2-a.d +++ b/gas/testsuite/gas/arm/armv8_2-a.d @@ -1,4 +1,5 @@ #name: ARMv8.2-A +#as: -march=armv8.2-a #objdump: -dr #skip: *-*-pe *-wince-* *-*-coff -- cgit v1.1