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>
|
2016-09-29 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
* dwarf2out.c (loc_descriptor): Add fall through comment.
|
* 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;
|
by_pieces_constfn constfn = NULL;
|
||||||
|
|
||||||
const char *src_str = c_getstr (arg1);
|
const char *src_str = c_getstr (arg2);
|
||||||
if (src_str == NULL)
|
if (result_eq && src_str == NULL)
|
||||||
src_str = c_getstr (arg2);
|
{
|
||||||
else
|
src_str = c_getstr (arg1);
|
||||||
std::swap (arg1_rtx, arg2_rtx);
|
if (src_str != NULL)
|
||||||
|
std::swap (arg1_rtx, arg2_rtx);
|
||||||
|
}
|
||||||
|
|
||||||
/* If SRC is a string constant and block move would be done
|
/* If SRC is a string constant and block move would be done
|
||||||
by pieces, we can avoid loading the string from memory
|
by pieces, we can avoid loading the string from memory
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue