The situation seems to be better in gas 2.21 (binutils-arm-linux-gnueabi
2.21-1ubuntu4cross1.55)

arm-linux-gnueabi-as vldr-dis.s -mfpu=neon
vldr-dis.s: Assembler messages:
vldr-dis.s:17: Error: r15 not allowed here -- `vld1.8 d0,float'
vldr-dis.s:19: Error: r15 not allowed here -- `vst1.8 d0,float'
vldr-dis.s:21: Error: r15 not allowed here -- `vld1.8 d0,[pc,-(.&-4)-4+float]'
vldr-dis.s:23: Error: r15 not allowed here -- `vld1.8 d0,[pc,-(.&-4)-4+float]'

so then I replaced those four with vldr d0, float  (to keep offsets the
same as the original), reassembled and objdump'd it

which gives:

 0:     ed9f 0b0e       vldr    d0, [pc, #56]   ; 3c <float>
   4:   46c0            nop                     ; (mov r8, r8)
   6:   ed9f 0b0d       vldr    d0, [pc, #52]   ; 3c <float>
   a:   46c0            nop                     ; (mov r8, r8)
   c:   ed8f 0b0b       vstr    d0, [pc, #44]   ; 3c <float>
  10:   46c0            nop                     ; (mov r8, r8)
  12:   ed8f 0b0a       vstr    d0, [pc, #40]   ; 3c <float>
  16:   46c0            nop                     ; (mov r8, r8)
  18:   f8df 0020       ldr.w   r0, [pc, #32]   ; 3c <float>
  1c:   46c0            nop                     ; (mov r8, r8)
  1e:   f8df 001c       ldr.w   r0, [pc, #28]   ; 3c <float>
  22:   46c0            nop                     ; (mov r8, r8)
  24:   ed9f 0b05       vldr    d0, [pc, #20]   ; 3c <float>
  28:   46c0            nop                     ; (mov r8, r8)
  2a:   ed9f 0b04       vldr    d0, [pc, #16]   ; 3c <float>
  2e:   46c0            nop                     ; (mov r8, r8)
  30:   ed9f 0b02       vldr    d0, [pc, #8]    ; 3c <float>
  34:   46c0            nop                     ; (mov r8, r8)
  36:   ed9f 0b01       vldr    d0, [pc, #4]    ; 3c <float>
  3a:   46c0            nop                     ; (mov r8, r8)

so I think the offsets are now as you expect.

So I think that the only one left is that it should be disallowing pc
relative vstr's

Dave

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/517081

Title:
  Floating-point assembly and disassembly bugs on armel

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to