aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2024-03-17 16:38:48 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2024-03-17 16:38:48 +0000
commit8064107535328717aeb78418edf778559cd5c3ac (patch)
tree18fba2e5080b6564426c6d85f15097b9d31fe8b5 /gcc
parent07fad7a7fc245369989e9ca746728ea78b924715 (diff)
downloadgcc-8064107535328717aeb78418edf778559cd5c3ac.zip
gcc-8064107535328717aeb78418edf778559cd5c3ac.tar.gz
gcc-8064107535328717aeb78418edf778559cd5c3ac.tar.bz2
hppa: Fix complaint about non-delegitimized UNSPEC UNSPEC_TP
2024-03-17 John David Anglin <danglin@gcc.gnu.org> gcc/ChangeLog: * config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index 129289f..5ab9eff 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