[PATCH 7/17][ARM] Add FP16 data movement instructions.
authorMatthew Wahab <matthew.wahab@arm.com>
Fri, 23 Sep 2016 09:35:22 +0000 (09:35 +0000)
committerMatthew Wahab <mwahab@gcc.gnu.org>
Fri, 23 Sep 2016 09:35:22 +0000 (09:35 +0000)
commit4ffc8099a7587030c1331e53dd9feba27f21b633
treeaf2a7a70dfcdf634b7e24af60ce19a628e2b15db
parent99924e7a7b1be1c07dd2760485a07069a52a4023
[PATCH 7/17][ARM] Add FP16 data movement instructions.

gcc/
2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>
    Jiong Wang <jiong.wang@arm.com>

* config/arm/arm.c (coproc_secondary_reload_class): Make HFmode
available when FP16 instructions are available.
(output_move_vfp): Add support for 16-bit data moves.
(arm_validize_comparison): Fix some white-space.  Support HFmode
by conversion to SFmode.
* config/arm/arm.md (truncdfhf2): Fix a comment.
(extendhfdf2): Likewise.
(cstorehf4): New.
(movsicc): Fix some white-space.
(movhfcc): New.
(movsfcc): Fix some white-space.
(*cmovhf): New.
* config/arm/vfp.md (*arm_movhi_vfp): Disable when VFP FP16
instructions are available.
(*thumb2_movhi_vfp): Likewise.
(*arm_movhi_fp16): New.
(*thumb2_movhi_fp16): New.
(*movhf_vfp_fp16): New.
(*movhf_vfp_neon): Disable when VFP FP16 instructions are
available.
(*movhf_vfp): Likewise.
(extendhfsf2): Enable when VFP FP16 instructions are available.
(truncsfhf2):  Enable when VFP FP16 instructions are available.

testsuite/
2016-09-23  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/arm/armv8_2_fp16-move-1.c: New.
* gcc.target/arm/fp16-aapcs-1.c: Update expected output.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r240407
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/vfp.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c