Commit 8a6b263a by Jakub Jelinek Committed by Jakub Jelinek

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
parent 903ecc6c
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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
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