On 14/03/13 12:49, Tejas Belagod wrote:
Hi,

Attached is a patch that implements the framework necessary for implementing
NEON Intrinsics' builtins in Tree/Gimple rather than RTL. For this it uses the
target hook TARGET_FOLD_BUILTIN and folds all the builtins for NEON Intrinsics
into equivalent trees. This framework is accompanied by an example
implementation of vaddv<q>_f<32, 64> intrinsics using the framework.

Regression tested on aarch64-none-elf. OK for trunk?

Thanks,
Tejas Belagod
ARM.

Changelog:

2013-03-14  Tejas Belagod  <tejas.bela...@arm.com>

gcc/
        * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): New.
        * config/aarch64/aarch64-protos.h (aarch64_fold_builtin): Declare.
        * config/aarch64/aarch64-simd-builtins.def: New entry for reduc_splus.
        * config/aarch64/aarch64.c (TARGET_FOLD_BUILTIN): Define.
        * config/aarch64/arm_neon.h (vaddv_f32, vaddvq_f32, vaddvq_f64): New.

testsuite/
        * gcc.target/aarch64/vaddv-intrinsic-compile.c: New.
        * gcc.target/aarch64/vaddv-intrinsic.c: New.


I think we need to wait for a resolution to this thread:
http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00505.html
before we can take this patch.

/Marcus

Reply via email to