diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2023-11-24 17:25:47 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2023-11-24 17:25:47 +0000 |
commit | 23dc62599a8c90823be0139827261cc64ddb99ed (patch) | |
tree | 535eb1b61437966a5127f58f3765c2c09f170d2a /gcc | |
parent | c2dcfb6ba6e9a84a16e63ae73a822ae2a843170c (diff) | |
download | gcc-23dc62599a8c90823be0139827261cc64ddb99ed.zip gcc-23dc62599a8c90823be0139827261cc64ddb99ed.tar.gz gcc-23dc62599a8c90823be0139827261cc64ddb99ed.tar.bz2 |
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 <danglin@gcc.gnu.org>
gcc/ChangeLog:
* config/pa/pa.cc (pa_emit_move_sequence): Use INT14_OK_STRICT
in a couple of places.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc index 565c948..2ee9877 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. |