[PATCH][binutils][AArch64][3/3] Add support for float16 (IEEE format) for AArch64 backend.

Tamar Christina Tamar.Christina@arm.com
Wed Jul 24 11:12:00 GMT 2019


Hi Barnaby,

Thanks for the patch!

Your float16-le.s and float-16-be.s look identical to me. Could you delete one and rename it to float16.s and use that as the source for both.

Also could you add a NEWS entry for both these and the AArch32 patches.

Thanks,
Tamar
 

> -----Original Message-----
> From: binutils-owner@sourceware.org <binutils-owner@sourceware.org> On 
> Behalf Of Barnaby Wilks
> Sent: Thursday, July 11, 2019 16:27
> To: binutils@sourceware.org
> Cc: nd <nd@arm.com>; Richard Earnshaw <Richard.Earnshaw@arm.com>; 
> Marcus Shawcroft <Marcus.Shawcroft@arm.com>
> Subject: [PATCH][binutils][AArch64][3/3] Add support for float16 (IEEE
> format) for AArch64 backend.
> 
> Hello,
> 
> This is part of a patch series that implements a directive for 
> assembling 16-bit floating point constants for Arm and AArch64.
> 
> This patch implements a float16 directive for assembling 16 bit IEEE
> 754 floating point numbers for AArch64.
> 
> The syntax of the directive is:
> .float16 <0-n decimal numbers>
> e.g.
> .float16 0.5
> .float16 10.2, NaN, 452.09
> 
> The floats will always be encoded using the binary16 format as 
> described in the IEEE 754-2008 standard. There is no need to support 
> Arm's alternative half-precision format since AArch64 only supports the IEEE format.
> 
> Added testcases to verify the correct encoding (for big and little 
> endian
> targets) and cross-referenced the encodings with GCC's __fp16 type to 
> ensure consistency.
> 
> Cross compiled and regtested on aarch64-none-elf and
> aarch64-none-linux- gnu with no issues.
> 
> I don't have write access, so if it's OK then could someone commit on 
> my behalf?
> 
> Thanks,
> Barney
> 
> gas/ChangeLog:
> 
> 2019-07-11  Barnaby Wilks<barnaby.wilks@arm.com>
> 
> 	* config/tc-aarch64.c: Add float16 directive and add "Hh" to 
> acceptable float
> 	characters.
> 	* testsuite/gas/aarch64/float16-be.d: New test.
> 	* testsuite/gas/aarch64/float16-be.s: New test.
> 	* testsuite/gas/aarch64/float16-le.d: New test.
> 	* testsuite/gas/aarch64/float16-le.s: New test.



More information about the Binutils mailing list