Ignore:
Timestamp:
Nov 3, 2004, 7:07:22 AM (21 years ago)
Author:
bird
Message:

GCC v3.3.5 - official sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/gcc/gcc/config/pa/pa.c

    • Property cvs2svn:cvs-rev changed from 1.1.1.2 to 1.1.1.3
    r1592 r1593  
    14061406
    14071407  /* Handle secondary reloads for loads/stores of FP registers from
    1408      REG+D addresses where D does not fit in 5 bits, including
     1408     REG+D addresses where D does not fit in 5 bits, including
    14091409     (subreg (mem (addr))) cases.  */
    14101410  if (fp_reg_operand (operand0, mode)
    14111411      && ((GET_CODE (operand1) == MEM
    1412            && ! memory_address_p (DFmode, XEXP (operand1, 0)))
     1412           && !memory_address_p ((GET_MODE_SIZE (mode) == 4 ? SFmode : DFmode),
     1413                                 XEXP (operand1, 0)))
    14131414          || ((GET_CODE (operand1) == SUBREG
    14141415               && GET_CODE (XEXP (operand1, 0)) == MEM
    1415                && !memory_address_p (DFmode, XEXP (XEXP (operand1, 0), 0)))))
     1416               && !memory_address_p ((GET_MODE_SIZE (mode) == 4
     1417                                      ? SFmode : DFmode),
     1418                                     XEXP (XEXP (operand1, 0), 0)))))
    14161419      && scratch_reg)
    14171420    {
     
    14421445  else if (fp_reg_operand (operand1, mode)
    14431446           && ((GET_CODE (operand0) == MEM
    1444                 && ! memory_address_p (DFmode, XEXP (operand0, 0)))
     1447                && !memory_address_p ((GET_MODE_SIZE (mode) == 4
     1448                                       ? SFmode : DFmode),
     1449                                      XEXP (operand0, 0)))
    14451450               || ((GET_CODE (operand0) == SUBREG)
    14461451                   && GET_CODE (XEXP (operand0, 0)) == MEM
    1447                    && !memory_address_p (DFmode, XEXP (XEXP (operand0, 0), 0))))
     1452                   && !memory_address_p ((GET_MODE_SIZE (mode) == 4
     1453                                          ? SFmode : DFmode),
     1454                                         XEXP (XEXP (operand0, 0), 0))))
    14481455           && scratch_reg)
    14491456    {
     
    17111718                  operands[1] = legitimize_pic_address (XEXP (operands[1], 0),
    17121719                                                        mode, temp);
     1720
    17131721                  emit_move_sequence (operands, mode, temp);
    17141722                }
     
    69466954     the remaining cases.  */
    69476955  if (attr_length_indirect_call (insn) == 8)
    6948     return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r31\n\tcopy %%r31,%%r2";
     6956    {
     6957      /* The HP linker substitutes a BLE for millicode calls using
     6958         the short PIC PCREL form.  Thus, we must use %r31 as the
     6959         link register when generating PA 1.x code.  */
     6960      if (TARGET_PA_20)
     6961        return ".CALL\tARGW0=GR\n\tb,l $$dyncall,%%r2\n\tcopy %%r2,%%r31";
     6962      else
     6963        return ".CALL\tARGW0=GR\n\tbl $$dyncall,%%r31\n\tcopy %%r31,%%r2";
     6964    }
    69496965
    69506966  /* Long millicode call, but we are not generating PIC or portable runtime
Note: See TracChangeset for help on using the changeset viewer.