diff options
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index aa3e0d8..c659611 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -6854,6 +6854,11 @@ inline_expand_builtin_string_cmp (tree exp, rtx target) unsigned HOST_WIDE_INT length = 0; bool is_ncmp = (fcode == BUILT_IN_STRNCMP || fcode == BUILT_IN_MEMCMP); + /* Do NOT apply this inlining expansion when optimizing for size or + optimization level below 2. */ + if (optimize < 2 || optimize_insn_for_size_p ()) + return NULL_RTX; + gcc_checking_assert (fcode == BUILT_IN_STRCMP || fcode == BUILT_IN_STRNCMP || fcode == BUILT_IN_MEMCMP); |