[PATCH][ARM][2/2] Vectorise lroundf, lfloorf, lceilf using the new ARMv8-A vcvt* instructions

Christophe Lyon christophe.lyon@linaro.org
Wed Sep 3 07:42:00 GMT 2014


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.
>>
>



More information about the Gcc-patches mailing list