aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2013-04-09 11:04:24 +0000
committerJan Beulich <jbeulich@novell.com>2013-04-09 11:04:24 +0000
commit2d51fb74314efc1494043f60c72c92e6a62f623d (patch)
tree6f6ac00f5f174f9a9827eb01264850c8df548de3
parent10782d74c0ec2d0421dadbd7249c8c6bf3675c89 (diff)
downloadgdb-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.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c5
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/neon-addressing-bad.l22
-rw-r--r--gas/testsuite/gas/arm/neon-addressing-bad.s4
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: