This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 8/15][AArch64] Add support for float16x{4,8}_t vectors/builtins
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Alan Lawrence <Alan dot Lawrence at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 17 Aug 2015 14:12:49 +0100
- Subject: Re: [PATCH 8/15][AArch64] Add support for float16x{4,8}_t vectors/builtins
- Authentication-results: sourceware.org; auth=none
- References: <55B765DF dot 4040706 at arm dot com> <55B766B4 dot 2030305 at arm dot com> <20150729102409 dot GC5656 at arm dot com> <55C09B8F dot 6020700 at arm dot com> <55C09E4B dot 3000308 at arm dot com>
On Tue, Aug 04, 2015 at 12:13:15PM +0100, Alan Lawrence wrote:
> > Bootstrapped + check-gcc on aarch64-none-linux-gnu.
> >
> > gcc/ChangeLog:
> >
> > * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
> > V4HFmode and V8HFmode.
> > (aarch64_split_simd_move): Add case for V8HFmode.
> > * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
> > (aarch64_simd_builtin_std_type): Handle HFmode.
> > (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
> >
> > * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
> > aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
> > (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
> >
> > * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
> > Float16x8_t.
> >
> > * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
> > * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
> > New typedefs.
> > (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
> > vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
> > vst1q_lane_f16): New.
> > * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
> > (VALLDI_F16, VALL_F16): New.
> > (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
> > Add cases for V4HF and V8HF.
> > (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
> >
> > gcc/testsuite/ChangeLog:
> >
> > * g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and
> > float16x8_t.
> > * gcc.target/aarch64/vset_lane_1.c: Likewise.
> > * gcc.target/aarch64/vld1-vst1_1.c: Likewise.
> > * gcc.target/aarch64/vld1_lane.c: Likewise.
> >
OK.
Thanks,
James