https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107762
Bug ID: 107762 Summary: [13 Regression] Recent change causing regressions on s390-linux-gnu Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: law at gcc dot gnu.org CC: ebotcazou at gcc dot gnu.org Target Milestone: --- Target: s390-linux-gnu This change: commit 3e2bdf2460a34a2389dee813a2ba8ecf976f2ec9 Author: Eric Botcazou <ebotca...@adacore.com> Date: Fri Nov 4 11:15:57 2022 +0100 Do not use subword paradoxical subregs in emit_group_store The goal of the trick is to make life easier for the combiner, but subword paradoxical subregs make it harder for the register allocator instead. gcc/ * expr.cc (emit_group_store): Do not use subword paradoxical subregs Is causing at least two regressions on s390-linux-gnu: Tests that now fail, but worked before (19 tests): [ ... ] gcc.target/s390/arch12/mul-1.c scan-assembler-times \tmsgrkc\t 1 gcc.target/s390/arch13/sel-1.c scan-assembler-times \tselgr(?:h|le)\t 1 [ ... ] Those are the only two that I have positively confirmed are due to the emit_group_store change. I looked briefly at the resulting assembly code for the mul-1 test and it looks worse to me after that change. But I'm far from an s390 expert. You can see this with a cross compiler, you don't need a full toolchain to test.