Changeset 1593 for branches/GNU/src/gcc/gcc/config/pa/pa.c
- Timestamp:
- Nov 3, 2004, 7:07:22 AM (21 years ago)
- File:
-
- 1 edited
-
branches/GNU/src/gcc/gcc/config/pa/pa.c (modified) (4 diffs, 1 prop)
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/gcc/gcc/config/pa/pa.c
-
Property cvs2svn:cvs-rev
changed from
1.1.1.2to1.1.1.3
r1592 r1593 1406 1406 1407 1407 /* Handle secondary reloads for loads/stores of FP registers from 1408 REG+D addresses where D does not fit in 5 bits, including1408 REG+D addresses where D does not fit in 5 bits, including 1409 1409 (subreg (mem (addr))) cases. */ 1410 1410 if (fp_reg_operand (operand0, mode) 1411 1411 && ((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))) 1413 1414 || ((GET_CODE (operand1) == SUBREG 1414 1415 && 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))))) 1416 1419 && scratch_reg) 1417 1420 { … … 1442 1445 else if (fp_reg_operand (operand1, mode) 1443 1446 && ((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))) 1445 1450 || ((GET_CODE (operand0) == SUBREG) 1446 1451 && 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)))) 1448 1455 && scratch_reg) 1449 1456 { … … 1711 1718 operands[1] = legitimize_pic_address (XEXP (operands[1], 0), 1712 1719 mode, temp); 1720 1713 1721 emit_move_sequence (operands, mode, temp); 1714 1722 } … … 6946 6954 the remaining cases. */ 6947 6955 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 } 6949 6965 6950 6966 /* Long millicode call, but we are not generating PIC or portable runtime -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.
