aboutsummaryrefslogtreecommitdiff
path: root/gcc/hooks.h
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2016-09-23 09:54:44 +0000
committerMatthew Wahab <mwahab@gcc.gnu.org>2016-09-23 09:54:44 +0000
commit55a9b91ba89e744f86bb6445797e8840585f3258 (patch)
tree72b39c3cf898aa6d3ed28f489f72c3990f2dd43c /gcc/hooks.h
parent64c744b962798d44aa64c491d4b32b84a27d4e93 (diff)
downloadgcc-55a9b91ba89e744f86bb6445797e8840585f3258.zip
gcc-55a9b91ba89e744f86bb6445797e8840585f3258.tar.gz
gcc-55a9b91ba89e744f86bb6445797e8840585f3258.tar.bz2
[PATCH 9/17][ARM] Add NEON FP16 arithmetic instructions.
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/iterators.md (VCVTHI): New. (NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE. Fix a long line. (NEON_VAGLTE): New. (VFM_LANE_AS): New. (VH_CVTTO): New. (V_reg): Add HF, V4HF and V8HF. Fix white-space. (V_HALF): Add V4HF. Fix white-space. (V_if_elem): Add HF, V4HF and V8HF. Fix white-space. (V_s_elem): Likewise. (V_sz_elem): Fix white-space. (V_elem_ch): Likewise. (VH_elem_ch): New. (scalar_mul_constraint): Add V8HF and V4HF. (Is_float_mode): Fix white-space. (Is_d_reg): Add V4HF and V8HF. Fix white-space. (q): Add HF. Fix white-space. (float_sup): New. (float_SUP): New. (cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT. (neon_vfm_lane_as): New. * config/arm/neon.md (add<mode>3_fp16): New. (sub<mode>3_fp16): New. (mul<mode>3add<mode>_neon): New. (fma<VH:mode>4_intrinsic): New. (fmsub<VCVTF:mode>4_intrinsic): Fix white-space. (fmsub<VH:mode>4_intrinsic): New. (<absneg_str><mode>2): New. (neon_v<absneg_str><mode>): New. (neon_v<fp16_rnd_str><mode>): New. (neon_vrsqrte<mode>): New. (neon_vpaddv4hf): New. (neon_vadd<mode>): New. (neon_vsub<mode>): New. (neon_vmulf<mode>): New. (neon_vfma<VH:mode>): New. (neon_vfms<VH:mode>): New. (neon_vc<cmp_op><mode>): New. (neon_vc<cmp_op><mode>_fp16insn): New (neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vca<cmp_op><mode>): New. (neon_vca<cmp_op><mode>_fp16insn): New. (neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vc<cmp_op>z<mode>): New. (neon_vabd<mode>): New. (neon_v<maxmin>f<mode>): New. (neon_vp<maxmin>fv4hf: New. (neon_<fmaxmin_op><mode>): New. (neon_vrecps<mode>): New. (neon_vrsqrts<mode>): New. (neon_vrecpe<mode>): New (VH variant). (neon_vdup_lane<mode>_internal): New. (neon_vdup_lane<mode>): New. (neon_vcvt<sup><mode>): New (VCVTHI variant). (neon_vcvt<sup><mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VCVTHI variant). (neon_vcvt<vcvth_op><sup><mode>): New. (neon_vmul_lane<mode>): New. (neon_vmul_n<mode>): New. * config/arm/unspecs.md (UNSPEC_VCALE): New (UNSPEC_VCALT): New. (UNSPEC_VFMA_LANE): New. (UNSPECS_VFMS_LANE): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-arith-1.c: Use arm_v8_2a_fp16_neon options. Add tests for float16x4_t and float16x8_t. From-SVN: r240415
Diffstat (limited to 'gcc/hooks.h')
0 files changed, 0 insertions, 0 deletions