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