This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM][2/2] Vectorise lroundf, lfloorf, lceilf using the new ARMv8-A vcvt* instructions
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- Cc: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Wed, 3 Sep 2014 09:42:47 +0200
- Subject: Re: [PATCH][ARM][2/2] Vectorise lroundf, lfloorf, lceilf using the new ARMv8-A vcvt* instructions
- Authentication-results: sourceware.org; auth=none
- References: <5405E39C dot 30100 at arm dot com> <5405E6CC dot 6090107 at arm dot com>
Hi Kyrill,
I've noticed that the tests you added with this patch fail
(scan-tree-dump-times) for the armeb-none-linux-gnueabihf target.
Not sure if you want to fix your patch or the tests?
Christophe.
On 2 September 2014 17:48, Ramana Radhakrishnan
<ramana.radhakrishnan@arm.com> wrote:
>
>
> On 02/09/14 16:34, Kyrill Tkachov wrote:
>>
>> Hi all,
>>
>> In continuation of patch [1/2]...
>> We can use the vector forms of the vcvt{a,p,m} instructions to vectorise
>> the l{round, ceil, floor}f functions.
>> Builtins are added and the TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
>> implementation is updated to wire up the vectorised forms of these
>> functions to the midend.
>>
>> Bootstrapped and tested on arm-none-linux-gnueabihf.
>>
>> Ok for trunk?
>
>
> Ok - thanks.
>
> Ramana
>
>>
>> Thanks,
>> Kyrill
>>
>> 2014-09-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>
>> PR target/62275
>> * config/arm/neon.md
>> (neon_vcvt<NEON_VCVT:nvrint_variant><su_optab><VCVTF:mode>
>> <v_cmp_result>): New pattern.
>> * config/arm/iterators.md (NEON_VCVT): New int iterator.
>> * config/arm/arm_neon_builtins.def (vcvtav2sf, vcvtav4sf,
>> vcvtauv2sf,
>> vcvtauv4sf, vcvtpv2sf, vcvtpv4sf, vcvtpuv2sf, vcvtpuv4sf, vcvtmv2sf,
>> vcvtmv4sf, vcvtmuv2sf, vcvtmuv4sf): New builtin definitions.
>> * config/arm/arm.c (arm_builtin_vectorized_function): Handle
>> BUILT_IN_LROUNDF, BUILT_IN_LFLOORF, BUILT_IN_LCEILF.
>>
>> 2014-09-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>
>> PR target/62275
>> * gcc.target/arm/vect-lceilf_1.c: New test.
>> * gcc.target/arm/vect-lfloorf_1.c: Likewise.
>> * gcc.target/arm/vect-lroundf_1.c: Likewise.
>>
>