mirror of git://gcc.gnu.org/git/gcc.git
cse.c (cse_insn): Restoring old behaviour for src_eqv when dest and value in the REG_EQUAL are...
gcc/ChangeLog: 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org> * cse.c (cse_insn): Restoring old behaviour for src_eqv when dest and value in the REG_EQUAL are same and dest is STRICT_LOW_PART. From-SVN: r226606
This commit is contained in:
parent
4856562a70
commit
1e928e07b2
|
|
@ -1,3 +1,9 @@
|
|||
2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||||
|
||||
* cse.c (cse_insn): Restoring old behaviour for src_eqv
|
||||
when dest and value in the REG_EQUAL are same and dest
|
||||
is STRICT_LOW_PART.
|
||||
|
||||
2015-08-04 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* config/moxie/moxie.h (PRINT_OPERAND,
|
||||
|
|
|
|||
|
|
@ -4528,12 +4528,13 @@ cse_insn (rtx_insn *insn)
|
|||
this case, and if it isn't set, then there will be no equivalence
|
||||
for the destination. */
|
||||
if (n_sets == 1 && REG_NOTES (insn) != 0
|
||||
&& (tem = find_reg_note (insn, REG_EQUAL, NULL_RTX)) != 0
|
||||
&& (! rtx_equal_p (XEXP (tem, 0), SET_SRC (sets[0].rtl))))
|
||||
&& (tem = find_reg_note (insn, REG_EQUAL, NULL_RTX)) != 0)
|
||||
{
|
||||
if (GET_CODE (SET_DEST (sets[0].rtl)) == STRICT_LOW_PART)
|
||||
src_eqv = copy_rtx (XEXP (tem, 0));
|
||||
|
||||
if (GET_CODE (SET_DEST (sets[0].rtl)) != ZERO_EXTRACT
|
||||
&& (! rtx_equal_p (XEXP (tem, 0), SET_SRC (sets[0].rtl))
|
||||
|| GET_CODE (SET_DEST (sets[0].rtl)) == STRICT_LOW_PART))
|
||||
src_eqv = copy_rtx (XEXP (tem, 0));
|
||||
/* If DEST is of the form ZERO_EXTACT, as in:
|
||||
(set (zero_extract:SI (reg:SI 119)
|
||||
(const_int 16 [0x10])
|
||||
|
|
|
|||
Loading…
Reference in New Issue