diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-01-08 22:35:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-01-08 22:35:38 +0100 |
commit | 8a6b263a82155ddf506ee3e1ad2365961a61610c (patch) | |
tree | bf015ffaa8bbe1fa6c736e59e7105eccfc72dcdb | |
parent | 903ecc6c2a564e4d3754082e2025e1d80fddf5a4 (diff) | |
download | gcc-8a6b263a82155ddf506ee3e1ad2365961a61610c.zip gcc-8a6b263a82155ddf506ee3e1ad2365961a61610c.tar.gz gcc-8a6b263a82155ddf506ee3e1ad2365961a61610c.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18dab7e..3ef7718 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> PR bootstrap/88721 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a257554..548032f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8388,14 +8388,17 @@ rs6000_delegitimize_address (rtx orig_x) { 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); + x = orig_x; if (MEM_P (x)) x = XEXP (x, 0); y = x; - if (TARGET_CMODEL != CMODEL_SMALL - && GET_CODE (y) == LO_SUM) + if (TARGET_CMODEL != CMODEL_SMALL && GET_CODE (y) == LO_SUM) y = XEXP (y, 1); offset = NULL_RTX; @@ -8407,8 +8410,7 @@ rs6000_delegitimize_address (rtx orig_x) y = XEXP (y, 0); } - if (GET_CODE (y) == UNSPEC - && XINT (y, 1) == UNSPEC_TOCREL) + if (GET_CODE (y) == UNSPEC && XINT (y, 1) == UNSPEC_TOCREL) { y = XVECEXP (y, 0, 0); @@ -8435,8 +8437,7 @@ rs6000_delegitimize_address (rtx orig_x) && GET_CODE (XEXP (orig_x, 1)) == CONST) { y = XEXP (XEXP (orig_x, 1), 0); - if (GET_CODE (y) == UNSPEC - && XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET) + if (GET_CODE (y) == UNSPEC && XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET) return XVECEXP (y, 0, 0); } |