https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120846

            Bug ID: 120846
           Summary: vect_dotprod_hisi is used inconsistently with
                    documentation and name in Test of autovectorization of
                    different dot-prod modes
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amylaar at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org, victorldn at gcc dot gnu.org
  Target Milestone: ---

The documentation for check_effective_target_vect_dotprod_hisi says:
# Return 1 if the target supports two-way dot products on inpus of hi mode
# producing si outputs, 0 otherwise.

However, gcc.dg/vect/vect-dotprod-conv-optab.c uses this check to also gate a
test
for a v4qisi dot product.

I am trying to get sensible test results for a processor family that has v2hi
-> si
dot product across a large part of the subtargets, but has byte vectors and the
related conversions only for a much smaller subset.

The udot4 function clearly requires v4qi->si dotproduct functionality to
vectorize,
so I can't understand the reasoning in
https://gcc.gnu.org/pipermail/gcc-patches/2024-August/660867.html
.

Is the test supposed to check vectorization of both the hisi and qisi
dotproduct, but only if both are supported, or should it check each depending
on if the specific operations is expected to be vectorized?

Reply via email to