[Patch, AArch64] Implement framework for Tree/Gimple Implementation of NEON intrinsics.

Tejas Belagod tbelagod@arm.com
Thu Mar 14 12:50:00 GMT 2013


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.belagod@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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: target-fold-builtin-5.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130314/6472d4f9/attachment.txt>


More information about the Gcc-patches mailing list