112027Sjungma@eit.uni-kl.de/*
212027Sjungma@eit.uni-kl.de * QuickThreads -- Threads-building toolkit.
312027Sjungma@eit.uni-kl.de * Copyright (c) 1993 by David Keppel
412027Sjungma@eit.uni-kl.de *
512027Sjungma@eit.uni-kl.de * Permission to use, copy, modify and distribute this software and
612027Sjungma@eit.uni-kl.de * its documentation for any purpose and without fee is hereby
712027Sjungma@eit.uni-kl.de * granted, provided that the above copyright notice and this notice
812027Sjungma@eit.uni-kl.de * appear in all copies.  This software is provided as a
912027Sjungma@eit.uni-kl.de * proof-of-concept and for demonstration purposes; there is no
1012027Sjungma@eit.uni-kl.de * representation about the suitability of this software for any
1112027Sjungma@eit.uni-kl.de * purpose.
1212027Sjungma@eit.uni-kl.de */
1312027Sjungma@eit.uni-kl.de
1412027Sjungma@eit.uni-kl.de	.text
1512027Sjungma@eit.uni-kl.de	.globl _b_call_reg
1612027Sjungma@eit.uni-kl.de	.globl _b_call_imm
1712027Sjungma@eit.uni-kl.de	.globl _b_add
1812027Sjungma@eit.uni-kl.de	.globl _b_load
1912027Sjungma@eit.uni-kl.de
2012027Sjungma@eit.uni-kl.de_b_null:
2112027Sjungma@eit.uni-kl.de	jmp   r1
2212027Sjungma@eit.uni-kl.de
2312027Sjungma@eit.uni-kl.de_b_call_reg:
2412027Sjungma@eit.uni-kl.de	subu r31, r31,8			/* Alloc ret pc save space. */
2512027Sjungma@eit.uni-kl.de	st r1, r31,32			/* Save ret pc. */
2612027Sjungma@eit.uni-kl.de	or.u r3, r0,hi16(_b_null)	/* Put call addr in a reg. */
2712027Sjungma@eit.uni-kl.de	or r3, r3,lo16(_b_null)
2812027Sjungma@eit.uni-kl.de	jsr r3
2912027Sjungma@eit.uni-kl.deL0:
3012027Sjungma@eit.uni-kl.de	jsr r3
3112027Sjungma@eit.uni-kl.de	jsr r3
3212027Sjungma@eit.uni-kl.de	jsr r3
3312027Sjungma@eit.uni-kl.de	jsr.n r3
3412027Sjungma@eit.uni-kl.de	subu r2, r2,5			/* Decrement #of iter to go. */
3512027Sjungma@eit.uni-kl.de	bcnd.n gt0,r2,L0
3612027Sjungma@eit.uni-kl.de	jsr r3
3712027Sjungma@eit.uni-kl.de
3812027Sjungma@eit.uni-kl.de	ld r1, r31,32
3912027Sjungma@eit.uni-kl.de	jmp r1
4012027Sjungma@eit.uni-kl.de
4112027Sjungma@eit.uni-kl.de
4212027Sjungma@eit.uni-kl.de_b_call_imm:
4312027Sjungma@eit.uni-kl.de	subu r31, r31,8			/* Alloc ret pc save space. */
4412027Sjungma@eit.uni-kl.de	st r1, r31,32			/* Save ret pc. */
4512027Sjungma@eit.uni-kl.de	bsr _b_null
4612027Sjungma@eit.uni-kl.deL1:
4712027Sjungma@eit.uni-kl.de	bsr _b_null
4812027Sjungma@eit.uni-kl.de	bsr _b_null
4912027Sjungma@eit.uni-kl.de	bsr _b_null
5012027Sjungma@eit.uni-kl.de	bsr.n _b_null
5112027Sjungma@eit.uni-kl.de	subu r2, r2,5			/* Decrement #of iter to go. */
5212027Sjungma@eit.uni-kl.de	bcnd.n gt0,r2,L1
5312027Sjungma@eit.uni-kl.de	bsr _b_null
5412027Sjungma@eit.uni-kl.de
5512027Sjungma@eit.uni-kl.de	ld r1, r31,32
5612027Sjungma@eit.uni-kl.de	jmp r1
5712027Sjungma@eit.uni-kl.de
5812027Sjungma@eit.uni-kl.de_b_add:
5912027Sjungma@eit.uni-kl.de	add r0, r3,r4
6012027Sjungma@eit.uni-kl.deL2:
6112027Sjungma@eit.uni-kl.de	add r3, r4,r5
6212027Sjungma@eit.uni-kl.de	add r4, r5,r6
6312027Sjungma@eit.uni-kl.de	add r5, r6,r7
6412027Sjungma@eit.uni-kl.de	add r8, r9,r0
6512027Sjungma@eit.uni-kl.de	add r0, r3,r4
6612027Sjungma@eit.uni-kl.de	add r3, r4,r5
6712027Sjungma@eit.uni-kl.de	add r4, r5,r6
6812027Sjungma@eit.uni-kl.de	add r5, r6,r7
6912027Sjungma@eit.uni-kl.de	add r8, r9,r0
7012027Sjungma@eit.uni-kl.de
7112027Sjungma@eit.uni-kl.de	add r0, r3,r4
7212027Sjungma@eit.uni-kl.de	add r3, r4,r5
7312027Sjungma@eit.uni-kl.de	add r4, r5,r6
7412027Sjungma@eit.uni-kl.de	add r5, r6,r7
7512027Sjungma@eit.uni-kl.de	add r8, r9,r0
7612027Sjungma@eit.uni-kl.de	add r0, r3,r4
7712027Sjungma@eit.uni-kl.de	add r3, r4,r5
7812027Sjungma@eit.uni-kl.de	add r4, r5,r6
7912027Sjungma@eit.uni-kl.de	add r5, r6,r7
8012027Sjungma@eit.uni-kl.de	add r8, r9,r0
8112027Sjungma@eit.uni-kl.de
8212027Sjungma@eit.uni-kl.de	subu r2, r2,20			/* Decrement #of iter to go. */
8312027Sjungma@eit.uni-kl.de	bcnd.n gt0,r2,L2
8412027Sjungma@eit.uni-kl.de	add r0, r3,r4
8512027Sjungma@eit.uni-kl.de
8612027Sjungma@eit.uni-kl.de	jmp r1
8712027Sjungma@eit.uni-kl.de
8812027Sjungma@eit.uni-kl.de
8912027Sjungma@eit.uni-kl.de_b_load:
9012027Sjungma@eit.uni-kl.de	ld r0, r31,0
9112027Sjungma@eit.uni-kl.deL3:
9212027Sjungma@eit.uni-kl.de	ld r3, r31,4
9312027Sjungma@eit.uni-kl.de	ld r4, r31,8
9412027Sjungma@eit.uni-kl.de	ld r5, r31,12
9512027Sjungma@eit.uni-kl.de	ld r6, r31,16
9612027Sjungma@eit.uni-kl.de	ld r0, r31,0
9712027Sjungma@eit.uni-kl.de	ld r3, r31,4
9812027Sjungma@eit.uni-kl.de	ld r4, r31,8
9912027Sjungma@eit.uni-kl.de	ld r5, r31,12
10012027Sjungma@eit.uni-kl.de	ld r6, r31,16
10112027Sjungma@eit.uni-kl.de
10212027Sjungma@eit.uni-kl.de	ld r0, r31,0
10312027Sjungma@eit.uni-kl.de	ld r3, r31,4
10412027Sjungma@eit.uni-kl.de	ld r4, r31,8
10512027Sjungma@eit.uni-kl.de	ld r5, r31,12
10612027Sjungma@eit.uni-kl.de	ld r6, r31,16
10712027Sjungma@eit.uni-kl.de	ld r0, r31,0
10812027Sjungma@eit.uni-kl.de	ld r3, r31,4
10912027Sjungma@eit.uni-kl.de	ld r4, r31,8
11012027Sjungma@eit.uni-kl.de	ld r5, r31,12
11112027Sjungma@eit.uni-kl.de	ld r6, r31,16
11212027Sjungma@eit.uni-kl.de
11312027Sjungma@eit.uni-kl.de	subu r2, r2,20			/* Decrement #of iter to go. */
11412027Sjungma@eit.uni-kl.de	bcnd.n gt0,r2,L3
11512027Sjungma@eit.uni-kl.de	ld r0, r31,0
11612027Sjungma@eit.uni-kl.de
11712027Sjungma@eit.uni-kl.de	jmp   r1
118