]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
hppa: Use INT14_OK_STRICT in a couple of places in pa_emit_move_sequence
authorJohn David Anglin <danglin@gcc.gnu.org>
Fri, 24 Nov 2023 17:25:47 +0000 (17:25 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Fri, 24 Nov 2023 17:25:47 +0000 (17:25 +0000)
64-bit Linux target has relocation issue and can't use 14-bit offsets.

2023-11-22  John David Anglin  <danglin@gcc.gnu.org>

gcc/ChangeLog:

* config/pa/pa.cc (pa_emit_move_sequence): Use INT14_OK_STRICT
in a couple of places.

gcc/config/pa/pa.cc

index 565c948a9e6181761595cfd8f1d42abf8aeaff35..2ee987796f63e1e7332b484374dab8d2d83db972 100644 (file)
@@ -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.