public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Christophe Lyon <christophe.lyon@linaro.org>
To: Thomas Preudhomme <thomas.preudhomme@foss.arm.com>
Cc: Kyrill Tkachov <kyrylo.tkachov@arm.com>,
		Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>,
	Richard Earnshaw <richard.earnshaw@arm.com>,
		"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets
Date: Mon, 19 Jun 2017 14:31:00 -0000	[thread overview]
Message-ID: <CAKdteOa8GYiJ9rTfWy_Na2nUyQ3g0YLw=y6pA3DpWCzG2Gtogw@mail.gmail.com> (raw)
In-Reply-To: <79423ae5-68f4-2b5e-96dc-790122c4db0c@foss.arm.com>

On 19 June 2017 at 16:11, Thomas Preudhomme
<thomas.preudhomme@foss.arm.com> wrote:
>
>
> On 19/06/17 10:16, Thomas Preudhomme wrote:
>>
>>
>>
>> On 19/06/17 08:41, Christophe Lyon wrote:
>>>
>>> Hi Thomas,
>>>
>>>
>>> On 15 June 2017 at 18:18, Thomas Preudhomme
>>> <thomas.preudhomme@foss.arm.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> 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
>>>> is-effective-target
>>>>
>>>> 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  <thomas.preudhomme@arm.com>
>>>>
>>>>         * lib/target-supports.exp (check_effective_target_vect_int):
>>>> Replace
>>>>         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_hi_to_si_pattern):
>>>> 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_mult_qi_to_hi_pattern):
>>>> Likewise.
>>>>         (check_effective_target_vect_widen_mult_hi_to_si_pattern):
>>>> 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). Testing was done with both
>>>> compare_tests
>>>> and the updated dg-cmp-results proposed in
>>>> https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01030.html
>>>>
>>>> Is this ok for trunk?
>>>>
>>>
>>> I applied your patch on top of r249233, and noticed quite a few changes:
>>>
>>> http://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/249233-consistent_neon_check.patch/report-build-info.html
>>>
>>>
>>> Note that "Big-Regression" cases are caused by the fact that there a
>>> are PASS->XPASS and XFAILs disappear with your patch, and many
>>> (3000-4000) PASS disappear.
>>> In that intended?
>>
>>
>> It certainly is not. I'd like to investigate this but the link to results
>> for
>> rev 249233 is broken. Could you provide me with the results you have for
>> that so
>> that I can compare manually?
>
>
> Actually yes it is, at least for the configurations with default (which
> still uses -mfpu=vfp in r249233) or VFP (whatever version) FPU. I've checked
> all the ->NA and ->UNSUPPORTED for the arm-none-linux-gnueabi configuration
> and none of them has a dg directive to select the neon unit (such as
> dg-additional-options <something that would add -mfpu on the command line>).
> I've also looked at arm-none-linux-gnueabihf configuration with neon FPU and
> there is no regression there.
>
> I therefore think this is all normal and expected. Note that under current
> trunk this should be different because neon-fp16 would be selected instead
> of vfp for default FPU with Cortex-A9.
>

OK, thanks for checking. So the version you sent on June 15th is OK?
I can start a validation against current trunk, after Richard's series,
it probably makes sense, doesn't it?

Thanks,

Christophe

> Best regards,
>
> Thomas

  reply	other threads:[~2017-06-19 14:31 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-13  9:08 Thomas Preudhomme
2017-06-13 19:22 ` Christophe Lyon
2017-06-14  8:26   ` Thomas Preudhomme
2017-06-14  8:29     ` Christophe Lyon
2017-06-14  9:07       ` Thomas Preudhomme
2017-06-15 16:18   ` Thomas Preudhomme
2017-06-19  7:41     ` Christophe Lyon
2017-06-19  9:16       ` Thomas Preudhomme
2017-06-19  9:24         ` Christophe Lyon
2017-06-19 14:11         ` Thomas Preudhomme
2017-06-19 14:31           ` Christophe Lyon [this message]
2017-06-19 14:47             ` Thomas Preudhomme
2017-06-20 12:44               ` Christophe Lyon
2017-06-28 14:49                 ` Thomas Preudhomme
2017-06-28 14:59                   ` Kyrill Tkachov
2017-06-28 15:03                     ` Thomas Preudhomme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKdteOa8GYiJ9rTfWy_Na2nUyQ3g0YLw=y6pA3DpWCzG2Gtogw@mail.gmail.com' \
    --to=christophe.lyon@linaro.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=kyrylo.tkachov@arm.com \
    --cc=ramana.radhakrishnan@arm.com \
    --cc=richard.earnshaw@arm.com \
    --cc=thomas.preudhomme@foss.arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).