On 1/31/2026 1:07 AM, Alexandre Oliva wrote:
While investigating riscv*-elf testsuite failures in gcc-15, I found
mainline still had failures for a number of the dynamic-lmul tests I
investigated, though not always the same as gcc-15 due to other
changes.  Here are some adjustments to the tests, whether updates or
xfails, to fix or silence the failures for gcc-16, respectively.
In general we haven't put much time (yet) into making dynamic-lmul real.   Though I think everyone involved in the RVV effort expects that over time good support for dynamic lmul is where we want to go.
* pr113112-3.c: We get a much higher lmul (m8) than expected (m2), for
the same e32 element size, but the generated code is far too much
larger and hairier.  While the lmul bump is probably a welcome
improvement, the expected choice of return instruction isn't found,
and I can't tell why the test prefers one over the other, so I'm
XFAILing all of them.
FWIW, a larger LMUL isn't always a win, even if it doesn't trigger spilling or anything like that.  But my hope is that with few exceptions that a larger LMUL doesn't hurt performance in the future (it certainly can right now on current designs).





* pr113112-4.c: We get a lower lmul than expected, but that
expectation was different before r15-639, and we get what we used to
expect before that change.  Since we could do better at some point,
I'm XFAILing it.

Regstrapped on x86_64-linux-gnu along with other patches in this batch;
also tested with targets riscv64-elf and riscv32-elf on the same host.


for  gcc/testsuite/ChangeLog

        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Revert
        Maximum lmul = 2 count.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: XFAIL
        unmet lmul selection expectations.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Likewise,
        and drop start/end patterns.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: XFAIL
        missing Maximum lmul messages.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Likewise.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Drop
        Maximum lmul = 8 message.  Likewise.
        * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Likewise.
        * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: XFAIL unexpected
        selections of lmul, and of return insn.
        * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: XFAIL unexpected
        selection of lmul.
OK
jeff

Reply via email to