r194222 - in /branches/ARM/aarch64-4.7-branch/g...
jgreenhalgh@gcc.gnu.org
jgreenhalgh@gcc.gnu.org
Wed Dec 5 14:01:00 GMT 2012
Author: jgreenhalgh
Date: Wed Dec 5 14:01:08 2012
New Revision: 194222
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194222
Log:
[AARCH64-4.7] Backport vectorize standard math patterns.
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): New.
* config/aarch64/aarch64-protos.h
(aarch64_builtin_vectorized_function): Declare.
* config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
(frintm, frinti, frintx, frinta, fcvtzs, fcvtzu): Likewise.
(fcvtas, fcvtau, fcvtps, fcvtpu, fcvtms, fcvtmu): Likewise.
* config/aarch64/aarch64-simd.md
(aarch64_frint_<frint_suffix><mode>): New.
(<frint_pattern><mode>2): Likewise.
(aarch64_fcvt<frint_suffix><su><mode>): Likewise.
(l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Likewise.
* config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
* config/aarch64/aarch64.md
(btrunc<mode>2, ceil<mode>2, floor<mode>2)
(round<mode>2, rint<mode>2, nearbyint<mode>2): Consolidate as...
(<frint_pattern><mode>2): ...this.
(lceil<su_optab><mode><mode>2, lfloor<su_optab><mode><mode>2)
(lround<su_optab><mode><mode>2)
(lrint<su_optab><mode><mode>2): Consolidate as...
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): ... this.
* config/aarch64/iterators.md (fcvt_target): New.
(FCVT_TARGET): Likewise.
(FRINT): Likewise.
(FCVT): Likewise.
(frint_pattern): Likewise.
(frint_suffix): Likewise.
(fcvt_pattern): Likewise.
gcc/testsuite/
* gcc.dg/vect/vect-rounding-btrunc.c: New test.
* gcc.dg/vect/vect-rounding-btruncf.c: Likewise.
* gcc.dg/vect/vect-rounding-ceil.c: Likewise.
* gcc.dg/vect/vect-rounding-ceilf.c: Likewise.
* gcc.dg/vect/vect-rounding-floor.c: Likewise.
* gcc.dg/vect/vect-rounding-floorf.c: Likewise.
* gcc.dg/vect/vect-rounding-lceil.c: Likewise.
* gcc.dg/vect/vect-rounding-lfloor.c: Likewise.
* gcc.dg/vect/vect-rounding-nearbyint.c: Likewise.
* gcc.dg/vect/vect-rounding-nearbyintf.c: Likewise.
* gcc.dg/vect/vect-rounding-round.c: Likewise.
* gcc.dg/vect/vect-rounding-roundf.c: Likewise.
* target-supports.exp
(check_effective_target_vect_call_btrunc): New.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
Added:
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-btrunc.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-btruncf.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-ceil.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-ceilf.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-floor.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-floorf.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-lceil.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-lfloor.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-nearbyint.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-nearbyintf.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-round.c
branches/ARM/aarch64-4.7-branch/gcc/testsuite/gcc.dg/vect/vect-rounding-roundf.c
Modified:
branches/ARM/aarch64-4.7-branch/gcc/ChangeLog.aarch64
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64-builtins.c
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64-protos.h
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64-simd-builtins.def
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64-simd.md
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64.c
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/aarch64.md
branches/ARM/aarch64-4.7-branch/gcc/config/aarch64/iterators.md
branches/ARM/aarch64-4.7-branch/gcc/testsuite/ChangeLog.aarch64
branches/ARM/aarch64-4.7-branch/gcc/testsuite/lib/target-supports.exp
More information about the Gcc-cvs
mailing list