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

Barnaby Wilks Barnaby.Wilks@arm.com
Thu Aug 8 16:28:00 GMT 2019


This is an updated patch to include documentation and a NEWS entry for this patch series. (The original patch
is here https://sourceware.org/ml/binutils/2019-07/msg00117.html).

This is part of a patch series that implements a directive for assembling 16-bit floating point constants for Arm and AArch64.
This patch includes a NEWS entry that covers the changes made in this AArch64 patch and the previous Arm patch.

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>
.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?



2019-08-01  Barnaby Wilks  <barnaby.wilks@arm.com>

	* config/tc-aarch64.c: Add float16 directive and add "Hh" to acceptable float
	* doc/c-aarch64.texi: Documentation for float16 directive.
	* testsuite/gas/aarch64/float16-be.d: New test.
	* testsuite/gas/aarch64/float16-le.d: New test.
	* testsuite/gas/aarch64/float16.s: New test.
	* NEWS: Add NEWS entry.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: float16-updated-aarch64.txt
URL: <https://sourceware.org/pipermail/binutils/attachments/20190808/3c151536/attachment.txt>

More information about the Binutils mailing list