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.
This commit is contained in:
Daniel Gutson 2010-01-04 22:19:03 +00:00
parent 55a2bb3546
commit b1a769ed35
6 changed files with 59 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
* config/tc-arm.c (do_neon_ldx_stx): Added
validation for vector load/store insns.
2010-01-04 Edmar Wienskoski <edmar@freescale.com>
* config/tc-ppc.c (md_show_usage): Document -me500mc64.

View File

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

View File

@ -1,3 +1,9 @@
2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
* 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.
2010-01-03 Daniel Gutson <dgutson@codesourcery.com>
* gas/arm/neon-suffix-bad.d: New test case.

View File

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

View File

@ -0,0 +1,19 @@
[^:]*: Assembler messages:
[^:]*:3: Error: r15 not allowed here -- `vld1.8 {d0},1f'
[^:]*:5: Error: r15 not allowed here -- `vld1.8 {D0},R0'
[^:]*:6: Error: r15 not allowed here -- `vld1.8 {Q1},R0'
[^:]*:7: Error: r15 not allowed here -- `vld1.8 {D0},\[PC\]'
[^:]*:8: Error: r15 not allowed here -- `vld1.8 {D0},\[PC,#0\]'
[^:]*:9: Error: r15 not allowed here -- `vst1.8 {D0},R0'
[^:]*: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\]'

View File

@ -0,0 +1,23 @@
.syntax unified
VLD1.8 {d0}, 1f
1:
VLD1.8 {D0}, R0
VLD1.8 {Q1}, R0
VLD1.8 {D0}, [PC]
VLD1.8 {D0}, [PC, #0]
VST1.8 {D0}, R0
VST1.8 {Q1}, R0
VST1.8 {D0}, [PC]
VST1.8 {D0}, [PC, #0]
.thumb
VLD1.8 {d0}, 2f
2:
VLD1.8 {D0}, R0
VLD1.8 {Q1}, R0
VLD1.8 {D0}, [PC]
VLD1.8 {D0}, [PC, #0]
VST1.8 {D0}, R0
VST1.8 {Q1}, R0
VST1.8 {D0}, [PC]
VST1.8 {D0}, [PC, #0]