https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93533
Bug ID: 93533 Summary: [10 Regression] ICE due to popcounthi2 expansion with -march=z196 since r10-3720 Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- The following testcase ICEs on s390x with -march=z196 -O2 (or any -O+) since r10-3720-gac87f0f3459a57f03503e51aeffc54bb6ef36b90 : unsigned foo (unsigned short a) { a = a - (a >> 1 & 21845); a = (a & 13107) + (a >> 2 & 13107); return (unsigned short) ((a + (a >> 4) & 3855) * 257) >> 8; } The problem is in the popcounthi2_z196 expander that emits invalid RTL.