Hi Delia,
On 1/28/20 4:44 PM, Delia Burduv wrote:
Ping.
------------------------------------------------------------------------
*From:* Delia Burduv <delia.bur...@arm.com>
*Sent:* 22 January 2020 17:26
*To:* gcc-patches@gcc.gnu.org <gcc-patches@gcc.gnu.org>
*Cc:* ni...@redhat.com <ni...@redhat.com>; Richard Earnshaw
<richard.earns...@arm.com>; Ramana Radhakrishnan
<ramana.radhakrish...@arm.com>; Kyrylo Tkachov <kyrylo.tkac...@arm.com>
*Subject:* Re: [GCC][PATCH][AArch32] ACLE intrinsics bfloat16 vmmla
and vfma<b/t> for AArch32 AdvSIMD
Ping.
I have read Richard Sandiford's comments on the AArch64 patches and I
will apply what is relevant to this patch as well. Particularly, I will
change the tests to use the exact input and output registers and I will
change the types of the rtl patterns.
Please send the updated patches so that someone can commit them for you
once they're reviewed.
Thanks,
Kyrill
On 12/20/19 6:44 PM, Delia Burduv wrote:
> This patch adds the ARMv8.6 ACLE intrinsics for vmmla, vfmab and vfmat
> as part of the BFloat16 extension.
> (https://developer.arm.com/docs/101028/latest.)
> The intrinsics are declared in arm_neon.h and the RTL patterns are
> defined in neon.md.
> Two new tests are added to check assembler output and lane indices.
>
> This patch depends on the Arm back-end patche.
> (https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01448.html)
>
> Tested for regression on arm-none-eabi and armeb-none-eabi. I don't
have
> commit rights, so if this is ok can someone please commit it for me?
>
> gcc/ChangeLog:
>
> 2019-11-12 Delia Burduv <delia.bur...@arm.com>
>
> * config/arm/arm_neon.h (vbfmmlaq_f32): New.
> (vbfmlalbq_f32): New.
> (vbfmlaltq_f32): New.
> (vbfmlalbq_lane_f32): New.
> (vbfmlaltq_lane_f32): New.
> (vbfmlalbq_laneq_f32): New.
> (vbfmlaltq_laneq_f32): New.
> * config/arm/arm_neon_builtins.def (vbfmmla): New.
> (vbfmab): New.
> (vbfmat): New.
> (vbfmab_lane): New.
> (vbfmat_lane): New.
> (vbfmab_laneq): New.
> (vbfmat_laneq): New.
> * config/arm/iterators.md (BF_MA): New int iterator.
> (bt): New int attribute.
> (VQXBF): Copy of VQX with V8BF.
> (V_HALF): Added V8BF.
> * config/arm/neon.md (neon_vbfmmlav8hi): New insn.
> (neon_vbfma<bt>v8hi): New insn.
> (neon_vbfma<bt>_lanev8hi): New insn.
> (neon_vbfma<bt>_laneqv8hi): New expand.
> (neon_vget_high<mode>): Changed iterator to VQXBF.
> * config/arm/unspecs.md (UNSPEC_BFMMLA): New UNSPEC.
> (UNSPEC_BFMAB): New UNSPEC.
> (UNSPEC_BFMAT): New UNSPEC.
>
> 2019-11-12 Delia Burduv <delia.bur...@arm.com>
>
> * gcc.target/arm/simd/bf16_ma_1.c: New test.
> * gcc.target/arm/simd/bf16_ma_2.c: New test.
> * gcc.target/arm/simd/bf16_mmla_1.c: New test.