http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52171
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-19 14:50:52 UTC --- Happens in insn-preds.c quite often: case 'Y': if (!strncmp (str, "Yi", 2)) return CONSTRAINT_Yi; if (!strncmp (str, "Ym", 2)) return CONSTRAINT_Ym; if (!strncmp (str, "Yp", 2)) return CONSTRAINT_Yp; if (!strncmp (str, "Ya", 2)) return CONSTRAINT_Ya; ... and later calls are predicted as cold and thus not expanded inline by (define_expand "cmpstrnsi" [(set (match_operand:SI 0 "register_operand" "") (compare:SI (match_operand:BLK 1 "general_operand" "") (match_operand:BLK 2 "general_operand" ""))) (use (match_operand 3 "general_operand" "")) (use (match_operand 4 "immediate_operand" ""))] "" { rtx addr1, addr2, out, outlow, count, countreg, align; if (optimize_insn_for_size_p () && !TARGET_INLINE_ALL_STRINGOPS) FAIL; the insn-preds.c code could also be optimized, for length 2 a simple char equality test would be enough ...