[Ping][PATCH][Arm] ACLE intrinsics: AdvSIMD BFloat16 convert instructions

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Tue Mar 3 09:39:00 GMT 2020


Hi Dennis,

On 3/2/20 5:41 PM, Dennis Zhang wrote:
> Hi all,
>
> On 17/01/2020 16:46, Dennis Zhang wrote:
> > Hi all,
> >
> > This patch is part of a series adding support for Armv8.6-A features.
> > It depends on Arm BFMode patch
> > https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01448.html
> >
> > This patch implements intrinsics to convert between bfloat16 and 
> float32
> > formats.
> > ACLE documents are at https://developer.arm.com/docs/101028/latest
> > ISA documents are at https://developer.arm.com/docs/ddi0596/latest
> >
> > Regression tested.
> >
> > Is it OK for trunk please?


Ok.

Thanks,

Kyrill


> >
> > Thanks,
> > Dennis
> >
> > gcc/ChangeLog:
> >
> > 2020-01-17  Dennis Zhang  <dennis.zhang@arm.com>
> >
> >      * config/arm/arm_bf16.h (vcvtah_f32_bf16, vcvth_bf16_f32): New.
> >      * config/arm/arm_neon.h (vcvt_f32_bf16, vcvtq_low_f32_bf16): New.
> >      (vcvtq_high_f32_bf16, vcvt_bf16_f32): New.
> >      (vcvtq_low_bf16_f32, vcvtq_high_bf16_f32): New.
> >      * config/arm/arm_neon_builtins.def (vbfcvt, vbfcvt_high): New 
> entries.
> >      (vbfcvtv4sf, vbfcvtv4sf_high): Likewise.
> >      * config/arm/iterators.md (VBFCVT, VBFCVTM): New mode iterators.
> >      (V_bf_low, V_bf_cvt_m): New mode attributes.
> >      * config/arm/neon.md (neon_vbfcvtv4sf<VBFCVT:mode>): New.
> >      (neon_vbfcvtv4sf_highv8bf, neon_vbfcvtsf): New.
> >      (neon_vbfcvt<VBFCVT:mode>, neon_vbfcvt_highv8bf): New.
> >      (neon_vbfcvtbf_cvtmode<mode>, neon_vbfcvtbf): New
> >      * config/arm/unspecs.md (UNSPEC_BFCVT, UNSPEC_BFCVT_HIG): New.
> >
> > gcc/testsuite/ChangeLog:
> >
> > 2020-01-17  Dennis Zhang  <dennis.zhang@arm.com>
> >
> >      * gcc.target/arm/simd/bf16_cvt_1.c: New test.
> >
> >
>
> The tests are updated in this patch for assembly test.
> Rebased to trunk top.
>
> Is it OK to commit please?
>
> Cheers
> Dennis



More information about the Gcc-patches mailing list