crtn.asm: Don't use __mips16 to determine the return-address offset.
authorRichard Sandiford <rsandifo@redhat.com>
Wed, 31 Jul 2002 08:55:57 +0000 (08:55 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 31 Jul 2002 08:55:57 +0000 (08:55 +0000)
* config/mips/crtn.asm: Don't use __mips16 to determine the
return-address offset.  Define RA to a suitable temporary
register for the return address.

From-SVN: r55903

gcc/ChangeLog
gcc/config/mips/crtn.asm

index 46eb1da..ff553ab 100644 (file)
@@ -1,5 +1,11 @@
 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
 
+       * config/mips/crtn.asm: Don't use __mips16 to determine the
+       return-address offset.  Define RA to a suitable temporary
+       register for the return address.
+
+2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
+
        * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
        constraints to 'd'.
 
index 54ab2a5..5d41d3d 100644 (file)
@@ -1,39 +1,29 @@
 /* 4 slots for argument spill area.  1 for cpreturn, 1 for stack.
    Return spill offset of 40 and 20.  Aligned to 16 bytes for n32.  */
 
-       .section .init,"ax",@progbits
 #ifdef __mips16
-/* The mips16 uses $7 for a return address. We use that here too.  */
-       lw      $7,20($sp)
-       addu    $sp,$sp,32
-
-       j       $7
+#define RA $7
 #else
+#define RA $31
+#endif
+
+       .section .init,"ax",@progbits
 #ifdef __mips64
-       ld      $31,40($sp)
+       ld      RA,40($sp)
        daddu   $sp,$sp,48
 #else
-       lw      $31,20($sp)
+       lw      RA,20($sp)
        addu    $sp,$sp,32
 #endif
-       j       $31
-
-#endif
+       j       RA
 
        .section .fini,"ax",@progbits
-#ifdef __mips16
-/* The mips16 uses $7 for a return address. We use that here too.  */
-       lw      $7,20($sp)
-       addu    $sp,$sp,32
-
-       j       $7
-#else
 #ifdef __mips64
-       ld      $31,40($sp)
+       ld      RA,40($sp)
        daddu   $sp,$sp,48
 #else
-       lw      $31,20($sp)
+       lw      RA,20($sp)
        addu    $sp,$sp,32
 #endif
-       j       $31
-#endif
+       j       RA
+