gas:
* 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:
parent
b9fd58c7eb
commit
885fc2570f
8 changed files with 55 additions and 1 deletions
|
@ -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>
|
2005-03-11 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
* config-gas.com: Mark vax-vms as obsolete.
|
* config-gas.com: Mark vax-vms as obsolete.
|
||||||
|
|
|
@ -10950,6 +10950,12 @@ static const struct thumb_opcode tinsns[] =
|
||||||
{"sxtb", 0xb240, 2, ARM_EXT_V6, do_t_arit},
|
{"sxtb", 0xb240, 2, ARM_EXT_V6, do_t_arit},
|
||||||
{"uxth", 0xb280, 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},
|
{"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
|
void
|
||||||
|
|
|
@ -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>
|
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>
|
2005-03-10 Jeff Baker <jbaker@qnx.com>
|
||||||
Alan Modra <amodra@bigpond.net.au>
|
Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
|
@ -50,6 +50,7 @@ if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
|
||||||
run_dump_test "maverick"
|
run_dump_test "maverick"
|
||||||
run_dump_test "archv6"
|
run_dump_test "archv6"
|
||||||
run_dump_test "thumbv6"
|
run_dump_test "thumbv6"
|
||||||
|
run_dump_test "thumbv6k"
|
||||||
run_dump_test "arch6zk"
|
run_dump_test "arch6zk"
|
||||||
|
|
||||||
run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
|
run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
|
||||||
|
|
15
gas/testsuite/gas/arm/thumbv6k.d
Normal file
15
gas/testsuite/gas/arm/thumbv6k.d
Normal 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\)
|
14
gas/testsuite/gas/arm/thumbv6k.s
Normal file
14
gas/testsuite/gas/arm/thumbv6k.s
Normal 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
|
|
@ -4,6 +4,7 @@
|
||||||
Add entries for v6T2 ARM instructions:
|
Add entries for v6T2 ARM instructions:
|
||||||
bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
|
bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
|
||||||
(print_insn_arm): Add support for %E and %V.
|
(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>
|
2005-03-10 Jeff Baker <jbaker@qnx.com>
|
||||||
Alan Modra <amodra@bigpond.net.au>
|
Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
|
@ -635,6 +635,13 @@ static const struct thumb_opcode thumb_opcodes[] =
|
||||||
{
|
{
|
||||||
/* Thumb instructions. */
|
/* 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 V6. */
|
||||||
{ARM_EXT_V6, 0xb660, 0xfff8, "cpsie\t%2'a%1'i%0'f"},
|
{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"},
|
{ARM_EXT_V6, 0xb670, 0xfff8, "cpsid\t%2'a%1'i%0'f"},
|
||||||
|
|
Loading…
Add table
Reference in a new issue