[PATCH, ARM] Fix Neon floating-point constant encoding & support floating-point syntax

Julian Brown julian@codesourcery.com
Mon Apr 24 12:28:00 GMT 2006
Hi,

This patch fixes a bug with floating-point constant encoding for the 
VMOV instruction, and enables support for floating-point syntax for 
assembly and disassembly for that instruction too. It also tweaks the 
encoding so that floating-point instructions are used in preference to 
integer ones in the couple of ambiguous cases where both may be used.

I've added a test case for the new floating-point constant support.

Tested with "make check" with cross to arm-none-eabi. OK to apply on the 
CSL branch? (This should probably be applied on mainline too at the same 
time as the initial Neon support patch).

Cheers,

Julian

ChangeLog (gas):

     * gas/config/tc-arm.c (neon_is_quarter_float): Move, and rename
     to...
     (is_quarter_float): Rename from above.
     (parse_qfloat_immediate): Parse a "quarter precision" floating-point
     number.
     (parse_neon_mov): Parse floating-point constants.
     (neon_qfloat_bits): Fix encoding.
     (neon_cmode_for_move_imm): Tweak to use floating-point encoding in
     preference to integer encoding when using the F32 type.

ChangeLog (gas/testsuite):

     * gas/testsuite/gas/arm/neon-const.s: New testcase. Neon
     floating-point constants.
     * gas/testsuite/gas/arm/neon-const.d: Expected output of above.
     * gas/testsuite/gas/arm/neon-cov.d: Expect floating-point
     disassembly for VMOV.F32.

ChangeLog (opcodes):

     * arm-dis.c (print_insn_neon): Disassemble floating-point constant
     VMOV.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: neon-float-const-1
URL: <https://sourceware.org/pipermail/binutils/attachments/20060424/2e0474ba/attachment.ksh>


More information about the Binutils mailing list