This fixes a couple of places in pa_emit_move_sequence that should be using the INT14_OK_STRICT macro.
Tested on hppa-unknown-linux-gnu. Committed to trunk. Dave --- hppa: Use INT14_OK_STRICT in a couple of places in pa_emit_move_sequence 64-bit Linux target has relocation issue and can't use 14-bit offsets. 2023-11-22 John David Anglin <dang...@gcc.gnu.org> gcc/ChangeLog: * config/pa/pa.cc (pa_emit_move_sequence): Use INT14_OK_STRICT in a couple of places. diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc index 565c948a9e6..2ee987796f6 100644 --- a/gcc/config/pa/pa.cc +++ b/gcc/config/pa/pa.cc @@ -1872,9 +1872,7 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) if (reg_plus_base_memory_operand (op1, GET_MODE (op1))) { - if (!(TARGET_PA_20 - && !TARGET_ELF32 - && INT_14_BITS (XEXP (XEXP (op1, 0), 1))) + if (!(INT14_OK_STRICT && INT_14_BITS (XEXP (XEXP (op1, 0), 1))) && !INT_5_BITS (XEXP (XEXP (op1, 0), 1))) { /* SCRATCH_REG will hold an address and maybe the actual data. @@ -1923,9 +1921,7 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) if (reg_plus_base_memory_operand (op0, GET_MODE (op0))) { - if (!(TARGET_PA_20 - && !TARGET_ELF32 - && INT_14_BITS (XEXP (XEXP (op0, 0), 1))) + if (!(INT14_OK_STRICT && INT_14_BITS (XEXP (XEXP (op0, 0), 1))) && !INT_5_BITS (XEXP (XEXP (op0, 0), 1))) { /* SCRATCH_REG will hold an address and maybe the actual data.
signature.asc
Description: PGP signature