diff options
author | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2010-09-23 15:18:19 +0000 |
---|---|---|
committer | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2010-09-23 15:18:19 +0000 |
commit | 60e5ef9f190902591c6228d470a85fd82994f2c4 (patch) | |
tree | e33a15037da877a8c0a8d86f0fc6bc00bd4a08e2 /gas/testsuite | |
parent | 691338631685cad7a3b8d8e330df408c999e423a (diff) | |
download | gdb-60e5ef9f190902591c6228d470a85fd82994f2c4.zip gdb-60e5ef9f190902591c6228d470a85fd82994f2c4.tar.gz gdb-60e5ef9f190902591c6228d470a85fd82994f2c4.tar.bz2 |
* gas/config/tc-arm.c (arm_ext_mp): Add.
(do_pld): Update comment.
(insns): Add support for pldw.
(arm_cpus): Update cortex-a5, cortex-a9, and cortex-a15 to support
MP extension.
(arm_extensions): Add 'mp' extension.
(aeabi_set_public_attributes): Emit correct build attribute when
MP extension is enabled.
* gas/doc/c-arm.texi: Update for MP extensions.
* gas/testsuite/gas/arm/arch7a-mp.d: Add.
* gas/testsuite/gas/arm/arch7ar-mp.s: Likewise.
* gas/testsuite/gas/arm/arch7r-mp.d: Likewise.
* gas/testsuite/gas/arm/armv2-mp-bad.d: Likewise.
* gas/testsuite/gas/arm/armv2-mp-bad.l: Likewise.
* gas/testsuite/gas/arm/attr-march-all.d: Update for MP extension.
* gas/testsuite/gas/arm/attr-march-armv7-a+mp.d: Add.
* gas/testsuite/gas/arm/attr-march-armv7-r+mp.d: Likewise.
* include/opcode/arm.h (ARM_EXT_MP): Add.
(ARM_ARCH_V7A_MP): Likewise.
* opcodes/arm-dis.c (arm_opcodes): Add support for pldw.
(thumb32_opcodes): Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/arch7a-mp.d | 30 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/arch7ar-mp.s | 33 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/arch7r-mp.d | 30 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv2-mp-bad.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv2-mp-bad.l | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-march-all.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-march-armv7-a+mp.d | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/attr-march-armv7-r+mp.d | 15 |
9 files changed, 143 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 8ee3ca7..bc2eb52 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * gas/arm/arch7a-mp.d: Add. + * gas/arm/arch7ar-mp.s: Likewise. + * gas/arm/arch7r-mp.d: Likewise. + * gas/arm/armv2-mp-bad.d: Likewise. + * gas/arm/armv2-mp-bad.l: Likewise. + * gas/arm/attr-march-all.d: Update for MP extension. + * gas/arm/attr-march-armv7-a+mp.d: Add. + * gas/arm/attr-march-armv7-r+mp.d: Likewise. + 2010-09-23 Alan Modra <amodra@gmail.com> * gas/all/gas.exp: Update "forward" and "redef3" xfails. diff --git a/gas/testsuite/gas/arm/arch7a-mp.d b/gas/testsuite/gas/arm/arch7a-mp.d new file mode 100644 index 0000000..9513f89 --- /dev/null +++ b/gas/testsuite/gas/arm/arch7a-mp.d @@ -0,0 +1,30 @@ +#name: ARM V7-A+MP instructions +#as: -march=armv7-a+mp +#objdump: -dr --prefix-addresses --show-raw-insn +#source: arch7ar-mp.s + +.*: +file format .*arm.* + +Disassembly of section .text: +0[0-9a-f]+ <[^>]+> f590f000 pldw \[r0\] +0[0-9a-f]+ <[^>]+> f59ef000 pldw \[lr\] +0[0-9a-f]+ <[^>]+> f591f000 pldw \[r1\] +0[0-9a-f]+ <[^>]+> f590ffff pldw \[r0, #4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f790f000 pldw \[r0, r0\] +0[0-9a-f]+ <[^>]+> f791f000 pldw \[r1, r0\] +0[0-9a-f]+ <[^>]+> f79ef000 pldw \[lr, r0\] +0[0-9a-f]+ <[^>]+> f790f001 pldw \[r0, r1\] +0[0-9a-f]+ <[^>]+> f790f00e pldw \[r0, lr\] +0[0-9a-f]+ <[^>]+> f790f100 pldw \[r0, r0, lsl #2\] +0[0-9a-f]+ <[^>]+> f8b0 f000 pldw \[r0\] +0[0-9a-f]+ <[^>]+> f8be f000 pldw \[lr\] +0[0-9a-f]+ <[^>]+> f8b1 f000 pldw \[r1\] +0[0-9a-f]+ <[^>]+> f8b0 ffff pldw \[r0, #4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f830 fcff pldw \[r0, #-255\] +0[0-9a-f]+ <[^>]+> f830 f000 pldw \[r0, r0\] +0[0-9a-f]+ <[^>]+> f831 f000 pldw \[r1, r0\] +0[0-9a-f]+ <[^>]+> f83e f000 pldw \[lr, r0\] +0[0-9a-f]+ <[^>]+> f830 f001 pldw \[r0, r1\] +0[0-9a-f]+ <[^>]+> f830 f00e pldw \[r0, lr\] +0[0-9a-f]+ <[^>]+> f830 f030 pldw \[r0, r0, lsl #3\] diff --git a/gas/testsuite/gas/arm/arch7ar-mp.s b/gas/testsuite/gas/arm/arch7ar-mp.s new file mode 100644 index 0000000..34f7278 --- /dev/null +++ b/gas/testsuite/gas/arm/arch7ar-mp.s @@ -0,0 +1,33 @@ + @ Test MP Extension instructions + .text + +label1: + pldw [r0, #0] + pldw [r14, #0] + pldw [r1, #0] + pldw [r0, #4095] + pldw [r0, #-4095] + + pldw [r0, r0] + pldw [r1, r0] + pldw [r14, r0] + pldw [r0, r1] + pldw [r0, r14] + pldw [r0, r0, lsl #2] + + .thumb + .thumb_func +label2: + pldw [r0, #0] + pldw [r14, #0] + pldw [r1, #0] + pldw [r0, #4095] + pldw [r0, #-255] + + pldw [r0, r0] + pldw [r1, r0] + pldw [r14, r0] + pldw [r0, r1] + pldw [r0, r14] + pldw [r0, r0, lsl #3] + diff --git a/gas/testsuite/gas/arm/arch7r-mp.d b/gas/testsuite/gas/arm/arch7r-mp.d new file mode 100644 index 0000000..8908c98 --- /dev/null +++ b/gas/testsuite/gas/arm/arch7r-mp.d @@ -0,0 +1,30 @@ +#name: ARM V7-R+MP instructions +#as: -march=armv7-r+mp +#objdump: -dr --prefix-addresses --show-raw-insn +#source: arch7ar-mp.s + +.*: +file format .*arm.* + +Disassembly of section .text: +0[0-9a-f]+ <[^>]+> f590f000 pldw \[r0\] +0[0-9a-f]+ <[^>]+> f59ef000 pldw \[lr\] +0[0-9a-f]+ <[^>]+> f591f000 pldw \[r1\] +0[0-9a-f]+ <[^>]+> f590ffff pldw \[r0, #4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f790f000 pldw \[r0, r0\] +0[0-9a-f]+ <[^>]+> f791f000 pldw \[r1, r0\] +0[0-9a-f]+ <[^>]+> f79ef000 pldw \[lr, r0\] +0[0-9a-f]+ <[^>]+> f790f001 pldw \[r0, r1\] +0[0-9a-f]+ <[^>]+> f790f00e pldw \[r0, lr\] +0[0-9a-f]+ <[^>]+> f790f100 pldw \[r0, r0, lsl #2\] +0[0-9a-f]+ <[^>]+> f8b0 f000 pldw \[r0\] +0[0-9a-f]+ <[^>]+> f8be f000 pldw \[lr\] +0[0-9a-f]+ <[^>]+> f8b1 f000 pldw \[r1\] +0[0-9a-f]+ <[^>]+> f8b0 ffff pldw \[r0, #4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f830 fcff pldw \[r0, #-255\] +0[0-9a-f]+ <[^>]+> f830 f000 pldw \[r0, r0\] +0[0-9a-f]+ <[^>]+> f831 f000 pldw \[r1, r0\] +0[0-9a-f]+ <[^>]+> f83e f000 pldw \[lr, r0\] +0[0-9a-f]+ <[^>]+> f830 f001 pldw \[r0, r1\] +0[0-9a-f]+ <[^>]+> f830 f00e pldw \[r0, lr\] +0[0-9a-f]+ <[^>]+> f830 f030 pldw \[r0, r0, lsl #3\] diff --git a/gas/testsuite/gas/arm/armv2-mp-bad.d b/gas/testsuite/gas/arm/armv2-mp-bad.d new file mode 100644 index 0000000..c43ba96 --- /dev/null +++ b/gas/testsuite/gas/arm/armv2-mp-bad.d @@ -0,0 +1,4 @@ +#name: ARM MP Extension errors +#source: blank.s +#as: -march=armv2+mp +#error-output: armv2-mp-bad.l diff --git a/gas/testsuite/gas/arm/armv2-mp-bad.l b/gas/testsuite/gas/arm/armv2-mp-bad.l new file mode 100644 index 0000000..eb97135 --- /dev/null +++ b/gas/testsuite/gas/arm/armv2-mp-bad.l @@ -0,0 +1,3 @@ +Assembler messages: +[^:]*: extension does not apply to the base architecture +[^:]*: unrecognized option -march=armv2\+mp diff --git a/gas/testsuite/gas/arm/attr-march-all.d b/gas/testsuite/gas/arm/attr-march-all.d index ba446c3..0b888a2 100644 --- a/gas/testsuite/gas/arm/attr-march-all.d +++ b/gas/testsuite/gas/arm/attr-march-all.d @@ -12,3 +12,4 @@ File Attributes Tag_CPU_arch_profile: Application Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 + Tag_MPextension_use: Allowed diff --git a/gas/testsuite/gas/arm/attr-march-armv7-a+mp.d b/gas/testsuite/gas/arm/attr-march-armv7-a+mp.d new file mode 100644 index 0000000..663a889 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-march-armv7-a+mp.d @@ -0,0 +1,16 @@ +# name: attributes for -march=armv7-a+mp +# source: blank.s +# as: -march=armv7-a+mp +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "7-A" + 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: Not allowed diff --git a/gas/testsuite/gas/arm/attr-march-armv7-r+mp.d b/gas/testsuite/gas/arm/attr-march-armv7-r+mp.d new file mode 100644 index 0000000..a7fa3c6 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-march-armv7-r+mp.d @@ -0,0 +1,15 @@ +# name: attributes for -march=armv7-r+mp +# source: blank.s +# as: -march=armv7-r+mp +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "7-R" + Tag_CPU_arch: v7 + Tag_CPU_arch_profile: Realtime + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-2 + Tag_MPextension_use: Allowed |