diff options
author | Jie Zhang <jie.zhang@analog.com> | 2010-02-26 15:49:07 +0000 |
---|---|---|
committer | Jie Zhang <jie.zhang@analog.com> | 2010-02-26 15:49:07 +0000 |
commit | e23c0ad8203bbfda72320affa385760e85fa5ac2 (patch) | |
tree | c12a2aa16957f46fee2108e08c32947f3c3bbedc /gas/config | |
parent | 92fc7b4f62a31ed02e78f3595682f1a985be83f6 (diff) | |
download | gdb-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.c | 5 |
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; |