gnu assembler have wrong output on VCVTR
Bug #1619906 reported by
banxian
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Arm Embedded Toolchain |
Confirmed
|
Low
|
Przemyslaw Wirkus |
Bug Description
this is a bug related to binutils in gcc arm toolchain.
toolchain version: 2016q3 5.4
assembler version: GNU assembler version 2.26.0 (arm-none-eabi) using BFD version (GNU Tools for ARM Embedded Processors) 2.26.0.20160616
assembler options: -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=neon -meabi=5 -k -v
for eg,
VCVTR.U32.F32 S0, S16 // .byte 0xBC, 0xEE, 0xC8, 0x0A
will treat as VCVT.U32.F32 S0, S16 (BC EE 48 0A) by assembler.
VCVTR is rouneded version and bit7 in A1/T1 encoding should be set.
you can see
A8.8.306 VCVT, VCVTR (between floating-point and integer, Floating-point)
for details.
the sourcecode testVFP.s which can reproduce this problem is attached.
Changed in gcc-arm-embedded: | |
importance: | Undecided → Low |
Changed in gcc-arm-embedded: | |
assignee: | nobody → Przemyslaw Wirkus (wirkus) |
tags: | added: gas |
tags: | added: 2016q3 binutils |
To post a comment you must log in.
sorry, the bit7 is an ommit flag and my IDA Pro give me wrong disassembly output.