The inline expansions are non-trivial, so aren't really appropriate
for -Os.

Bootstrapped and regression tested powerpc64le-linux.  OK to apply?

        * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
        optimizing for size.

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 9ef3b11..d729f40 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -9102,7 +9102,8 @@ (define_expand "cmpstrnsi"
              (use (match_operand:SI 4))])]
   "TARGET_CMPB && (BYTES_BIG_ENDIAN || TARGET_LDBRX)"
 {
-  if (expand_strn_compare (operands, 0))
+  if (!optimize_insn_for_size_p ()
+      && expand_strn_compare (operands, 0))
     DONE;
   else 
     FAIL;
@@ -9121,7 +9122,8 @@ (define_expand "cmpstrsi"
              (use (match_operand:SI 3))])]
   "TARGET_CMPB && (BYTES_BIG_ENDIAN || TARGET_LDBRX)"
 {
-  if (expand_strn_compare (operands, 1))
+  if (!optimize_insn_for_size_p ()
+      && expand_strn_compare (operands, 1))
     DONE;
   else 
     FAIL;

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to