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.
This commit is contained in:
Jie Zhang 2010-02-26 15:49:07 +00:00
parent 92fc7b4f62
commit e23c0ad820
6 changed files with 22 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2010-02-26 Jie Zhang <jie@codesourcery.com>
* config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
alignment.
2010-02-25 Doug Evans <dje@sebabeach.org>
* cgen.c: Whitespace fixes.

View file

@ -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;

View file

@ -1,3 +1,9 @@
2010-02-26 Jie Zhang <jie@codesourcery.com>
* 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.
2010-02-25 Wu Zhangjin <wuzhangjin@gmail.com>
* gas/mips/loongson-2f-2.s: New test of -mfix-loongson2f-nop.

View file

@ -0,0 +1,3 @@
# name: Bad alignment in Advanced SIMD Neon instructions
# as: -mfpu=neon
# error-output: neon-ldst-align-bad.l

View file

@ -0,0 +1,3 @@
[^:]*: Assembler messages:
[^:]*:1: Error: bad alignment -- `vld1.8 {d0},\[r0,:128\]'
[^:]*:2: Error: bad alignment -- `vld1.8 {q0},\[r0,:256\]'

View file

@ -0,0 +1,2 @@
vld1.8 {d0}, [r0, :128]
vld1.8 {q0}, [r0, :256]