https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48110
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |c --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The code is in c-family/c-common: /* Assume that Ox is -Ox, a numeric value is -Ox, a s by itself is -Os, and any other switch begins with a -f. */ if ((*p >= '0' && *p <= '9') || (p[0] == 's' && p[1] == '\0')) *r++ = 'O'; else if (*p != 'O') *r++ = 'f'; as you can see 's' is support by that but 'g' or "fast" is not.