mirror of git://gcc.gnu.org/git/gcc.git
builtins.c (expand_builtin_memcmp): don't swap args unless result is only being compared with zero.
2016-09-29 Bernd Schmidt <bschmidt@redhat.com> * builtins.c (expand_builtin_memcmp): don't swap args unless result is only being compared with zero. From-SVN: r240625
This commit is contained in:
parent
0b4b9552ee
commit
d0d7f887b7
|
|
@ -1,3 +1,8 @@
|
|||
2016-09-29 Bernd Schmidt <bschmidt@redhat.com>
|
||||
|
||||
* builtins.c (expand_builtin_memcmp): don't swap args unless
|
||||
result is only being compared with zero.
|
||||
|
||||
2016-09-29 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
* dwarf2out.c (loc_descriptor): Add fall through comment.
|
||||
|
|
|
|||
|
|
@ -3707,11 +3707,13 @@ expand_builtin_memcmp (tree exp, rtx target, bool result_eq)
|
|||
|
||||
by_pieces_constfn constfn = NULL;
|
||||
|
||||
const char *src_str = c_getstr (arg1);
|
||||
if (src_str == NULL)
|
||||
src_str = c_getstr (arg2);
|
||||
else
|
||||
const char *src_str = c_getstr (arg2);
|
||||
if (result_eq && src_str == NULL)
|
||||
{
|
||||
src_str = c_getstr (arg1);
|
||||
if (src_str != NULL)
|
||||
std::swap (arg1_rtx, arg2_rtx);
|
||||
}
|
||||
|
||||
/* If SRC is a string constant and block move would be done
|
||||
by pieces, we can avoid loading the string from memory
|
||||
|
|
|
|||
Loading…
Reference in New Issue