aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/usage.adb
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2012-12-05 10:34:31 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2012-12-05 10:34:31 +0000
commit42fc9a7f08f7762b2055e563eeecac81c794b457 (patch)
tree7add6443c2ec20e9136161c82953fe3d054b8ec3 /gcc/ada/usage.adb
parentbe4c5193199667c1e167ad558f4c8a9504eeeda6 (diff)
downloadgcc-42fc9a7f08f7762b2055e563eeecac81c794b457.zip
gcc-42fc9a7f08f7762b2055e563eeecac81c794b457.tar.gz
gcc-42fc9a7f08f7762b2055e563eeecac81c794b457.tar.bz2
[AARCH64] Add support for vectorizable 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. From-SVN: r194197
Diffstat (limited to 'gcc/ada/usage.adb')
0 files changed, 0 insertions, 0 deletions