From 8f3b402b6fca3e4b018e99f65bf22f478e888c16 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Mon, 9 Sep 2024 10:23:00 -0400 Subject: [PATCH] hppa: Don't canonicalize operand order of scaled index addresses pa_print_operand handles both operand orders for scaled index addresses, so it isn't necessary to canonicalize the order of operands. 2024-09-09 John David Anglin gcc/ChangeLog: * config/pa/pa.cc (pa_legitimate_address_p): Don't canonicalize operand order of scaled index addresses. --- gcc/config/pa/pa.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc index 631f18a0ef51..84aa4f1b1f2a 100644 --- a/gcc/config/pa/pa.cc +++ b/gcc/config/pa/pa.cc @@ -11022,14 +11022,13 @@ pa_legitimate_address_p (machine_mode mode, rtx x, bool strict, code_helper) return true; if (!TARGET_DISABLE_INDEXING - && GET_CODE (index) == MULT /* Only accept base operands with the REG_POINTER flag prior to reload on targets with non-equivalent space registers. */ && (TARGET_NO_SPACE_REGS - || (base == XEXP (x, 1) - && (reload_completed - || (reload_in_progress && HARD_REGISTER_P (base)) - || REG_POINTER (base)))) + || reload_completed + || (reload_in_progress && HARD_REGISTER_P (base)) + || REG_POINTER (base)) + && GET_CODE (index) == MULT && REG_P (XEXP (index, 0)) && GET_MODE (XEXP (index, 0)) == Pmode && MODE_OK_FOR_SCALED_INDEXING_P (mode) -- 2.43.5