Commit 7f85e52c by Chung-Ju Wu Committed by Chung-Ju Wu

[NDS32] Handle subreg correctly in wext_odd_dep_p.

gcc/
	* config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
	subreg.

From-SVN: r270382
parent 8feb61a3
2019-04-16 Chung-Ju Wu <jasonwucj@gmail.com>
* config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
subreg.
2019-04-16 Jakub Jelinek <jakub@redhat.com> 2019-04-16 Jakub Jelinek <jakub@redhat.com>
PR target/90096 PR target/90096
......
...@@ -363,14 +363,19 @@ wext_odd_dep_p (rtx insn, rtx def_reg) ...@@ -363,14 +363,19 @@ wext_odd_dep_p (rtx insn, rtx def_reg)
return reg_overlap_p (def_reg, use_reg); return reg_overlap_p (def_reg, use_reg);
gcc_assert (REG_P (def_reg) || GET_CODE (def_reg) == SUBREG); gcc_assert (REG_P (def_reg) || GET_CODE (def_reg) == SUBREG);
gcc_assert (REG_P (use_reg)); gcc_assert (REG_P (use_reg) || GET_CODE (use_reg) == SUBREG);
if (REG_P (def_reg)) if (REG_P (def_reg))
{ {
if (!TARGET_BIG_ENDIAN) if REG_P (use_reg)
return REGNO (def_reg) == REGNO (use_reg) + 1; {
if (!TARGET_BIG_ENDIAN)
return REGNO (def_reg) == REGNO (use_reg) + 1;
else
return REGNO (def_reg) == REGNO (use_reg);
}
else else
return REGNO (def_reg) == REGNO (use_reg); return true;
} }
if (GET_CODE (def_reg) == SUBREG) if (GET_CODE (def_reg) == SUBREG)
...@@ -378,6 +383,9 @@ wext_odd_dep_p (rtx insn, rtx def_reg) ...@@ -378,6 +383,9 @@ wext_odd_dep_p (rtx insn, rtx def_reg)
if (!reg_overlap_p (def_reg, use_reg)) if (!reg_overlap_p (def_reg, use_reg))
return false; return false;
if (GET_CODE (use_reg) == SUBREG)
return true;
if (!TARGET_BIG_ENDIAN) if (!TARGET_BIG_ENDIAN)
return SUBREG_BYTE (def_reg) == 4; return SUBREG_BYTE (def_reg) == 4;
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment