This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Suitable regression test for vectorizer patches? - (need {u,}madd* pattern)
- From: Joern Wolfgang Rennecke <joern dot rennecke at riscy-ip dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Thu, 01 Nov 2018 10:24:14 +0000
- Subject: Re: Suitable regression test for vectorizer patches? - (need {u,}madd* pattern)
- References: <5BD74A14.3090303@riscy-ip.com> <CAFiYyc0fZQiUPfcZ07XGKorkD-ddvuQWEpKhAN8NRSSkELSHog@mail.gmail.com>
On 30/10/18 08:36, Richard Biener wrote:
On Mon, Oct 29, 2018 at 7:03 PM Joern Wolfgang Rennecke
<joern.rennecke@riscy-ip.com> wrote:
I want to submit some vectorizer patches, what would be a suitable
regression test?
I am sure you have testcases, no? For new features please make them
dg-do run ones by checking correctness.
For the dot product / widen_sum -> madd transformations to trigger,
I need an in-tree port with a named pattern matched by
smadd_widen_optab or umadd_widen_optab, with an input matching
PREFERRED_SIMD_VECTOR_MODE, and hence an output twice that
size (and that pattern must not be eclipsed by existing
[us]sum_widen_optab and [us]dot_prod_optab matches).
I can't find any such port in the tree. Indeed, not any
{u,}madd<vector_in_mode><vector_out_mode>4 pattern at all.
I've heard that arm cortex-m4 hardware acctually supports a madd vector
operation
(V2HI -> V2SI), is that true?
Would the test be suitable if it made the arm target,
with a patch added to add a suitable madd pattern, and my vectorizer
patch added,
use that madd pattern?
Or could I add an imaginary madd vector extension instruction to the arc for
that purpose? But then, it wouldn't actually execute, as it's just a
made-up instruction;
nor would the vectorization test be included in a test run for an actual.