diff options
author | Jan Beulich <jbeulich@novell.com> | 2013-04-09 11:04:24 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2013-04-09 11:04:24 +0000 |
commit | 2d51fb74314efc1494043f60c72c92e6a62f623d (patch) | |
tree | 6f6ac00f5f174f9a9827eb01264850c8df548de3 /gas | |
parent | 10782d74c0ec2d0421dadbd7249c8c6bf3675c89 (diff) | |
download | gdb-2d51fb74314efc1494043f60c72c92e6a62f623d.zip gdb-2d51fb74314efc1494043f60c72c92e6a62f623d.tar.gz gdb-2d51fb74314efc1494043f60c72c92e6a62f623d.tar.bz2 |
gas/
2013-04-09 Jan Beulich <jbeulich@suse.com>
* gas/config/tc-arm.c (do_neon_ldx_stx): Reject VSTn in the
NEON_ALL_LANES case.
gas/testsuite/
2013-04-09 Jan Beulich <jbeulich@suse.com>
* gas/arm/neon-addressing-bad.s: Add test for further invalid VST
operands.
* gas/arm/neon-addressing-bad.l: Update accordingly.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 5 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/neon-addressing-bad.l | 22 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/neon-addressing-bad.s | 4 |
5 files changed, 33 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 79ba647..c9b1e31 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2013-04-09 Jan Beulich <jbeulich@suse.com> + + * gas/config/tc-arm.c (do_neon_ldx_stx): Reject VSTn in the + NEON_ALL_LANES case. + 2013-04-08 Jan Beulich <jbeulich@suse.com> * gas/config/tc-arm.c (do_neon_ldr_str): Correct disgnostics for diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 8acfdd7..83f66dd 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -15999,6 +15999,11 @@ do_neon_ldx_stx (void) case NEON_ALL_LANES: NEON_ENCODE (DUP, inst); + if (inst.instruction == N_INV) + { + first_error ("only loads support such operands"); + break; + } do_neon_ld_dup (); break; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 41c5c06..28d8530 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2013-04-09 Jan Beulich <jbeulich@suse.com> + + * gas/arm/neon-addressing-bad.s: Add test for further invalid VST + operands. + * gas/arm/neon-addressing-bad.l: Update accordingly. + 2013-04-08 Jan Beulich <jbeulich@suse.com> * gas/i386/x86-64-opcode.s: Flesh out LOOP and J*CXZ sections. diff --git a/gas/testsuite/gas/arm/neon-addressing-bad.l b/gas/testsuite/gas/arm/neon-addressing-bad.l index 360a891..a8bc720 100644 --- a/gas/testsuite/gas/arm/neon-addressing-bad.l +++ b/gas/testsuite/gas/arm/neon-addressing-bad.l @@ -8,12 +8,16 @@ [^:]*:10: Error: r15 not allowed here -- `vst1.8 {Q1},R0' [^:]*:11: Error: r15 not allowed here -- `vst1.8 {D0},\[PC\]' [^:]*:12: Error: r15 not allowed here -- `vst1.8 {D0},\[PC,#0\]' -[^:]*:14: Error: r15 not allowed here -- `vld1.8 {d0},2f' -[^:]*:16: Error: r15 not allowed here -- `vld1.8 {D0},R0' -[^:]*:17: Error: r15 not allowed here -- `vld1.8 {Q1},R0' -[^:]*:18: Error: r15 not allowed here -- `vld1.8 {D0},\[PC\]' -[^:]*:19: Error: r15 not allowed here -- `vld1.8 {D0},\[PC,#0\]' -[^:]*:20: Error: r15 not allowed here -- `vst1.8 {D0},R0' -[^:]*:21: Error: r15 not allowed here -- `vst1.8 {Q1},R0' -[^:]*:22: Error: r15 not allowed here -- `vst1.8 {D0},\[PC\]' -[^:]*:23: Error: r15 not allowed here -- `vst1.8 {D0},\[PC,#0\]' +[^:]*:13: Error: only loads support such operands -- `vst1.8 {D0\[\].* +[^:]*:14: Error: only loads support such operands -- `vst2.8 {D0\[\].* +[^:]*:15: Error: only loads support such operands -- `vst3.16 {D0\[\].* +[^:]*:16: Error: only loads support such operands -- `vst4.32 {D0\[\].* +[^:]*:18: Error: r15 not allowed here -- `vld1.8 {d0},2f' +[^:]*:20: Error: r15 not allowed here -- `vld1.8 {D0},R0' +[^:]*:21: Error: r15 not allowed here -- `vld1.8 {Q1},R0' +[^:]*:22: Error: r15 not allowed here -- `vld1.8 {D0},\[PC\]' +[^:]*:23: Error: r15 not allowed here -- `vld1.8 {D0},\[PC,#0\]' +[^:]*:24: Error: r15 not allowed here -- `vst1.8 {D0},R0' +[^:]*:25: Error: r15 not allowed here -- `vst1.8 {Q1},R0' +[^:]*:26: Error: r15 not allowed here -- `vst1.8 {D0},\[PC\]' +[^:]*:27: Error: r15 not allowed here -- `vst1.8 {D0},\[PC,#0\]' diff --git a/gas/testsuite/gas/arm/neon-addressing-bad.s b/gas/testsuite/gas/arm/neon-addressing-bad.s index c134ead..c27b172 100644 --- a/gas/testsuite/gas/arm/neon-addressing-bad.s +++ b/gas/testsuite/gas/arm/neon-addressing-bad.s @@ -10,6 +10,10 @@ VST1.8 {D0}, R0 VST1.8 {Q1}, R0 VST1.8 {D0}, [PC] VST1.8 {D0}, [PC, #0] +VST1.8 {D0[]}, [R0] +VST2.8 {D0[], D2[]}, [R0] +VST3.16 {D0[], D1[], D2[]}, [R0] +VST4.32 {D0[], D1[], D2[], D3[]}, [R0] .thumb VLD1.8 {d0}, 2f 2: |