[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
This commit is contained in:
parent
8feb61a3c5
commit
7f85e52c40
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
PR target/90096
|
||||
|
@ -363,14 +363,19 @@ wext_odd_dep_p (rtx insn, rtx def_reg)
|
||||
return reg_overlap_p (def_reg, use_reg);
|
||||
|
||||
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 (!TARGET_BIG_ENDIAN)
|
||||
return REGNO (def_reg) == REGNO (use_reg) + 1;
|
||||
if REG_P (use_reg)
|
||||
{
|
||||
if (!TARGET_BIG_ENDIAN)
|
||||
return REGNO (def_reg) == REGNO (use_reg) + 1;
|
||||
else
|
||||
return REGNO (def_reg) == REGNO (use_reg);
|
||||
}
|
||||
else
|
||||
return REGNO (def_reg) == REGNO (use_reg);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (GET_CODE (def_reg) == SUBREG)
|
||||
@ -378,6 +383,9 @@ wext_odd_dep_p (rtx insn, rtx def_reg)
|
||||
if (!reg_overlap_p (def_reg, use_reg))
|
||||
return false;
|
||||
|
||||
if (GET_CODE (use_reg) == SUBREG)
|
||||
return true;
|
||||
|
||||
if (!TARGET_BIG_ENDIAN)
|
||||
return SUBREG_BYTE (def_reg) == 4;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user