https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127309
--- Comment #4 from Drea Pinski <pinskia at gcc dot gnu.org> --- Hmm, looking at the graph for aarch64: https://lnt.opensuse.org/db_default/v4/SPEC/graph?highlight_run=97039&plot.210=575.210.0 The interesting thing is before the removal of the path-splitting around June 30rd, -Ofast was jumpy in performance (this caused GCC always to output a csel afterwards rather than just branchy code). Afterwards was stable at but at the worst performance. Which definitely gives an interesting thing, sometimes the branch predictor would go wrong it seems. For x86; similar thing as aarch64 it seems https://lnt.opensuse.org/db_default/v4/SPEC/graph?highlight_run=97567&plot.210=466.210.0 And yes I checked path-splitting to see was splitting in GCC 16 while on the trunk it was removed and cmov/csel was being produced now. So this is really rather odd performance difference even compared to other micro-arch really.
