diff gc/rs6000_mach_dep.s @ 51488:5de98dce4bd1

*** empty log message ***
author Dave Love <fx@gnu.org>
date Thu, 05 Jun 2003 17:49:22 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gc/rs6000_mach_dep.s	Thu Jun 05 17:49:22 2003 +0000
@@ -0,0 +1,114 @@
+    .set   r0,0
+    .set   r1,1
+    .set   r2,2
+    .set   r3,3
+    .set   r4,4
+    .set   r5,5
+    .set   r6,6
+    .set   r7,7
+    .set   r8,8
+    .set   r9,9
+    .set   r10,10
+    .set   r11,11
+    .set   r12,12
+    .set   r13,13
+    .set   r14,14
+    .set   r15,15
+    .set   r16,16
+    .set   r17,17
+    .set   r18,18
+    .set   r19,19
+    .set   r20,20
+    .set   r21,21
+    .set   r22,22
+    .set   r23,23
+    .set   r24,24
+    .set   r25,25
+    .set   r26,26
+    .set   r27,27
+    .set   r28,28
+    .set   r29,29
+    .set   r30,30
+    .set   r31,31
+
+    .extern .GC_push_one
+ # Mark from machine registers that are saved by C compiler
+    .globl  .GC_push_regs
+.csect .text[PR]
+    .align 2
+    .globl  GC_push_regs
+    .globl  .GC_push_regs
+.csect GC_push_regs[DS]
+GC_push_regs:
+    .long .GC_push_regs, TOC[tc0], 0
+.csect .text[PR]
+.GC_push_regs:
+    stu	    r1,-64(r1)  # reserve stack frame
+    mflr    r0		# save link register
+    st      r0,0x48(r1)
+    oril    r3,r2,0x0   # mark from r2
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r13,0x0   # mark from r13-r31
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r14,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r15,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r16,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r17,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r18,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r19,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r20,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r21,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r22,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r23,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r24,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r25,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r26,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r27,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r28,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r29,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r30,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    oril    r3,r31,0x0
+    bl 	    .GC_push_one
+    cror    15,15,15
+    l       r0,0x48(r1)
+    mtlr    r0
+    ai      r1,r1,64
+    br
+    .long 0
+    .byte 0,0,0,0,0,0,0,0