https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89491
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-07-19 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Severity|normal |enhancement Keywords| |missed-optimization --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The big question is how useful is this in real code? ICC does it, then there must have been a benchmark where this improves but I don't know which one. Also it looks like ICC does: int f(int x) { const p *t = arr[x]; if (t == square) return square(1); else return add(1); }