builtins.c (expand_builtin_memset, [...]): Additional arguments TARGET and MODE.
authorRoger Sayle <roger@eyesopen.com>
Thu, 13 Dec 2001 00:43:51 +0000 (00:43 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 13 Dec 2001 00:43:51 +0000 (16:43 -0800)
commitc2bd38e89276e521395d42410655af037ee0c3ed
treed40d346c1448d1fbceadd76b947d2bb4312a9c5f
parent897bb55fe36f6908d336f79c9853f1dd16058790
builtins.c (expand_builtin_memset, [...]): Additional arguments TARGET and MODE.

        * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
        expand_builtin_strcpy): Additional arguments TARGET and MODE.
        (expand_builtin_bzero, expand_builtin_strcpy,
        expand_builtin_strncpy, expand_builtin_bzero): Pass additional
        TARGET and MODE parameters to the above functions.
        (expand_builtin_memset, expand_builtin_memcpy): Optimize the
        case where the LEN parameter is constant zero.
        (expand_builtin_memcmp): No longer conditional on
        HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
        the cases where len is either constant zero or one.
        Optimize to call to memcpy, even if the memcpy isn't inlined.
        (expand_builtin_strncpy): Optimize to call memcpy, even if the
        memcpy isn't inlined.
        (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
        to optimize to a call to memcmp.
        (expand_builtin): expand_builtin_memcmp can always be called,
        and pass the required parameters to expand_builtin_memcmp,
        expand_builtin_memset, expand_builtin_memcpy and
        expand_builtin_strcpy.

        * gcc.c-torture/execute/string-opt-14.c: New test case.
        * gcc.c-torture/execute/string-opt-15.c: New test case.

From-SVN: r47960
gcc/ChangeLog
gcc/builtins.c
gcc/testsuite/gcc.c-torture/execute/string-opt-14.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/string-opt-15.c [new file with mode: 0644]