aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorDaniel Gutson <dgutson@codesourcery.com>2010-01-04 22:19:03 +0000
committerDaniel Gutson <dgutson@codesourcery.com>2010-01-04 22:19:03 +0000
commitb1a769ed35c533e5f03fc2214ab31571f4677e22 (patch)
tree8868f2d9bdc086ac00128494247ade47869beef1 /gas/config
parent55a2bb35466651972b102f5f8b5ec53a17be5b55 (diff)
downloadgdb-b1a769ed35c533e5f03fc2214ab31571f4677e22.zip
gdb-b1a769ed35c533e5f03fc2214ab31571f4677e22.tar.gz
gdb-b1a769ed35c533e5f03fc2214ab31571f4677e22.tar.bz2
2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
gas/ * config/tc-arm.c (do_neon_ldx_stx): Added validation for vector load/store insns. gas/testsuite/ * gas/arm/neon-addressing-bad.d: New test case. * gas/arm/neon-addressing-bad.s: New file. * gas/arm/neon-addressing-bad.l: New file.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 3e0ef55..b599725 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -14810,6 +14810,9 @@ do_neon_ld_dup (void)
static void
do_neon_ldx_stx (void)
{
+ if (inst.operands[1].isreg)
+ constraint (inst.operands[1].reg == REG_PC, BAD_PC);
+
switch (NEON_LANE (inst.operands[0].imm))
{
case NEON_INTERLEAVE_LANES: