From 952c5c128f9efaea89d41d882c4ea3ade7df4591 Mon Sep 17 00:00:00 2001 From: zakk Date: Fri, 26 Aug 2005 04:48:05 +0000 Subject: Itsa me, quake3io! git-svn-id: svn://svn.icculus.org/quake3/trunk@2 edf5b092-35ff-0310-97b2-ce42778d08ea --- lcc/alpha/osf/tst/sort.sbk | 323 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) create mode 100755 lcc/alpha/osf/tst/sort.sbk (limited to 'lcc/alpha/osf/tst/sort.sbk') diff --git a/lcc/alpha/osf/tst/sort.sbk b/lcc/alpha/osf/tst/sort.sbk new file mode 100755 index 0000000..cb5b857 --- /dev/null +++ b/lcc/alpha/osf/tst/sort.sbk @@ -0,0 +1,323 @@ +.sdata +.globl in +.align 2 +in: +.long 0xa +.long 0x20 +.long 0xffffffff +.long 0x237 +.long 0x3 +.long 0x12 +.long 0x1 +.long 0xffffffcd +.long 0x315 +.long 0x0 +.globl main +.text +.text +.ent main +main: +ldgp $gp,0($27) +lda $sp,-80($sp) +.mask 0x4004000,-72 +.frame $sp,80,$26,48 +stq $14,0($sp) +stq $26,8($sp) +.prologue 1 +lda $16,in +lda $17,10 +jsr $26,sort +ldgp $gp,0($26) +mov $31,$14 +br L.5 +L.2: +sll $14,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +ldl $16,in($27) +jsr $26,putd +ldgp $gp,0($26) +lda $16,10 +jsr $26,putchar +ldgp $gp,0($26) +L.3: +lda $14,1($14) +L.5: +mov $14,$27 +lda $25,10 +cmpult $27,$25,$23 +bne $23,L.2 +mov $31,$0 +L.1: +ldq $14,0($sp) +ldq $26,8($sp) +lda $sp,80($sp) +ret +.end main +.globl putd +.text +.ent putd +putd: +ldgp $gp,0($27) +lda $sp,-80($sp) +.mask 0x5004000,-64 +.frame $sp,80,$26,48 +stq $14,0($sp) +stq $24,8($sp) +stq $26,16($sp) +mov $16,$14 +.prologue 1 +cmplt $14,$31,$23 +beq $23,L.7 +lda $16,45 +jsr $26,putchar +ldgp $gp,0($26) +negl $14,$14 +L.7: +divl $14,10,$27 +cmpeq $27,$31,$23 +bne $23,L.9 +divl $14,10,$16 +jsr $26,putd +ldgp $gp,0($26) +L.9: +reml $14,10,$27 +lda $16,48($27) +jsr $26,putchar +ldgp $gp,0($26) +mov $31,$0 +L.6: +ldq $14,0($sp) +ldq $24,8($sp) +ldq $26,16($sp) +lda $sp,80($sp) +ret +.end putd +.globl sort +.text +.ent sort +sort: +ldgp $gp,0($27) +lda $sp,-64($sp) +.mask 0x4000000,-64 +.frame $sp,64,$26,48 +stq $26,0($sp) +stq $16,16($sp) +stq $17,24($sp) +.prologue 1 +ldq $27,-48+64($sp) +stq $27,xx +mov $27,$16 +mov $31,$17 +ldl $27,-40+64($sp) +subl $27,1,$27 +stl $27,-40+64($sp) +mov $27,$18 +jsr $26,quick +ldgp $gp,0($26) +mov $31,$0 +L.11: +ldq $26,0($sp) +lda $sp,64($sp) +ret +.end sort +.globl quick +.text +.ent quick +quick: +ldgp $gp,0($27) +lda $sp,-96($sp) +.mask 0x4007800,-64 +.frame $sp,96,$26,48 +stq $11,0($sp) +stq $12,8($sp) +stq $13,16($sp) +stq $14,24($sp) +stq $26,32($sp) +mov $16,$14 +mov $17,$13 +mov $18,$12 +.prologue 1 +cmplt $13,$12,$23 +bne $23,L.13 +br L.12 +L.13: +mov $14,$16 +mov $13,$17 +mov $12,$18 +jsr $26,partition +ldgp $gp,0($26) +mov $0,$11 +mov $14,$16 +mov $13,$17 +subl $11,1,$18 +jsr $26,quick +ldgp $gp,0($26) +mov $14,$16 +lda $17,1($11) +mov $12,$18 +jsr $26,quick +ldgp $gp,0($26) +mov $31,$0 +L.12: +ldq $11,0($sp) +ldq $12,8($sp) +ldq $13,16($sp) +ldq $14,24($sp) +ldq $26,32($sp) +lda $sp,96($sp) +ret +.end quick +.globl partition +.text +.ent partition +partition: +ldgp $gp,0($27) +lda $sp,-112($sp) +.mask 0x4007c00,-72 +.frame $sp,112,$26,48 +stq $10,0($sp) +stq $11,8($sp) +stq $12,16($sp) +stq $13,24($sp) +stq $14,32($sp) +stq $26,40($sp) +mov $16,$14 +mov $17,$13 +mov $18,$12 +.prologue 1 +lda $12,1($12) +mov $13,$10 +sll $10,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$27 +ldl $11,($27) +br L.17 +L.16: +lda $13,1($13) +br L.20 +L.19: +lda $13,1($13) +L.20: +sll $13,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$27 +ldl $27,($27) +cmplt $27,$11,$23 +bne $23,L.19 +subl $12,1,$12 +br L.23 +L.22: +subl $12,1,$12 +L.23: +sll $12,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$27 +ldl $27,($27) +cmple $27,$11,$23 +beq $23,L.22 +cmplt $13,$12,$23 +beq $23,L.25 +sll $13,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$16 +sll $12,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$17 +jsr $26,exchange +ldgp $gp,0($26) +L.25: +L.17: +cmplt $13,$12,$23 +bne $23,L.16 +sll $10,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$16 +sll $12,8*(8-4),$27 +sra $27,8*(8-4),$27 +sll $27,2,$27 +addq $27,$14,$17 +jsr $26,exchange +ldgp $gp,0($26) +mov $12,$0 +L.15: +ldq $10,0($sp) +ldq $11,8($sp) +ldq $12,16($sp) +ldq $13,24($sp) +ldq $14,32($sp) +ldq $26,40($sp) +lda $sp,112($sp) +ret +.end partition +.globl exchange +.text +.ent exchange +exchange: +ldgp $gp,0($27) +lda $sp,-112($sp) +.mask 0x5006000,-88 +.frame $sp,112,$26,48 +stq $13,0($sp) +stq $14,8($sp) +stq $24,16($sp) +stq $26,24($sp) +mov $16,$14 +mov $17,$13 +.prologue 1 +lda $16,L.28 +ldq $27,xx +stq $27,-80+112($sp) +mov $14,$25 +subq $25,$27,$25 +stq $25,-72+112($sp) +divq $25,4,$17 +mov $13,$27 +ldq $25,-80+112($sp) +subq $27,$25,$27 +divq $27,4,$18 +jsr $26,printf +ldgp $gp,0($26) +ldl $27,($14) +stl $27,-60+112($sp) +ldl $27,($13) +stl $27,($14) +ldl $27,-60+112($sp) +stl $27,($13) +mov $31,$0 +L.27: +ldq $13,0($sp) +ldq $14,8($sp) +ldq $24,16($sp) +ldq $26,24($sp) +lda $sp,112($sp) +ret +.end exchange +.globl xx +.comm xx,8 +.rdata +.align 0 +L.28: +.byte 101 +.byte 120 +.byte 99 +.byte 104 +.byte 97 +.byte 110 +.byte 103 +.byte 101 +.byte 40 +.byte 37 +.byte 100 +.byte 44 +.byte 37 +.byte 100 +.byte 41 +.byte 10 +.byte 0 -- cgit v1.2.3