diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-13 00:43:51 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-13 00:43:51 +0000 |
commit | 6f428e8ba056d4e204ce41d5899948abac35d591 (patch) | |
tree | d40d346c1448d1fbceadd76b947d2bb4312a9c5f /gcc/recog.c | |
parent | be2c3b69d292eca00359ab6454cf96309175d471 (diff) | |
download | gcc-6f428e8ba056d4e204ce41d5899948abac35d591.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47960 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
0 files changed, 0 insertions, 0 deletions