As seen here https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=588.140.0 there was a 4.5% exec time slowdown of the 447.dealII SPEC 2006 benchmark between commits r15-1803-g038d64f62271dd r15-1889-gf90ca62566c1d2 when run with -Ofast -march=native -flto on an aarch64 Ampere Altra - Neoverse N1 machine.
I am suspecting it is the std::find changes (e.g r15-1857). I did hear that libc++'s usage of memchr was slowering for SPEC 2006 on aarch64 before and dealII is C++ code after all.
Also what glibc version is on the system? Since if it is std::find that is causing the regression memchr was improved in the last year or so in glibc.
The machine in question has glibc 2.36 so the benchmark is running without this memchr improvement. We intend to update that machine sometime in the next 3 months. I can get back to this bug when we do that and see if the update gets rid of this slowdown.
Hmm. The slowdown disappeared again. The measurements went back to their original values. I'll mark this PR as WORKSFORME if there are no objections. Btw we upgraded the machine's glibc. That happened after the slowdown disappeared. It didn't seem to affect the benchmark exec time. See the graph I sent originally. The orange line represents the upgrade.
Marking as WORKSFORME.