diff options
author | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 08:00:20 +0000 |
---|---|---|
committer | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 08:00:20 +0000 |
commit | e797f7e0b2bedc9328d4a9a0ebc63ca7a2dbbebc (patch) | |
tree | 4bd6eb3e5d00ed2347151b8fc455ae3c5007ff66 /gas/testsuite | |
parent | e2efe87d8af4ffb920c9bed8e9d1cfb951025933 (diff) | |
download | gdb-e797f7e0b2bedc9328d4a9a0ebc63ca7a2dbbebc.zip gdb-e797f7e0b2bedc9328d4a9a0ebc63ca7a2dbbebc.tar.gz gdb-e797f7e0b2bedc9328d4a9a0ebc63ca7a2dbbebc.tar.bz2 |
* gas/config/tc-arm.c (asm_barrier_opt): Add arch field.
(mark_feature_used): New function.
(parse_barrier): Check specified option is valid for the
specified architecture.
(UL_BARRIER): New macro.
(barrier_opt_names): Update for new barrier options.
* gas/testsuite/gas/arm/armv8-a-barrier.s: New testcase.
* gas/testsuite/gas/arm/armv8-a-barrier-arm.d: Likewise.
* gas/testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise.
* opcodes/arm-dis.c (data_barrier_option): New function.
(print_insn_arm): Use data_barrier_option.
(print_insn_thumb32): Use data_barrier_option.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv8-a-barrier-arm.d | 24 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv8-a-barrier-thumb.d | 24 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/armv8-a-barrier.s | 18 |
4 files changed, 72 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 2cdaada..d70a2c6 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * gas/arm/armv8-a-barrier.s: New testcase. + * gas/arm/armv8-a-barrier-arm.d: Likewise. + * gas/arm/armv8-a-barrier-thumb.d: Likewise. + +2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * gas/arm/armv8-a-bad.l: Update * gas/arm/armv8-a-bad.s: Likewise. diff --git a/gas/testsuite/gas/arm/armv8-a-barrier-arm.d b/gas/testsuite/gas/arm/armv8-a-barrier-arm.d new file mode 100644 index 0000000..1a245fa --- /dev/null +++ b/gas/testsuite/gas/arm/armv8-a-barrier-arm.d @@ -0,0 +1,24 @@ +#name: Valid v8-A barrier (ARM) +#as: -march=armv8-a +#source: armv8-a-barrier.s +#objdump: -dr --prefix-addresses --show-raw-insn + +.*: +file format .*arm.* + +Disassembly of section .text: +0[0-9a-f]+ <[^>]+> f57ff04d dsb ld +0[0-9a-f]+ <[^>]+> f57ff049 dsb ishld +0[0-9a-f]+ <[^>]+> f57ff045 dsb nshld +0[0-9a-f]+ <[^>]+> f57ff041 dsb oshld +0[0-9a-f]+ <[^>]+> f57ff05d dmb ld +0[0-9a-f]+ <[^>]+> f57ff059 dmb ishld +0[0-9a-f]+ <[^>]+> f57ff055 dmb nshld +0[0-9a-f]+ <[^>]+> f57ff051 dmb oshld +0[0-9a-f]+ <[^>]+> f57ff04d dsb ld +0[0-9a-f]+ <[^>]+> f57ff049 dsb ishld +0[0-9a-f]+ <[^>]+> f57ff045 dsb nshld +0[0-9a-f]+ <[^>]+> f57ff041 dsb oshld +0[0-9a-f]+ <[^>]+> f57ff05d dmb ld +0[0-9a-f]+ <[^>]+> f57ff059 dmb ishld +0[0-9a-f]+ <[^>]+> f57ff055 dmb nshld +0[0-9a-f]+ <[^>]+> f57ff051 dmb oshld diff --git a/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d b/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d new file mode 100644 index 0000000..42dae15 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d @@ -0,0 +1,24 @@ +#name: Valid v8-A barrier (Thumb) +#as: -march=armv8-a -mthumb +#source: armv8-a-barrier.s +#objdump: -dr --prefix-addresses --show-raw-insn + +.*: +file format .*arm.* + +Disassembly of section .text: +0[0-9a-f]+ <[^>]+> f3bf 8f4d dsb ld +0[0-9a-f]+ <[^>]+> f3bf 8f49 dsb ishld +0[0-9a-f]+ <[^>]+> f3bf 8f45 dsb nshld +0[0-9a-f]+ <[^>]+> f3bf 8f41 dsb oshld +0[0-9a-f]+ <[^>]+> f3bf 8f5d dmb ld +0[0-9a-f]+ <[^>]+> f3bf 8f59 dmb ishld +0[0-9a-f]+ <[^>]+> f3bf 8f55 dmb nshld +0[0-9a-f]+ <[^>]+> f3bf 8f51 dmb oshld +0[0-9a-f]+ <[^>]+> f3bf 8f4d dsb ld +0[0-9a-f]+ <[^>]+> f3bf 8f49 dsb ishld +0[0-9a-f]+ <[^>]+> f3bf 8f45 dsb nshld +0[0-9a-f]+ <[^>]+> f3bf 8f41 dsb oshld +0[0-9a-f]+ <[^>]+> f3bf 8f5d dmb ld +0[0-9a-f]+ <[^>]+> f3bf 8f59 dmb ishld +0[0-9a-f]+ <[^>]+> f3bf 8f55 dmb nshld +0[0-9a-f]+ <[^>]+> f3bf 8f51 dmb oshld diff --git a/gas/testsuite/gas/arm/armv8-a-barrier.s b/gas/testsuite/gas/arm/armv8-a-barrier.s new file mode 100644 index 0000000..f7b71c0 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8-a-barrier.s @@ -0,0 +1,18 @@ + .syntax unified + .text + dsb ld + dsb ishld + dsb nshld + dsb oshld + dmb ld + dmb ishld + dmb nshld + dmb oshld + dsb LD + dsb ISHLD + dsb NSHLD + dsb OSHLD + dmb LD + dmb ISHLD + dmb NSHLD + dmb OSHLD |