[Patch AArch64 11/11] Enable _Float16

James Greenhalgh james.greenhalgh@arm.com
Fri Oct 14 17:02:00 GMT 2016


On Fri, Sep 30, 2016 at 06:03:57PM +0100, James Greenhalgh wrote:
> Hi,
>
> Finally, this patch adds the back-end wiring to get AArch64 support for
> the _Float16 type working.
>
> Bootstrapped on AArch64 with no issues.
>
> OK?

I spotted a bug in the way I'd written aarch64_promoted_type. We were not
taking the TYPE_MAIN_VARIANT before comparing with aarch64_fp16_type, so we
would fail to promote "volatile __fp16" correctly.

That's fixed in this revision, which has been through a new round of
bootstrap and cross-testing.

OK?

Thanks,
James

---
2016-10-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Update
	__FLT_EVAL_METHOD__ and __FLT_EVAL_METHOD_C99__ when we switch
	architecture levels.
	* config/aarch64/aarch64.c (aarch64_promoted_type): Only promote
	the aarch64_fp16_type_node, not all HFmode types.
	(aarch64_libgcc_floating_mode_supported_p): Support HFmode.
	(aarch64_scalar_mode_supported_p): Likewise.
	(aarch64_excess_precision): New.
	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Likewise.
	(TARGET_C_EXCESS_PRECISION): Likewise.

2016-10-14  James Greenhalgh  <james.greenhalgh@arm.com>

	* gcc.target/aarch64/_Float16_1.c: New.
	* gcc.target/aarch64/_Float16_2.c: Likewise.
	* gcc.target/aarch64/_Float16_3.c: Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Re-Patch-AArch64-11-11-Enable-_Float16.patch
Type: text/x-patch
Size: 9460 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20161014/75eb33ef/attachment.bin>


More information about the Gcc-patches mailing list