112027Sjungma@eit.uni-kl.de/* speed test for basic CPU operations  */
212027Sjungma@eit.uni-kl.de
312027Sjungma@eit.uni-kl.de
412027Sjungma@eit.uni-kl.de/* Marco Bucci <marco.bucci@inwind.it> */
512027Sjungma@eit.uni-kl.de
612027Sjungma@eit.uni-kl.de/* This code was developed with the Code Warrior integrate ppc assembler.
712027Sjungma@eit.uni-kl.de * Macros are use to hide illegal constructs whether you are using a
812027Sjungma@eit.uni-kl.de * "normal" assembler or the "C integrated" assembler.
912027Sjungma@eit.uni-kl.de */
1012027Sjungma@eit.uni-kl.de
1112027Sjungma@eit.uni-kl.de#if 0
1212027Sjungma@eit.uni-kl.de
1312027Sjungma@eit.uni-kl.de
1412027Sjungma@eit.uni-kl.de	.text
1512027Sjungma@eit.uni-kl.de	.align 4
1612027Sjungma@eit.uni-kl.de
1712027Sjungma@eit.uni-kl.de	.globl b_call_reg
1812027Sjungma@eit.uni-kl.de	.globl _b_call_reg
1912027Sjungma@eit.uni-kl.de	.globl b_call_imm
2012027Sjungma@eit.uni-kl.de	.globl _b_call_imm
2112027Sjungma@eit.uni-kl.de	.globl b_add
2212027Sjungma@eit.uni-kl.de	.globl _b_add
2312027Sjungma@eit.uni-kl.de	.globl b_load
2412027Sjungma@eit.uni-kl.de	.globl _b_load
2512027Sjungma@eit.uni-kl.de
2612027Sjungma@eit.uni-kl.de.set fsize, 64
2712027Sjungma@eit.uni-kl.de.set lrsave, 8
2812027Sjungma@eit.uni-kl.de
2912027Sjungma@eit.uni-kl.de#else
3012027Sjungma@eit.uni-kl.de
3112027Sjungma@eit.uni-kl.de#define fsize 64
3212027Sjungma@eit.uni-kl.de#define lrsave 8
3312027Sjungma@eit.uni-kl.de
3412027Sjungma@eit.uni-kl.de#endif
3512027Sjungma@eit.uni-kl.de
3612027Sjungma@eit.uni-kl.de
3712027Sjungma@eit.uni-kl.de
3812027Sjungma@eit.uni-kl.de
3912027Sjungma@eit.uni-kl.de#if 0
4012027Sjungma@eit.uni-kl.de.if 0
4112027Sjungma@eit.uni-kl.de#endif
4212027Sjungma@eit.uni-kl.deasm void b_null(void)
4312027Sjungma@eit.uni-kl.de{
4412027Sjungma@eit.uni-kl.de#if 0
4512027Sjungma@eit.uni-kl.de.endif
4612027Sjungma@eit.uni-kl.de#endif
4712027Sjungma@eit.uni-kl.de
4812027Sjungma@eit.uni-kl.de#if 0
4912027Sjungma@eit.uni-kl.deb_null:
5012027Sjungma@eit.uni-kl.de#endif
5112027Sjungma@eit.uni-kl.de
5212027Sjungma@eit.uni-kl.de	blr
5312027Sjungma@eit.uni-kl.de
5412027Sjungma@eit.uni-kl.de#if 0
5512027Sjungma@eit.uni-kl.de.if 0
5612027Sjungma@eit.uni-kl.de#endif
5712027Sjungma@eit.uni-kl.de}
5812027Sjungma@eit.uni-kl.de#if 0
5912027Sjungma@eit.uni-kl.de.endif
6012027Sjungma@eit.uni-kl.de#endif
6112027Sjungma@eit.uni-kl.de
6212027Sjungma@eit.uni-kl.de
6312027Sjungma@eit.uni-kl.de/* actually the same as the following. How to get "b_null" address?
6412027Sjungma@eit.uni-kl.de * I didnt find the right sintax or the right way.
6512027Sjungma@eit.uni-kl.de * I should take the current PC, then the difference to "b_null"
6612027Sjungma@eit.uni-kl.de * (making the difference beween the labels), perform the sum and go?!
6712027Sjungma@eit.uni-kl.de */
6812027Sjungma@eit.uni-kl.de#if 0
6912027Sjungma@eit.uni-kl.de.if 0
7012027Sjungma@eit.uni-kl.de#endif
7112027Sjungma@eit.uni-kl.deasm void b_call_reg(long n)
7212027Sjungma@eit.uni-kl.de{
7312027Sjungma@eit.uni-kl.de#if 0
7412027Sjungma@eit.uni-kl.de.endif
7512027Sjungma@eit.uni-kl.de#endif
7612027Sjungma@eit.uni-kl.de
7712027Sjungma@eit.uni-kl.de#if 0
7812027Sjungma@eit.uni-kl.deb_call_reg:
7912027Sjungma@eit.uni-kl.de_b_call_reg:
8012027Sjungma@eit.uni-kl.de#endif
8112027Sjungma@eit.uni-kl.de
8212027Sjungma@eit.uni-kl.de	mflr	r0
8312027Sjungma@eit.uni-kl.de	stw		r31,-4(r1)
8412027Sjungma@eit.uni-kl.de	stw		r30,-8(r1)
8512027Sjungma@eit.uni-kl.de	stw		r0,lrsave(r1)
8612027Sjungma@eit.uni-kl.de	stwu	r1,-fsize(r1)
8712027Sjungma@eit.uni-kl.de	mr		r30,r3
8812027Sjungma@eit.uni-kl.de	li		r31,0
8912027Sjungma@eit.uni-kl.de
9012027Sjungma@eit.uni-kl.de	b		L1
9112027Sjungma@eit.uni-kl.deL0:
9212027Sjungma@eit.uni-kl.de	bl		b_null
9312027Sjungma@eit.uni-kl.de	bl		b_null
9412027Sjungma@eit.uni-kl.de	bl		b_null
9512027Sjungma@eit.uni-kl.de	bl		b_null
9612027Sjungma@eit.uni-kl.de	bl		b_null
9712027Sjungma@eit.uni-kl.de
9812027Sjungma@eit.uni-kl.de	addi       r31,r31,5
9912027Sjungma@eit.uni-kl.deL1:
10012027Sjungma@eit.uni-kl.de	cmpw       r31,r30
10112027Sjungma@eit.uni-kl.de	blt        L0
10212027Sjungma@eit.uni-kl.de
10312027Sjungma@eit.uni-kl.de
10412027Sjungma@eit.uni-kl.de	lwz        r0,lrsave+fsize(r1)
10512027Sjungma@eit.uni-kl.de	mtlr       r0
10612027Sjungma@eit.uni-kl.de	lwz        r31,-4+fsize(r1)
10712027Sjungma@eit.uni-kl.de	lwz        r30,-8+fsize(r1)
10812027Sjungma@eit.uni-kl.de	addi       r1,r1,fsize
10912027Sjungma@eit.uni-kl.de	blr
11012027Sjungma@eit.uni-kl.de
11112027Sjungma@eit.uni-kl.de#if 0
11212027Sjungma@eit.uni-kl.de.if 0
11312027Sjungma@eit.uni-kl.de#endif
11412027Sjungma@eit.uni-kl.de}
11512027Sjungma@eit.uni-kl.de#if 0
11612027Sjungma@eit.uni-kl.de.endif
11712027Sjungma@eit.uni-kl.de#endif
11812027Sjungma@eit.uni-kl.de
11912027Sjungma@eit.uni-kl.de
12012027Sjungma@eit.uni-kl.de
12112027Sjungma@eit.uni-kl.de
12212027Sjungma@eit.uni-kl.de#if 0
12312027Sjungma@eit.uni-kl.de.if 0
12412027Sjungma@eit.uni-kl.de#endif
12512027Sjungma@eit.uni-kl.deasm void b_call_imm(long n)
12612027Sjungma@eit.uni-kl.de{
12712027Sjungma@eit.uni-kl.de#if 0
12812027Sjungma@eit.uni-kl.de.endif
12912027Sjungma@eit.uni-kl.de#endif
13012027Sjungma@eit.uni-kl.de
13112027Sjungma@eit.uni-kl.de#if 0
13212027Sjungma@eit.uni-kl.deb_call_imm:
13312027Sjungma@eit.uni-kl.de_b_call_imm:
13412027Sjungma@eit.uni-kl.de#endif
13512027Sjungma@eit.uni-kl.de
13612027Sjungma@eit.uni-kl.de	mflr	r0
13712027Sjungma@eit.uni-kl.de	stw		r31,-4(r1)
13812027Sjungma@eit.uni-kl.de	stw		r30,-8(r1)
13912027Sjungma@eit.uni-kl.de	stw		r0,lrsave(r1)
14012027Sjungma@eit.uni-kl.de	stwu	r1,-fsize(r1)
14112027Sjungma@eit.uni-kl.de	mr		r30,r3
14212027Sjungma@eit.uni-kl.de	li		r31,0
14312027Sjungma@eit.uni-kl.de
14412027Sjungma@eit.uni-kl.de	b		L3
14512027Sjungma@eit.uni-kl.deL2:
14612027Sjungma@eit.uni-kl.de	bl		b_null
14712027Sjungma@eit.uni-kl.de	bl		b_null
14812027Sjungma@eit.uni-kl.de	bl		b_null
14912027Sjungma@eit.uni-kl.de	bl		b_null
15012027Sjungma@eit.uni-kl.de	bl		b_null
15112027Sjungma@eit.uni-kl.de
15212027Sjungma@eit.uni-kl.de	addi       r31,r31,5
15312027Sjungma@eit.uni-kl.deL3:
15412027Sjungma@eit.uni-kl.de	cmpw       r31,r30
15512027Sjungma@eit.uni-kl.de	blt        L2
15612027Sjungma@eit.uni-kl.de
15712027Sjungma@eit.uni-kl.de
15812027Sjungma@eit.uni-kl.de	lwz        r0,lrsave+fsize(r1)
15912027Sjungma@eit.uni-kl.de	mtlr       r0
16012027Sjungma@eit.uni-kl.de	lwz        r31,-4+fsize(r1)
16112027Sjungma@eit.uni-kl.de	lwz        r30,-8+fsize(r1)
16212027Sjungma@eit.uni-kl.de	addi       r1,r1,fsize
16312027Sjungma@eit.uni-kl.de	blr
16412027Sjungma@eit.uni-kl.de
16512027Sjungma@eit.uni-kl.de#if 0
16612027Sjungma@eit.uni-kl.de.if 0
16712027Sjungma@eit.uni-kl.de#endif
16812027Sjungma@eit.uni-kl.de}
16912027Sjungma@eit.uni-kl.de#if 0
17012027Sjungma@eit.uni-kl.de.endif
17112027Sjungma@eit.uni-kl.de#endif
17212027Sjungma@eit.uni-kl.de
17312027Sjungma@eit.uni-kl.de
17412027Sjungma@eit.uni-kl.de
17512027Sjungma@eit.uni-kl.de#if 0
17612027Sjungma@eit.uni-kl.de.if 0
17712027Sjungma@eit.uni-kl.de#endif
17812027Sjungma@eit.uni-kl.deasm void b_add(long n)
17912027Sjungma@eit.uni-kl.de{
18012027Sjungma@eit.uni-kl.de#if 0
18112027Sjungma@eit.uni-kl.de.endif
18212027Sjungma@eit.uni-kl.de#endif
18312027Sjungma@eit.uni-kl.de
18412027Sjungma@eit.uni-kl.de#if 0
18512027Sjungma@eit.uni-kl.deb_add:
18612027Sjungma@eit.uni-kl.de_b_add:
18712027Sjungma@eit.uni-kl.de#endif
18812027Sjungma@eit.uni-kl.de
18912027Sjungma@eit.uni-kl.de	mflr	r0
19012027Sjungma@eit.uni-kl.de	stw		r31,-4(r1)
19112027Sjungma@eit.uni-kl.de	stw		r30,-8(r1)
19212027Sjungma@eit.uni-kl.de	stw		r0,lrsave(r1)
19312027Sjungma@eit.uni-kl.de	stwu	r1,-fsize(r1)
19412027Sjungma@eit.uni-kl.de	mr		r30,r3
19512027Sjungma@eit.uni-kl.de	li		r31,0
19612027Sjungma@eit.uni-kl.de
19712027Sjungma@eit.uni-kl.de	b		L5
19812027Sjungma@eit.uni-kl.deL4:
19912027Sjungma@eit.uni-kl.de	addi	r3,r3,5
20012027Sjungma@eit.uni-kl.de	addi	r4,r4,5
20112027Sjungma@eit.uni-kl.de	addi	r5,r5,5
20212027Sjungma@eit.uni-kl.de	addi	r6,r6,5
20312027Sjungma@eit.uni-kl.de	addi	r7,r7,5
20412027Sjungma@eit.uni-kl.de
20512027Sjungma@eit.uni-kl.de	addi	r3,r3,5
20612027Sjungma@eit.uni-kl.de	addi	r4,r4,5
20712027Sjungma@eit.uni-kl.de	addi	r5,r5,5
20812027Sjungma@eit.uni-kl.de	addi	r6,r6,5
20912027Sjungma@eit.uni-kl.de	addi	r7,r7,5
21012027Sjungma@eit.uni-kl.de
21112027Sjungma@eit.uni-kl.de	addi       r31,r31,10
21212027Sjungma@eit.uni-kl.deL5:
21312027Sjungma@eit.uni-kl.de	cmpw       r31,r30
21412027Sjungma@eit.uni-kl.de	blt        L4
21512027Sjungma@eit.uni-kl.de
21612027Sjungma@eit.uni-kl.de
21712027Sjungma@eit.uni-kl.de	lwz        r0,lrsave+fsize(r1)
21812027Sjungma@eit.uni-kl.de	mtlr       r0
21912027Sjungma@eit.uni-kl.de	lwz        r31,-4+fsize(r1)
22012027Sjungma@eit.uni-kl.de	lwz        r30,-8+fsize(r1)
22112027Sjungma@eit.uni-kl.de	addi       r1,r1,fsize
22212027Sjungma@eit.uni-kl.de	blr
22312027Sjungma@eit.uni-kl.de
22412027Sjungma@eit.uni-kl.de#if 0
22512027Sjungma@eit.uni-kl.de.if 0
22612027Sjungma@eit.uni-kl.de#endif
22712027Sjungma@eit.uni-kl.de}
22812027Sjungma@eit.uni-kl.de#if 0
22912027Sjungma@eit.uni-kl.de.endif
23012027Sjungma@eit.uni-kl.de#endif
23112027Sjungma@eit.uni-kl.de
23212027Sjungma@eit.uni-kl.de
23312027Sjungma@eit.uni-kl.de
23412027Sjungma@eit.uni-kl.de#if 0
23512027Sjungma@eit.uni-kl.de.if 0
23612027Sjungma@eit.uni-kl.de#endif
23712027Sjungma@eit.uni-kl.deasm void b_load(long n)
23812027Sjungma@eit.uni-kl.de{
23912027Sjungma@eit.uni-kl.de#if 0
24012027Sjungma@eit.uni-kl.de.endif
24112027Sjungma@eit.uni-kl.de#endif
24212027Sjungma@eit.uni-kl.de
24312027Sjungma@eit.uni-kl.de#if 0
24412027Sjungma@eit.uni-kl.deb_load:
24512027Sjungma@eit.uni-kl.de_b_load:
24612027Sjungma@eit.uni-kl.de#endif
24712027Sjungma@eit.uni-kl.de
24812027Sjungma@eit.uni-kl.de	mflr	r0
24912027Sjungma@eit.uni-kl.de	stw		r31,-4(r1)
25012027Sjungma@eit.uni-kl.de	stw		r30,-8(r1)
25112027Sjungma@eit.uni-kl.de	stw		r0,lrsave(r1)
25212027Sjungma@eit.uni-kl.de	stwu	r1,-fsize(r1)
25312027Sjungma@eit.uni-kl.de	mr		r30,r3
25412027Sjungma@eit.uni-kl.de	li		r31,0
25512027Sjungma@eit.uni-kl.de
25612027Sjungma@eit.uni-kl.de	b		L7
25712027Sjungma@eit.uni-kl.deL6:
25812027Sjungma@eit.uni-kl.de	lwz		r3,4(r1)
25912027Sjungma@eit.uni-kl.de	lwz		r4,8(r1)
26012027Sjungma@eit.uni-kl.de	lwz		r5,12(r1)
26112027Sjungma@eit.uni-kl.de	lwz		r6,16(r1)
26212027Sjungma@eit.uni-kl.de	lwz		r7,20(r1)
26312027Sjungma@eit.uni-kl.de
26412027Sjungma@eit.uni-kl.de	lwz		r3,24(r1)
26512027Sjungma@eit.uni-kl.de	lwz		r4,28(r1)
26612027Sjungma@eit.uni-kl.de	lwz		r5,32(r1)
26712027Sjungma@eit.uni-kl.de	lwz		r6,36(r1)
26812027Sjungma@eit.uni-kl.de	lwz		r7,40(r1)
26912027Sjungma@eit.uni-kl.de
27012027Sjungma@eit.uni-kl.de
27112027Sjungma@eit.uni-kl.de	addi       r31,r31,10
27212027Sjungma@eit.uni-kl.deL7:
27312027Sjungma@eit.uni-kl.de	cmpw       r31,r30
27412027Sjungma@eit.uni-kl.de	blt        L6
27512027Sjungma@eit.uni-kl.de
27612027Sjungma@eit.uni-kl.de
27712027Sjungma@eit.uni-kl.de	lwz        r0,lrsave+fsize(r1)
27812027Sjungma@eit.uni-kl.de	mtlr       r0
27912027Sjungma@eit.uni-kl.de	lwz        r31,-4+fsize(r1)
28012027Sjungma@eit.uni-kl.de	lwz        r30,-8+fsize(r1)
28112027Sjungma@eit.uni-kl.de	addi       r1,r1,fsize
28212027Sjungma@eit.uni-kl.de	blr
28312027Sjungma@eit.uni-kl.de
28412027Sjungma@eit.uni-kl.de#if 0
28512027Sjungma@eit.uni-kl.de.if 0
28612027Sjungma@eit.uni-kl.de#endif
28712027Sjungma@eit.uni-kl.de}
28812027Sjungma@eit.uni-kl.de#if 0
28912027Sjungma@eit.uni-kl.de.endif
29012027Sjungma@eit.uni-kl.de#endif
291