mirror of git://gcc.gnu.org/git/gcc.git
rs6000.c (rs6000_delegitimize_address): Delegitimize UNSPEC_FUSION_GPR to its argument.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize UNSPEC_FUSION_GPR to its argument. Formatting fixes. From-SVN: r267738
This commit is contained in:
parent
903ecc6c2a
commit
8a6b263a82
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
|
||||||
|
UNSPEC_FUSION_GPR to its argument. Formatting fixes.
|
||||||
|
|
||||||
2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
|
2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
PR bootstrap/88721
|
PR bootstrap/88721
|
||||||
|
|
|
||||||
|
|
@ -8388,14 +8388,17 @@ rs6000_delegitimize_address (rtx orig_x)
|
||||||
{
|
{
|
||||||
rtx x, y, offset;
|
rtx x, y, offset;
|
||||||
|
|
||||||
|
if (GET_CODE (orig_x) == UNSPEC && XINT (orig_x, 1) == UNSPEC_FUSION_GPR)
|
||||||
|
orig_x = XVECEXP (orig_x, 0, 0);
|
||||||
|
|
||||||
orig_x = delegitimize_mem_from_attrs (orig_x);
|
orig_x = delegitimize_mem_from_attrs (orig_x);
|
||||||
|
|
||||||
x = orig_x;
|
x = orig_x;
|
||||||
if (MEM_P (x))
|
if (MEM_P (x))
|
||||||
x = XEXP (x, 0);
|
x = XEXP (x, 0);
|
||||||
|
|
||||||
y = x;
|
y = x;
|
||||||
if (TARGET_CMODEL != CMODEL_SMALL
|
if (TARGET_CMODEL != CMODEL_SMALL && GET_CODE (y) == LO_SUM)
|
||||||
&& GET_CODE (y) == LO_SUM)
|
|
||||||
y = XEXP (y, 1);
|
y = XEXP (y, 1);
|
||||||
|
|
||||||
offset = NULL_RTX;
|
offset = NULL_RTX;
|
||||||
|
|
@ -8407,8 +8410,7 @@ rs6000_delegitimize_address (rtx orig_x)
|
||||||
y = XEXP (y, 0);
|
y = XEXP (y, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_CODE (y) == UNSPEC
|
if (GET_CODE (y) == UNSPEC && XINT (y, 1) == UNSPEC_TOCREL)
|
||||||
&& XINT (y, 1) == UNSPEC_TOCREL)
|
|
||||||
{
|
{
|
||||||
y = XVECEXP (y, 0, 0);
|
y = XVECEXP (y, 0, 0);
|
||||||
|
|
||||||
|
|
@ -8435,8 +8437,7 @@ rs6000_delegitimize_address (rtx orig_x)
|
||||||
&& GET_CODE (XEXP (orig_x, 1)) == CONST)
|
&& GET_CODE (XEXP (orig_x, 1)) == CONST)
|
||||||
{
|
{
|
||||||
y = XEXP (XEXP (orig_x, 1), 0);
|
y = XEXP (XEXP (orig_x, 1), 0);
|
||||||
if (GET_CODE (y) == UNSPEC
|
if (GET_CODE (y) == UNSPEC && XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET)
|
||||||
&& XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET)
|
|
||||||
return XVECEXP (y, 0, 0);
|
return XVECEXP (y, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue