* config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
	wfi, yield.
opcodes:
	* arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
	wfe, wfi, yield.
gas/testsuite:
	* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
	* gas/arm/arm.exp: Run it.
This commit is contained in:
Zack Weinberg 2005-03-12 18:25:47 +00:00
parent b9fd58c7eb
commit 885fc2570f
8 changed files with 55 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2005-03-12 Zack Weinberg <zack@codesourcery.com>
* config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
wfi, yield.
2005-03-11 Daniel Jacobowitz <dan@codesourcery.com>
* config-gas.com: Mark vax-vms as obsolete.

View File

@ -10950,6 +10950,12 @@ static const struct thumb_opcode tinsns[] =
{"sxtb", 0xb240, 2, ARM_EXT_V6, do_t_arit},
{"uxth", 0xb280, 2, ARM_EXT_V6, do_t_arit},
{"uxtb", 0xb2c0, 2, ARM_EXT_V6, do_t_arit},
/* ARM V6K. */
{"sev", 0xbf40, 2, ARM_EXT_V6K, do_empty},
{"wfe", 0xbf20, 2, ARM_EXT_V6K, do_empty},
{"wfi", 0xbf30, 2, ARM_EXT_V6K, do_empty},
{"yield", 0xbf10, 2, ARM_EXT_V6K, do_empty},
};
void

View File

@ -1,6 +1,11 @@
2005-03-12 Zack Weinberg <zack@codesourcery.com>
* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
* gas/arm/arm.exp: Run it.
2005-03-10 Aldy Hernandez <aldyh@redhat.com>
* gas/ppc/e500.d: Fix encoding of efscfd.
* gas/ppc/e500.d: Fix encoding of efscfd.
2005-03-10 Jeff Baker <jbaker@qnx.com>
Alan Modra <amodra@bigpond.net.au>

View File

@ -50,6 +50,7 @@ if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
run_dump_test "maverick"
run_dump_test "archv6"
run_dump_test "thumbv6"
run_dump_test "thumbv6k"
run_dump_test "arch6zk"
run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"

View File

@ -0,0 +1,15 @@
#name: THUMB V6K instructions
#as: -march=armv6k -mthumb
#objdump: -dr --prefix-addresses --show-raw-insn -M force-thumb
.*: +file format .*arm.*
Disassembly of section .text:
0+000 <[^>]*> bf10 * yield
0+002 <[^>]*> bf20 * wfe
0+004 <[^>]*> bf30 * wfi
0+006 <[^>]*> bf40 * sev
0+008 <[^>]*> 46c0 * nop[ \t]+\(mov r8, r8\)
0+00a <[^>]*> 46c0 * nop[ \t]+\(mov r8, r8\)
0+00c <[^>]*> 46c0 * nop[ \t]+\(mov r8, r8\)
0+00e <[^>]*> 46c0 * nop[ \t]+\(mov r8, r8\)

View File

@ -0,0 +1,14 @@
.text
.align 0
.thumb
label:
yield
wfe
wfi
sev
# arm-aout wants the segment padded to an 16-byte boundary;
# do this explicitly so it's consistent for all object formats.
nop
nop
nop
nop

View File

@ -4,6 +4,7 @@
Add entries for v6T2 ARM instructions:
bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
(print_insn_arm): Add support for %E and %V.
(thumb_opcodes): Add ARMv6K instructions nop, sev, wfe, wfi, yield.
2005-03-10 Jeff Baker <jbaker@qnx.com>
Alan Modra <amodra@bigpond.net.au>

View File

@ -635,6 +635,13 @@ static const struct thumb_opcode thumb_opcodes[] =
{
/* Thumb instructions. */
/* ARM V6K no-argument instructions. */
{ARM_EXT_V6K, 0xbf00, 0xffff, "nop"},
{ARM_EXT_V6K, 0xbf10, 0xffff, "yield"},
{ARM_EXT_V6K, 0xbf20, 0xffff, "wfe"},
{ARM_EXT_V6K, 0xbf30, 0xffff, "wfi"},
{ARM_EXT_V6K, 0xbf40, 0xffff, "sev"},
/* ARM V6. */
{ARM_EXT_V6, 0xb660, 0xfff8, "cpsie\t%2'a%1'i%0'f"},
{ARM_EXT_V6, 0xb670, 0xfff8, "cpsid\t%2'a%1'i%0'f"},