+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.
by_pieces_constfn constfn = NULL;
- const char *src_str = c_getstr (arg1);
- if (src_str == NULL)
- src_str = c_getstr (arg2);
- else
- std::swap (arg1_rtx, arg2_rtx);
+ 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