This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [COMMITTED] [PING] [PATCH] [AArch64, NEON] More NEON intrinsics improvement
- From: "Yangfei (Felix)" <felix dot yang at huawei dot com>
- To: Christophe Lyon <christophe dot lyon at linaro dot org>
- Cc: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>, Tejas Belagod <tejas dot belagod at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "Zhanghaijian (A)" <z dot zhanghaijian at huawei dot com>, Jiangjiji <jiangjiji at huawei dot com>, Suipengfei <suipengfei at huawei dot com>
- Date: Wed, 10 Dec 2014 10:21:25 +0000
- Subject: Re: [COMMITTED] [PING] [PATCH] [AArch64, NEON] More NEON intrinsics improvement
- Authentication-results: sourceware.org; auth=none
- References: <DA41BE1DDCA941489001C7FBD7A8820E837A43E0 at szxema507-mbx dot china dot huawei dot com> <5481FD0C dot 3020500 at arm dot com> <CAFqB+PwnVjYog5x6x3BbuKRPiCZ=2jGvbSVXQzFbo9fBP6YhNw at mail dot gmail dot com> <DA41BE1DDCA941489001C7FBD7A8820E837ABAE6 at szxema507-mbx dot china dot huawei dot com> <CAKdteOaTZs6EjWJ+SziBj_t_fhe9LYOoeMrmOFTiGz4e_GF8Uw at mail dot gmail dot com>
> >> >>> +__extension__ static __inline float32x2_t __attribute__
> >> >>> +((__always_inline__))
> >> >>> +vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) {
> >> >>> + return __builtin_aarch64_fmav2sf (-__b, __c, __a); }
> >> >>> +
> >> >>> +__extension__ static __inline float32x4_t __attribute__
> >> >>> +((__always_inline__))
> >> >>> +vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) {
> >> >>> + return __builtin_aarch64_fmav4sf (-__b, __c, __a); }
> >> >>> +
> >> >>> +__extension__ static __inline float64x2_t __attribute__
> >> >>> +((__always_inline__))
> >> >>> +vfmsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c) {
> >> >>> + return __builtin_aarch64_fmav2df (-__b, __c, __a); }
> >> >>> +
> >> >>> +
> >> >
> >> >
> >> > Thanks, the patch looks good. Just one comment:
> >> > You could also add
> >> > float32x2_t vfms_n_f32(float32x2_t a, float32x2_t b, float32_t n)
> >> > and its Q-variant.
> >>
> >> You can, if you wish, deal with Tejas' comment with a follow on patch
> >> rather than re-spinning this one. Provided this patch has no
> >> regressions on a big endian and a little endian test run then you can commit it.
> >> Thanks
> >> /Marcus
> >
> >
> > No regressions for aarch64_be-linux-gnu target. Committed as r218484.
> > Will come up with a new patch to deal with Tejas' comment. Thanks.
>
> My validations of trunk show that your new tests are incorrect: none of them
> compiles because the hfloat64_t type isn't defined.
>
> Also, keep in mind that the tests in this directory are executed by the aarch32
> target too.
>
> Christophe
It seems that some code for the newly added testcases is missing when the patch is generated.
I will fix them soon. Thanks for pointing this out.