aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2010-02-26 15:49:07 +0000
committerJie Zhang <jie.zhang@analog.com>2010-02-26 15:49:07 +0000
commite23c0ad8203bbfda72320affa385760e85fa5ac2 (patch)
treec12a2aa16957f46fee2108e08c32947f3c3bbedc /gas/config
parent92fc7b4f62a31ed02e78f3595682f1a985be83f6 (diff)
downloadgdb-e23c0ad8203bbfda72320affa385760e85fa5ac2.zip
gdb-e23c0ad8203bbfda72320affa385760e85fa5ac2.tar.gz
gdb-e23c0ad8203bbfda72320affa385760e85fa5ac2.tar.bz2
2010-02-26 Jie Zhang <jie@codesourcery.com>
* config/tc-arm.c (do_neon_ld_st_interleave): Reject bad alignment. testsuite/ * gas/arm/neon-ldst-align-bad.d: New test. * gas/arm/neon-ldst-align-bad.l: New test. * gas/arm/neon-ldst-align-bad.s: New test.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 7ef0f44..d172042 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -14662,12 +14662,13 @@ do_neon_ld_st_interleave (void)
{
case 64: alignbits = 1; break;
case 128:
- if (NEON_REGLIST_LENGTH (inst.operands[0].imm) == 3)
+ if (NEON_REGLIST_LENGTH (inst.operands[0].imm) != 2
+ && NEON_REGLIST_LENGTH (inst.operands[0].imm) != 4)
goto bad_alignment;
alignbits = 2;
break;
case 256:
- if (NEON_REGLIST_LENGTH (inst.operands[0].imm) == 3)
+ if (NEON_REGLIST_LENGTH (inst.operands[0].imm) != 4)
goto bad_alignment;
alignbits = 3;
break;