https://gcc.gnu.org/g:8064107535328717aeb78418edf778559cd5c3ac

commit r14-9508-g8064107535328717aeb78418edf778559cd5c3ac
Author: John David Anglin <dang...@gcc.gnu.org>
Date:   Sun Mar 17 16:38:48 2024 +0000

    hppa: Fix complaint about non-delegitimized UNSPEC UNSPEC_TP
    
    2024-03-17  John David Anglin  <dang...@gcc.gnu.org>
    
    gcc/ChangeLog:
    
            * config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP.

Diff:
---
 gcc/config/pa/pa.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index 129289f8e62..5ab9eff4b5e 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -10707,7 +10707,13 @@ pa_trampoline_adjust_address (rtx addr)
 static rtx
 pa_delegitimize_address (rtx orig_x)
 {
-  rtx x = delegitimize_mem_from_attrs (orig_x);
+  rtx x;
+
+  if (GET_CODE (orig_x) == UNSPEC
+      && XINT (orig_x, 1) == UNSPEC_TP)
+    orig_x = XVECEXP (orig_x, 0, 0);
+
+  x = delegitimize_mem_from_attrs (orig_x);
 
   if (GET_CODE (x) == LO_SUM
       && GET_CODE (XEXP (x, 1)) == UNSPEC

Reply via email to