+2018-08-15 Qing Zhao <qing.zhao@oracle.com>
+
+ PR testsuite/86519
+ * builtins.c (expand_builtin_memcmp): Do not expand the call
+ when overflow is detected.
+
2018-08-15 Martin Sebor <msebor@redhat.com>
PR tree-optimization/71625
/*objsize=*/NULL_TREE);
}
+ /* If the specified length exceeds the size of either object,
+ call the function. */
+ if (!no_overflow)
+ return NULL_RTX;
+
/* Due to the performance benefit, always inline the calls first
when result_eq is false. */
rtx result = NULL_RTX;
- if (!result_eq && fcode != BUILT_IN_BCMP && no_overflow)
+ if (!result_eq && fcode != BUILT_IN_BCMP)
{
result = inline_expand_builtin_string_cmp (exp, target);
if (result)
+2018-08-15 Qing Zhao <qing.zhao@oracle.com>
+
+ PR testsuite/86519
+ * gcc.dg/strcmpopt_6.c: Scan the assembly file instead of
+ the .expand file.
+
2018-08-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/wmain.c: New test.
/* When the specified length exceeds one of the arguments of the call to memcmp,
the call to memcmp should NOT be inlined. */
-/* { dg-do run } */
-/* { dg-options "-O2 -fdump-rtl-expand -Wno-stringop-overflow" } */
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wno-stringop-overflow" } */
typedef struct { char s[8]; int x; } S;
}
-/* { dg-final { scan-rtl-dump-times "__builtin_memcmp" 6 "expand" } } */
+/* { dg-final { scan-assembler-times "memcmp" 2 } } */