https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114232
--- Comment #13 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #12) > Still, it would be nice to understand what changed > optimize_function_for_size_p (cfun) > after IPA. Is something adjusting node->count or node->frequency? > Otherwise it should just depend on the optimize_size flag which should not > change... The target-dependent issue is with insn patterns we split to. These are enabled with "!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)", as they are intended to be combined from movstrict insn pattern (which can FAIL). So, the condition for V2QI insn is now either !TARGET_PARTIAL_REG_STALL or TARGET_SSE2 (where we disable alternative 0 for TARGET_PARTIAL_REG_STALL targets, but we still emit SSE instruction). Please note that while -march=i686 enables TARGET_PARTIAL_REG_STALL, it enables SSE2, so the proposed solution won't have much impact. Also, V2QImode is not much used, so I guess the proposed solution is the right compromise.