Hi Martin On Tue, Apr 30, 2019 at 10:00:07AM -0600, Jeff Law wrote: > > 2019-04-23 Martin Liska <mli...@suse.cz> > > > > PR target/88809 > > * config/i386/i386.c (ix86_expand_strlen): Use strlen call. > > With -minline-all-stringops use inline expansion using 4B loop. > > * doc/invoke.texi: Document the change of > > -minline-all-stringops. > > > > gcc/testsuite/ChangeLog: > > > > 2019-04-23 Martin Liska <mli...@suse.cz> > > > > PR target/88809 > > * gcc.target/i386/pr88809.c: New test. > > * gcc.target/i386/pr88809-2.c: New test. > OK for the trunk.
The tests fail on darwin FAIL: gcc.target/i386/pr88809-2.c scan-assembler call[ \\t]strlen FAIL: gcc.target/i386/pr88809.c scan-assembler call[ \\t]strlen This is fixed with the following patch --- ../_clean/gcc/testsuite/gcc.target/i386/pr88809.c 2019-05-02 10:16:16.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr88809.c 2019-05-03 10:11:37.000000000 +0200 @@ -6,4 +6,4 @@ unsigned int foo (const char *ptr) return __builtin_strlen (ptr); } -/* { dg-final { scan-assembler "call\[ \t\]strlen" } } */ +/* { dg-final { scan-assembler "call\[ \t\]_?strlen" } } */ --- ../_clean/gcc/testsuite/gcc.target/i386/pr88809-2.c 2019-05-02 10:16:16.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr88809-2.c 2019-05-03 11:00:28.000000000 +0200 @@ -6,4 +6,4 @@ unsigned int foo (const char *ptr) return __builtin_strlen (ptr); } -/* { dg-final { scan-assembler "call\[ \t\]strlen" } } */ +/* { dg-final { scan-assembler "(jmp|call)\[ \t\]_?strlen" } } */ (the ‘call’ is replaced with a ‘amp’ when using -m32). TIA Dominique