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

            Bug ID: 103316
           Summary: PowerPC: Gimple folding of int128 comparisons produces
                    suboptimal code
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: wschmidt at gcc dot gnu.org
  Target Milestone: ---

While working on replacing the old builtins infrastructure for the rs6000 back
end, I observed that we generate poor code for 128-bit comparisons if we enable
gimple folding on such builtins.  These included (old internal names):

  P10V_BUILTIN_VCMPEQUT
  P10V_BUILTIN_CMPNET
  P10V_BUILTIN_CMPGE_1TI
  P10V_BUILTIN_CMPGE_U1TI
  P10V_BUILTIN_VCMPGTUT
  P10V_BUILTIN_VCMPGTST
  P10V_BUILTIN_CMPLE_1TI
  P10V_BUILTIN_CMPLE_U1TI

I disabled gimple folding for these with the new support, but we need to look
into why we generated bad code here.  I suspect it's something as simple as
missing optab entries.

This isn't a regression, just a potential improvement.

Reply via email to