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

            Bug ID: 125672
           Summary: Jump threading hurts conditional select formation
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ktkachov at gcc dot gnu.org
  Target Milestone: ---

Created attachment 64676
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=64676&action=edit
Testcase demonstrating excessive conditional branches

Looking at SPEC2026 performance, the astcenc performance improves by ~14% on an
aarch64 machine if compiled with -fno-thread-jumps with -Ofast -flto.
The problem seems like a function with many operations that should be converted
to FP CSEL operations (FCSEL on aarch64) but jump threading jumbles up the
basic blocks and phiopt fails to handle them.
I'm attaching a reproducer that shows the effect with and without
-fno-thread-jumps

Reply via email to