This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Thomas Preudhomme <thomas dot preudhomme at foss dot arm dot com>
- Cc: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Richard Earnshaw <richard dot earnshaw at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 14 Jun 2017 10:29:46 +0200
- Subject: Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets
- Authentication-results: sourceware.org; auth=none
- References: <firstname.lastname@example.org> <CAKdteOYuw6=p6fx22MUpU8wiFsZaHCFKuUO5ZNptO1k4t6Xf6Q@mail.gmail.com> <email@example.com>
On 14 June 2017 at 10:25, Thomas Preudhomme
> On 13/06/17 20:22, Christophe Lyon wrote:
>> Hi Thomas,
>> On 13 June 2017 at 11:08, Thomas Preudhomme
>> <firstname.lastname@example.org> wrote:
>>> Conditions checked for ARM targets in vector-related effective targets
>>> are inconsistent:
>>> * sometimes arm*-*-* is checked
>>> * sometimes Neon is checked
>>> * sometimes arm_neon_ok and sometimes arm_neon is used for neon check
>>> * sometimes check_effective_target_* is used, sometimes
>>> This patch consolidate all of these check into using is-effective-target
>>> arm_neon and when little endian was checked, the check is kept.
>>> ChangeLog entry is as follows:
>>> *** gcc/testsuite/ChangeLog ***
>>> 2017-06-06 Thomas Preud'homme <email@example.com>
>>> * lib/target-supports.exp (check_effective_target_vect_int):
>>> current ARM check by ARM NEON's availability check.
>>> (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_shift): Likewise.
>>> (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_perm): Likewise.
>>> (check_effective_target_vect_perm_byte): Likewise.
>>> (check_effective_target_vect_perm_short): Likewise.
>>> (check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
>>> (check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
>>> (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
>>> (check_effective_target_vect_widen_shift): Likewise.
>>> (check_effective_target_vect_extract_even_odd): Likewise.
>>> (check_effective_target_vect_interleave): Likewise.
>>> (check_effective_target_vect_multiple_sizes): Likewise.
>>> (check_effective_target_vect64): Likewise.
>>> (check_effective_target_vect_max_reduc): Likewise.
>>> Testing: Testsuite shows no regression when targeting ARMv7-A with
>>> -mfpu=neon-fpv4 and -mfloat-abi=hard or when targeting Cortex-M3 with
>>> default FPU and float ABI (soft).
>> That's strange, my testing detects a syntax error:
>> Executed from: gcc.dg/vect/vect.exp
>> gcc.dg/vect/slp-9.c: error executing dg-final: unbalanced close paren
> Indeed, I can see the missing parenthesis. I've checked again with the sum
> file and even with -v -v -v -v dg-cmp-results does not show any regression.
> compare_tests does though but is often more noisy (saying some tests having
> disappeared and appeared).
> This sounds like dg-cmp-results needs to be improved here. I'll do that
> first then test a fixed version of the patch.
I did patch compare_tests a while ago such that it catches ERROR message from
> Many thanks for the testing!
>> for a full picture.
>> Note that the cells with "BETTER" seem to be mostly several PASSes
>> becoming unsupported.
> Best regards,