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.

Reply via email to