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

Barnaby Wilks Barnaby.Wilks@arm.com
Thu Jul 11 15:27:00 GMT 2019


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.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: float16_aarch64.txt
URL: <https://sourceware.org/pipermail/binutils/attachments/20190711/985da2c3/attachment.txt>


More information about the Binutils mailing list