summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-13 00:43:51 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-13 00:43:51 +0000
commit6f428e8ba056d4e204ce41d5899948abac35d591 (patch)
treed40d346c1448d1fbceadd76b947d2bb4312a9c5f /gcc/recog.c
parentbe2c3b69d292eca00359ab6454cf96309175d471 (diff)
downloadgcc-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