This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Matthew, The attached is the updated one. Regards, Robert > -----Original Message----- > From: Matthew Fortune > Sent: 11 January 2016 13:35 > To: Robert Suchanek; Catherine_Moore@mentor.com > Cc: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH 3/4] Add support to run auto-vectorization tests for > multiple effective targets > > Hi Robert, > > Do you have an updated version of this patch? It no longer applies cleanly. > > Thanks, > Matthew > > > -----Original Message----- > > From: Robert Suchanek > > Sent: 05 January 2016 16:17 > > To: Catherine_Moore@mentor.com; Matthew Fortune > > Cc: gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH 3/4] Add support to run auto-vectorization tests for > > multiple effective targets > > > > Ping. > > > > > -----Original Message----- > > > From: gcc-patches-owner@gcc.gnu.org > > > [mailto:gcc-patches-owner@gcc.gnu.org] On Behalf Of Robert Suchanek > > > Sent: 10 August 2015 13:15 > > > To: Catherine_Moore@mentor.com; Matthew Fortune > > > Cc: gcc-patches@gcc.gnu.org > > > Subject: [PATCH 3/4] Add support to run auto-vectorization tests for > > > multiple effective targets > > > > > > Hi, > > > > > > This patch allows to run auto-vectorization tests for more than one > > > effective target. The initial proposal > > > > > > https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02289.html > > > > > > had some issues that have been addressed and should work as expected > > now. > > > > > > The idea was to add a wrapper procedure that would: > > > 1. Iterative over a list of EFFECTIVE_TARGETS e.g. mips_msa, > > mpaired_single. > > > 2. Add necessary compile time options for each effective target. > > > 3. Check if it's possible to compile and/or run on a target, and set > > > dg-do-what-default accordingly. > > > 4. Set the target index to tell check_effective_target_vect_* which > > target is > > > currently being processed. > > > 5. Invoke {gfortran-,g++-,}dg-runtest with the list of vector tests as > > normal. > > > > > > The above required that every vector feature e.g. vect_int that caches > > > the result is capable of tracking what target supports a feature. The > > > result is saved to a list at an index controlled by the wrapper > > > (et-dg-runtest). Ports not using this feature, set DEFAULT_VECTFLAGS > > > and the tests should run as they used to. > > > > > > The patch was additionally tested on x86_64-unknown-linux-gnu and > > > aarch64- linux-gnu. > > > > > > Regards, > > > Robert > > > > > > gcc/testsuite/ChangeLog: > > > > > > * g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. > > Call > > > g++-dg-runtest via et-dg-runtest. > > > * gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest. > > > * gcc.dg/vect/vect.exp: Likewise. > > > * gfortran.dg/graphite/graphite.exp: Likewise, but for > > > gfortran-dg-runtest. > > > * gfortran.dg/vect/vect.exp: Likewise. > > > * lib/target-supports.exp (check_mpaired_single_hw_available): New. > > > (check_mips_loongson_hw_available): Likewise. > > > (check_effective_target_mpaired_single_runtime): Likewise. > > > (check_effective_target_mips_loongson_runtime): Likewise. > > > (add_options_for_mpaired_single): Likewise. > > > (check_effective_target_vect_int): Add global et_index. > > > Check and save the supported feature for a target selected by > > > the et_index target. Break long lines where appropriate. Call > > > et-is-effective-target for MIPS with an argument instead of > > > check_effective_target_* where appropriate. > > > (check_effective_target_vect_intfloat_cvt): Likewise. > > > (check_effective_target_vect_uintfloat_cvt): Likewise. > > > (check_effective_target_vect_floatint_cvt): Likewise. > > > (check_effective_target_vect_floatuint_cvt): Likewise. > > > (check_effective_target_vect_simd_clones): Likewise. > > > (check_effective_target_vect_shift): ewise. > > > (check_effective_target_whole_vector_shift): Likewise. > > > (check_effective_target_vect_bswap): Likewise. > > > (check_effective_target_vect_shift_char): Likewise. > > > (check_effective_target_vect_long): Likewise. > > > (check_effective_target_vect_float): Likewise. > > > (check_effective_target_vect_double): Likewise. > > > (check_effective_target_vect_long_long): Likewise. > > > (check_effective_target_vect_no_int_max): Likewise. > > > (check_effective_target_vect_no_int_add): Likewise. > > > (check_effective_target_vect_no_bitwise): Likewise. > > > (check_effective_target_vect_widen_shift): Likewise. > > > (check_effective_target_vect_no_align): Likewise. > > > (check_effective_target_vect_hw_misalign): Likewise. > > > (check_effective_target_vect_element_align): Likewise. > > > (check_effective_target_vect_condition): Likewise. > > > (check_effective_target_vect_cond_mixed): Likewise. > > > (check_effective_target_vect_char_mult): Likewise. > > > (check_effective_target_vect_short_mult): Likewise. > > > (check_effective_target_vect_int_mult): Likewise. > > > (check_effective_target_vect_extract_even_odd): Likewise. > > > (check_effective_target_vect_interleave): Likewise. > > > (check_effective_target_vect_stridedN): Likewise. > > > (check_effective_target_vect_multiple_sizes): Likewise. > > > (check_effective_target_vect64): Likewise. > > > (check_effective_target_vect_call_copysignf): Likewise. > > > (check_effective_target_vect_call_sqrtf): Likewise. > > > (check_effective_target_vect_call_lrint): Likewise. > > > (check_effective_target_vect_call_btrunc): Likewise. > > > (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. > > > (check_effective_target_vect_perm): Likewise, but also append > > *_saved > > > to the existing global name to properly cache the result. > > > (check_effective_target_vect_perm_byte): Likewise. > > > (check_effective_target_vect_perm_short): Likewise. > > > (check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise. > > > (check_effective_target_vect_widen_sum_hi_to_si): Likewise. > > > (check_effective_target_vect_widen_sum_qi_to_hi): Likewise. > > > (check_effective_target_vect_widen_sum_qi_to_si): Likewise. > > > (check_effective_target_vect_widen_mult_qi_to_hi_pattern): > > Likewise. > > > (check_effective_target_vect_widen_mult_qi_to_hi): Likewise. > > > (check_effective_target_vect_widen_mult_hi_to_si_pattern): > > Likewise. > > > (check_effective_target_vect_widen_mult_si_to_di_pattern): > > Likewise. > > > (check_effective_target_vect_sdot_qi): Likewise. > > > (check_effective_target_vect_udot_qi): Likewise. > > > (check_effective_target_vect_sdot_hi): Likewise. > > > (check_effective_target_vect_udot_hi): Likewise. > > > (check_effective_target_vect_usad_char): Likewise. > > > (check_effective_target_vect_pack_trunc): Likewise. > > > (check_effective_target_vect_unpack): Likewise. > > > (check_effective_target_vect_aligned_arrays): Likewise. > > > (check_effective_target_vect_natural_alignment): Likewise. > > > (check_effective_target_vector_alignment_reachable): Likewise. > > > (check_effective_target_vector_alignment_reachable_for_64bit): > > Likewise. > > > (is-effective-target): Initialize et_index if undefined. > > > (et-dg-runtest): New. > > > (et-is-effective-target): Likewise. > > > (check_vect_support_and_set_flags): Add supported MIPS targets to > > > EFFECTIVE_TARGETS list. Return the number of supported targets.
Attachment:
0004-Add-support-to-run-auto-vectorization-tests-for-mult.patch
Description: 0004-Add-support-to-run-auto-vectorization-tests-for-mult.patch
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |