Suitable regression test for vectorizer patches? - (need {u,}madd* pattern)
Joern Wolfgang Rennecke
joern.rennecke@riscy-ip.com
Thu Nov 1 10:42:00 GMT 2018
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.
More information about the Gcc
mailing list