summaryrefslogtreecommitdiffstats
path: root/crypto/bn/asm/vms.mar
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/bn/asm/vms.mar')
-rw-r--r--crypto/bn/asm/vms.mar6695
1 files changed, 6695 insertions, 0 deletions
diff --git a/crypto/bn/asm/vms.mar b/crypto/bn/asm/vms.mar
new file mode 100644
index 0000000000..ac9d57d7b0
--- /dev/null
+++ b/crypto/bn/asm/vms.mar
@@ -0,0 +1,6695 @@
+ .title vax_bn_mul_add_word unsigned multiply & add, 32*32+32+32=>64
+;
+; w.j.m. 15-jan-1999
+;
+; it's magic ...
+;
+; ULONG bn_mul_add_words(ULONG r[],ULONG a[],int n,ULONG w) {
+; ULONG c = 0;
+; int i;
+; for(i = 0; i < n; i++) <c,r[i]> := r[i] + c + a[i] * w ;
+; return c;
+; }
+
+r=4 ;(AP)
+a=8 ;(AP)
+n=12 ;(AP) n by value (input)
+w=16 ;(AP) w by value (input)
+
+
+ .psect code,nowrt
+
+.entry bn_mul_add_words,^m<r2,r3,r4,r5,r6>
+
+ moval @r(ap),r2
+ moval @a(ap),r3
+ movl n(ap),r4 ; assumed >0 by C code
+ movl w(ap),r5
+ clrl r6 ; c
+
+0$:
+ emul r5,(r3),(r2),r0 ; w, a[], r[] considered signed
+
+ ; fixup for "negative" r[]
+ tstl (r2)
+ bgeq 10$
+ incl r1
+10$:
+
+ ; add in c
+ addl2 r6,r0
+ adwc #0,r1
+
+ ; combined fixup for "negative" w, a[]
+ tstl r5
+ bgeq 20$
+ addl2 (r3),r1
+20$:
+ tstl (r3)
+ bgeq 30$
+ addl2 r5,r1
+30$:
+
+ movl r0,(r2)+ ; store lo result in r[] & advance
+ addl #4,r3 ; advance a[]
+ movl r1,r6 ; store hi result => c
+
+ sobgtr r4,0$
+
+ movl r6,r0 ; return c
+ ret
+
+ .title vax_bn_mul_word unsigned multiply & add, 32*32+32=>64
+;
+; w.j.m. 15-jan-1999
+;
+; it's magic ...
+;
+; ULONG bn_mul_words(ULONG r[],ULONG a[],int n,ULONG w) {
+; ULONG c = 0;
+; int i;
+; for(i = 0; i < num; i++) <c,r[i]> := a[i] * w + c ;
+; return(c);
+; }
+
+r=4 ;(AP)
+a=8 ;(AP)
+n=12 ;(AP) n by value (input)
+w=16 ;(AP) w by value (input)
+
+
+ .psect code,nowrt
+
+.entry bn_mul_words,^m<r2,r3,r4,r5,r6>
+
+ moval @r(ap),r2 ; r2 -> r[]
+ moval @a(ap),r3 ; r3 -> a[]
+ movl n(ap),r4 ; r4 = loop count (assumed >0 by C code)
+ movl w(ap),r5 ; r5 = w
+ clrl r6 ; r6 = c
+
+0$:
+ ; <r1,r0> := w * a[] + c
+ emul r5,(r3),r6,r0 ; w, a[], c considered signed
+
+ ; fixup for "negative" c
+ tstl r6 ; c
+ bgeq 10$
+ incl r1
+10$:
+
+ ; combined fixup for "negative" w, a[]
+ tstl r5 ; w
+ bgeq 20$
+ addl2 (r3),r1 ; a[]
+20$:
+ tstl (r3) ; a[]
+ bgeq 30$
+ addl2 r5,r1 ; w
+30$:
+
+ movl r0,(r2)+ ; store lo result in r[] & advance
+ addl #4,r3 ; advance a[]
+ movl r1,r6 ; store hi result => c
+
+ sobgtr r4,0$
+
+ movl r6,r0 ; return c
+ ret
+
+ .title vax_bn_sqr_words unsigned square, 32*32=>64
+;
+; w.j.m. 15-jan-1999
+;
+; it's magic ...
+;
+; void bn_sqr_words(ULONG r[],ULONG a[],int n) {
+; int i;
+; for(i = 0; i < n; i++) <r[2*i+1],r[2*i]> := a[i] * a[i] ;
+; }
+
+r=4 ;(AP)
+a=8 ;(AP)
+n=12 ;(AP) n by value (input)
+
+
+ .psect code,nowrt
+
+.entry bn_sqr_words,^m<r2,r3,r4,r5>
+
+ moval @r(ap),r2 ; r2 -> r[]
+ moval @a(ap),r3 ; r3 -> a[]
+ movl n(ap),r4 ; r4 = n (assumed >0 by C code)
+
+0$:
+ movl (r3)+,r5 ; r5 = a[] & advance
+
+ ; <r1,r0> := a[] * a[]
+ emul r5,r5,#0,r0 ; a[] considered signed
+
+ ; fixup for "negative" a[]
+ tstl r5 ; a[]
+ bgeq 30$
+ addl2 r5,r1 ; a[]
+ addl2 r5,r1 ; a[]
+30$:
+
+ movl r0,(r2)+ ; store lo result in r[] & advance
+ movl r1,(r2)+ ; store hi result in r[] & advance
+
+ sobgtr r4,0$
+
+ movl #1,r0 ; return SS$_NORMAL
+ ret
+
+ .title (generated)
+
+ .psect code,nowrt
+
+.entry BN_DIV_WORDS,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10>
+ subl2 #4,sp
+
+ clrl r9
+ movl #2,r8
+
+ tstl 12(ap)
+ bneq noname.2
+ mnegl #1,r10
+ brw noname.3
+ tstl r0
+ nop
+noname.2:
+
+ pushl 12(ap)
+ calls #1,BN_NUM_BITS_WORD
+ movl r0,r7
+
+ cmpl r7,#32
+ beql noname.4
+ ashl r7,#1,r2
+ cmpl 4(ap),r2
+ blequ noname.4
+
+ pushl r7
+ calls #1,BN_DIV_WORDS_ABORT
+noname.4:
+
+ subl3 r7,#32,r7
+
+ movl 12(ap),r2
+ cmpl 4(ap),r2
+ blssu noname.5
+ subl2 r2,4(ap)
+noname.5:
+
+ tstl r7
+ beql noname.6
+
+ ashl r7,r2,12(ap)
+
+ ashl r7,4(ap),r4
+ subl3 r7,#32,r3
+ subl3 r3,#32,r2
+ extzv r3,r2,8(ap),r2
+ bisl3 r4,r2,4(ap)
+
+ ashl r7,8(ap),8(ap)
+noname.6:
+
+ bicl3 #65535,12(ap),r2
+ extzv #16,#16,r2,r5
+
+ bicl3 #-65536,12(ap),r6
+
+noname.7:
+
+ moval 4(ap),r2
+ movzwl 2(r2),r0
+ cmpl r0,r5
+ bneq noname.8
+
+ movzwl #65535,r4
+ brb noname.9
+noname.8:
+
+ clrl r1
+ movl (r2),r0
+ movl r5,r2
+ bgeq vcg.1
+ cmpl r2,r0
+ bgtru vcg.2
+ incl r1
+ brb vcg.2
+ nop
+vcg.1:
+ ediv r2,r0,r1,r0
+vcg.2:
+ movl r1,r4
+noname.9:
+
+noname.10:
+
+ mull3 r5,r4,r0
+ subl3 r0,4(ap),r3
+
+ bicl3 #65535,r3,r0
+ bneq noname.13
+ mull3 r6,r4,r2
+ ashl #16,r3,r1
+ bicl3 #65535,8(ap),r0
+ extzv #16,#16,r0,r0
+ addl2 r0,r1
+ cmpl r2,r1
+ bgtru noname.12
+noname.11:
+
+ brb noname.13
+ nop
+noname.12:
+
+ decl r4
+ brb noname.10
+noname.13:
+
+ mull3 r5,r4,r1
+
+ mull3 r6,r4,r0
+
+ extzv #16,#16,r0,r3
+
+ ashl #16,r0,r2
+ bicl3 #65535,r2,r0
+
+ addl2 r3,r1
+
+ moval 8(ap),r3
+ cmpl (r3),r0
+ bgequ noname.15
+ incl r1
+noname.15:
+
+ subl2 r0,(r3)
+
+ cmpl 4(ap),r1
+ bgequ noname.16
+
+ addl2 12(ap),4(ap)
+
+ decl r4
+noname.16:
+
+ subl2 r1,4(ap)
+
+ decl r8
+ beql noname.18
+noname.17:
+
+ ashl #16,r4,r9
+
+ ashl #16,4(ap),r2
+ movzwl 2(r3),r0
+ bisl2 r0,r2
+ bicl3 #0,r2,4(ap)
+
+ bicl3 #-65536,(r3),r0
+ ashl #16,r0,(r3)
+ brw noname.7
+ nop
+noname.18:
+
+ bisl2 r4,r9
+
+ movl r9,r10
+
+noname.3:
+ movl r10,r0
+ ret
+ tstl r0
+
+
+ .psect code,nowrt
+
+.entry BN_ADD_WORDS,^m<r2,r3,r4,r5,r6,r7>
+
+ tstl 16(ap)
+ bgtr noname.21
+ clrl r7
+ brw noname.22
+noname.21:
+
+ clrl r4
+
+ tstl r0
+noname.23:
+
+ movl 8(ap),r6
+ addl3 r4,(r6),r2
+
+ bicl2 #0,r2
+
+ clrl r0
+ cmpl r2,r4
+ bgequ vcg.3
+ incl r0
+vcg.3:
+ movl r0,r4
+
+ movl 12(ap),r5
+ addl3 (r5),r2,r1
+ bicl2 #0,r1
+
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.4
+ incl r0
+vcg.4:
+ addl2 r0,r4
+
+ movl 4(ap),r3
+ movl r1,(r3)
+
+ decl 16(ap)
+ bgtr gen.1
+ brw noname.25
+gen.1:
+noname.24:
+
+ addl3 r4,4(r6),r2
+
+ bicl2 #0,r2
+
+ clrl r0
+ cmpl r2,r4
+ bgequ vcg.5
+ incl r0
+vcg.5:
+ movl r0,r4
+
+ addl3 4(r5),r2,r1
+ bicl2 #0,r1
+
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.6
+ incl r0
+vcg.6:
+ addl2 r0,r4
+
+ movl r1,4(r3)
+
+ decl 16(ap)
+ bleq noname.25
+noname.26:
+
+ addl3 r4,8(r6),r2
+
+ bicl2 #0,r2
+
+ clrl r0
+ cmpl r2,r4
+ bgequ vcg.7
+ incl r0
+vcg.7:
+ movl r0,r4
+
+ addl3 8(r5),r2,r1
+ bicl2 #0,r1
+
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.8
+ incl r0
+vcg.8:
+ addl2 r0,r4
+
+ movl r1,8(r3)
+
+ decl 16(ap)
+ bleq noname.25
+noname.27:
+
+ addl3 r4,12(r6),r2
+
+ bicl2 #0,r2
+
+ clrl r0
+ cmpl r2,r4
+ bgequ vcg.9
+ incl r0
+vcg.9:
+ movl r0,r4
+
+ addl3 12(r5),r2,r1
+ bicl2 #0,r1
+
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.10
+ incl r0
+vcg.10:
+ addl2 r0,r4
+
+ movl r1,12(r3)
+
+ decl 16(ap)
+ bleq noname.25
+noname.28:
+
+ addl3 #16,r6,8(ap)
+
+ addl3 #16,r5,12(ap)
+
+ addl3 #16,r3,4(ap)
+ brw noname.23
+ tstl r0
+noname.25:
+
+ movl r4,r7
+
+noname.22:
+ movl r7,r0
+ ret
+ nop
+
+
+
+;r=4 ;(AP)
+;a=8 ;(AP)
+;b=12 ;(AP)
+;n=16 ;(AP) n by value (input)
+
+ .psect code,nowrt
+
+.entry BN_SUB_WORDS,^m<r2,r3,r4,r5,r6,r7>
+
+ clrl r6
+
+ tstl 16(ap)
+ bgtr noname.31
+ clrl r7
+ brw noname.32
+ tstl r0
+noname.31:
+
+noname.33:
+
+ movl 8(ap),r5
+ movl (r5),r1
+ movl 12(ap),r4
+ movl (r4),r2
+
+ movl 4(ap),r3
+ subl3 r2,r1,r0
+ subl2 r6,r0
+ bicl3 #0,r0,(r3)
+
+ cmpl r1,r2
+ beql noname.34
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.11
+ incl r0
+vcg.11:
+ movl r0,r6
+noname.34:
+
+ decl 16(ap)
+ bgtr gen.2
+ brw noname.36
+gen.2:
+noname.35:
+
+ movl 4(r5),r2
+ movl 4(r4),r1
+
+ subl3 r1,r2,r0
+ subl2 r6,r0
+ bicl3 #0,r0,4(r3)
+
+ cmpl r2,r1
+ beql noname.37
+ clrl r0
+ cmpl r2,r1
+ bgequ vcg.12
+ incl r0
+vcg.12:
+ movl r0,r6
+noname.37:
+
+ decl 16(ap)
+ bleq noname.36
+noname.38:
+
+ movl 8(r5),r1
+ movl 8(r4),r2
+
+ subl3 r2,r1,r0
+ subl2 r6,r0
+ bicl3 #0,r0,8(r3)
+
+ cmpl r1,r2
+ beql noname.39
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.13
+ incl r0
+vcg.13:
+ movl r0,r6
+noname.39:
+
+ decl 16(ap)
+ bleq noname.36
+noname.40:
+
+ movl 12(r5),r1
+ movl 12(r4),r2
+
+ subl3 r2,r1,r0
+ subl2 r6,r0
+ bicl3 #0,r0,12(r3)
+
+ cmpl r1,r2
+ beql noname.41
+ clrl r0
+ cmpl r1,r2
+ bgequ vcg.14
+ incl r0
+vcg.14:
+ movl r0,r6
+noname.41:
+
+ decl 16(ap)
+ bleq noname.36
+noname.42:
+
+ addl3 #16,r5,8(ap)
+
+ addl3 #16,r4,12(ap)
+
+ addl3 #16,r3,4(ap)
+ brw noname.33
+ tstl r0
+noname.36:
+
+ movl r6,r7
+
+noname.32:
+ movl r7,r0
+ ret
+ nop
+
+
+
+;r=4 ;(AP)
+;a=8 ;(AP)
+;b=12 ;(AP)
+;n=16 ;(AP) n by value (input)
+
+ .psect code,nowrt
+
+.entry BN_MUL_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
+ movab -924(sp),sp
+ clrq r8
+
+ clrl r10
+
+ movl 8(ap),r6
+ movzwl 2(r6),r3
+ movl 12(ap),r7
+ bicl3 #-65536,(r7),r2
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-12(fp)
+ bicl3 #-65536,r3,-16(fp)
+ mull3 r0,-12(fp),-4(fp)
+ mull2 r2,-12(fp)
+ mull3 r2,-16(fp),-8(fp)
+ mull2 r0,-16(fp)
+ addl3 -4(fp),-8(fp),r0
+ bicl3 #0,r0,-4(fp)
+ cmpl -4(fp),-8(fp)
+ bgequ noname.45
+ addl2 #65536,-16(fp)
+noname.45:
+ movzwl -2(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-16(fp)
+ bicl3 #-65536,-4(fp),r0
+ ashl #16,r0,-8(fp)
+ addl3 -8(fp),-12(fp),r0
+ bicl3 #0,r0,-12(fp)
+ cmpl -12(fp),-8(fp)
+ bgequ noname.46
+ incl -16(fp)
+noname.46:
+ movl -12(fp),r1
+ movl -16(fp),r2
+ addl2 r1,r9
+ bicl2 #0,r9
+ cmpl r9,r1
+ bgequ noname.47
+ incl r2
+noname.47:
+ addl2 r2,r8
+ bicl2 #0,r8
+ cmpl r8,r2
+ bgequ noname.48
+ incl r10
+noname.48:
+
+ movl 4(ap),r11
+ movl r9,(r11)
+
+ clrl r9
+
+ movzwl 2(r6),r2
+ bicl3 #-65536,4(r7),r3
+ movzwl 6(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-28(fp)
+ bicl3 #-65536,r2,-32(fp)
+ mull3 r0,-28(fp),-20(fp)
+ mull2 r3,-28(fp)
+ mull3 r3,-32(fp),-24(fp)
+ mull2 r0,-32(fp)
+ addl3 -20(fp),-24(fp),r0
+ bicl3 #0,r0,-20(fp)
+ cmpl -20(fp),-24(fp)
+ bgequ noname.49
+ addl2 #65536,-32(fp)
+noname.49:
+ movzwl -18(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-32(fp)
+ bicl3 #-65536,-20(fp),r0
+ ashl #16,r0,-24(fp)
+ addl3 -24(fp),-28(fp),r0
+ bicl3 #0,r0,-28(fp)
+ cmpl -28(fp),-24(fp)
+ bgequ noname.50
+ incl -32(fp)
+noname.50:
+ movl -28(fp),r1
+ movl -32(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.51
+ incl r2
+noname.51:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.52
+ incl r9
+noname.52:
+
+ movzwl 6(r6),r2
+ bicl3 #-65536,(r7),r3
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,4(r6),-44(fp)
+ bicl3 #-65536,r2,-48(fp)
+ mull3 r0,-44(fp),-36(fp)
+ mull2 r3,-44(fp)
+ mull3 r3,-48(fp),-40(fp)
+ mull2 r0,-48(fp)
+ addl3 -36(fp),-40(fp),r0
+ bicl3 #0,r0,-36(fp)
+ cmpl -36(fp),-40(fp)
+ bgequ noname.53
+ addl2 #65536,-48(fp)
+noname.53:
+ movzwl -34(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-48(fp)
+ bicl3 #-65536,-36(fp),r0
+ ashl #16,r0,-40(fp)
+ addl3 -40(fp),-44(fp),r0
+ bicl3 #0,r0,-44(fp)
+ cmpl -44(fp),-40(fp)
+ bgequ noname.54
+ incl -48(fp)
+noname.54:
+ movl -44(fp),r1
+ movl -48(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.55
+ incl r2
+noname.55:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.56
+ incl r9
+noname.56:
+
+ movl r8,4(r11)
+
+ clrl r8
+
+ movzwl 10(r6),r2
+ bicl3 #-65536,(r7),r3
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,8(r6),-60(fp)
+ bicl3 #-65536,r2,-64(fp)
+ mull3 r0,-60(fp),-52(fp)
+ mull2 r3,-60(fp)
+ mull3 r3,-64(fp),-56(fp)
+ mull2 r0,-64(fp)
+ addl3 -52(fp),-56(fp),r0
+ bicl3 #0,r0,-52(fp)
+ cmpl -52(fp),-56(fp)
+ bgequ noname.57
+ addl2 #65536,-64(fp)
+noname.57:
+ movzwl -50(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-64(fp)
+ bicl3 #-65536,-52(fp),r0
+ ashl #16,r0,-56(fp)
+ addl3 -56(fp),-60(fp),r0
+ bicl3 #0,r0,-60(fp)
+ cmpl -60(fp),-56(fp)
+ bgequ noname.58
+ incl -64(fp)
+noname.58:
+ movl -60(fp),r1
+ movl -64(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.59
+ incl r2
+noname.59:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.60
+ incl r8
+noname.60:
+
+ movzwl 6(r6),r2
+ bicl3 #-65536,4(r7),r3
+ movzwl 6(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,4(r6),-76(fp)
+ bicl3 #-65536,r2,-80(fp)
+ mull3 r0,-76(fp),-68(fp)
+ mull2 r3,-76(fp)
+ mull3 r3,-80(fp),-72(fp)
+ mull2 r0,-80(fp)
+ addl3 -68(fp),-72(fp),r0
+ bicl3 #0,r0,-68(fp)
+ cmpl -68(fp),-72(fp)
+ bgequ noname.61
+ addl2 #65536,-80(fp)
+noname.61:
+ movzwl -66(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-80(fp)
+ bicl3 #-65536,-68(fp),r0
+ ashl #16,r0,-72(fp)
+ addl3 -72(fp),-76(fp),r0
+ bicl3 #0,r0,-76(fp)
+ cmpl -76(fp),-72(fp)
+ bgequ noname.62
+ incl -80(fp)
+noname.62:
+ movl -76(fp),r1
+ movl -80(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.63
+ incl r2
+noname.63:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.64
+ incl r8
+noname.64:
+
+ movzwl 2(r6),r2
+ bicl3 #-65536,8(r7),r3
+ movzwl 10(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-92(fp)
+ bicl3 #-65536,r2,-96(fp)
+ mull3 r0,-92(fp),-84(fp)
+ mull2 r3,-92(fp)
+ mull3 r3,-96(fp),-88(fp)
+ mull2 r0,-96(fp)
+ addl3 -84(fp),-88(fp),r0
+ bicl3 #0,r0,-84(fp)
+ cmpl -84(fp),-88(fp)
+ bgequ noname.65
+ addl2 #65536,-96(fp)
+noname.65:
+ movzwl -82(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-96(fp)
+ bicl3 #-65536,-84(fp),r0
+ ashl #16,r0,-88(fp)
+ addl3 -88(fp),-92(fp),r0
+ bicl3 #0,r0,-92(fp)
+ cmpl -92(fp),-88(fp)
+ bgequ noname.66
+ incl -96(fp)
+noname.66:
+ movl -92(fp),r1
+ movl -96(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.67
+ incl r2
+noname.67:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.68
+ incl r8
+noname.68:
+
+ movl r10,8(r11)
+
+ clrl r10
+
+ movzwl 2(r6),r2
+ bicl3 #-65536,12(r7),r3
+ movzwl 14(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-108(fp)
+ bicl3 #-65536,r2,-112(fp)
+ mull3 r0,-108(fp),-100(fp)
+ mull2 r3,-108(fp)
+ mull3 r3,-112(fp),-104(fp)
+ mull2 r0,-112(fp)
+ addl3 -100(fp),-104(fp),r0
+ bicl3 #0,r0,-100(fp)
+ cmpl -100(fp),-104(fp)
+ bgequ noname.69
+ addl2 #65536,-112(fp)
+noname.69:
+ movzwl -98(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-112(fp)
+ bicl3 #-65536,-100(fp),r0
+ ashl #16,r0,-104(fp)
+ addl3 -104(fp),-108(fp),r0
+ bicl3 #0,r0,-108(fp)
+ cmpl -108(fp),-104(fp)
+ bgequ noname.70
+ incl -112(fp)
+noname.70:
+ movl -108(fp),r1
+ movl -112(fp),r2
+ addl2 r1,r9
+ bicl2 #0,r9
+ cmpl r9,r1
+ bgequ noname.71
+ incl r2
+noname.71:
+ addl2 r2,r8
+ bicl2 #0,r8
+ cmpl r8,r2
+ bgequ noname.72
+ incl r10
+noname.72:
+
+ movzwl 6(r6),r2
+ bicl3 #-65536,8(r7),r3
+ movzwl 10(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,4(r6),-124(fp)
+ bicl3 #-65536,r2,-128(fp)
+ mull3 r0,-124(fp),-116(fp)
+ mull2 r3,-124(fp)
+ mull3 r3,-128(fp),-120(fp)
+ mull2 r0,-128(fp)
+ addl3 -116(fp),-120(fp),r0
+ bicl3 #0,r0,-116(fp)
+ cmpl -116(fp),-120(fp)
+ bgequ noname.73
+ addl2 #65536,-128(fp)
+noname.73:
+ movzwl -114(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-128(fp)
+ bicl3 #-65536,-116(fp),r0
+ ashl #16,r0,-120(fp)
+ addl3 -120(fp),-124(fp),r0
+ bicl3 #0,r0,-124(fp)
+ cmpl -124(fp),-120(fp)
+ bgequ noname.74
+ incl -128(fp)
+noname.74:
+ movl -124(fp),r1
+ movl -128(fp),r2
+ addl2 r1,r9
+ bicl2 #0,r9
+ cmpl r9,r1
+ bgequ noname.75
+ incl r2
+noname.75:
+ addl2 r2,r8
+ bicl2 #0,r8
+ cmpl r8,r2
+ bgequ noname.76
+ incl r10
+noname.76:
+
+ movzwl 10(r6),r2
+ bicl3 #-65536,4(r7),r3
+ movzwl 6(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,8(r6),-140(fp)
+ bicl3 #-65536,r2,-144(fp)
+ mull3 r0,-140(fp),-132(fp)
+ mull2 r3,-140(fp)
+ mull3 r3,-144(fp),-136(fp)
+ mull2 r0,-144(fp)
+ addl3 -132(fp),-136(fp),r0
+ bicl3 #0,r0,-132(fp)
+ cmpl -132(fp),-136(fp)
+ bgequ noname.77
+ addl2 #65536,-144(fp)
+noname.77:
+ movzwl -130(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-144(fp)
+ bicl3 #-65536,-132(fp),r0
+ ashl #16,r0,-136(fp)
+ addl3 -136(fp),-140(fp),r0
+ bicl3 #0,r0,-140(fp)
+ cmpl -140(fp),-136(fp)
+ bgequ noname.78
+ incl -144(fp)
+noname.78:
+ movl -140(fp),r1
+ movl -144(fp),r2
+ addl2 r1,r9
+ bicl2 #0,r9
+ cmpl r9,r1
+ bgequ noname.79
+ incl r2
+noname.79:
+ addl2 r2,r8
+ bicl2 #0,r8
+ cmpl r8,r2
+ bgequ noname.80
+ incl r10
+noname.80:
+
+ movzwl 14(r6),r2
+ bicl3 #-65536,(r7),r3
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,12(r6),-156(fp)
+ bicl3 #-65536,r2,-160(fp)
+ mull3 r0,-156(fp),-148(fp)
+ mull2 r3,-156(fp)
+ mull3 r3,-160(fp),-152(fp)
+ mull2 r0,-160(fp)
+ addl3 -148(fp),-152(fp),r0
+ bicl3 #0,r0,-148(fp)
+ cmpl -148(fp),-152(fp)
+ bgequ noname.81
+ addl2 #65536,-160(fp)
+noname.81:
+ movzwl -146(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-160(fp)
+ bicl3 #-65536,-148(fp),r0
+ ashl #16,r0,-152(fp)
+ addl3 -152(fp),-156(fp),r0
+ bicl3 #0,r0,-156(fp)
+ cmpl -156(fp),-152(fp)
+ bgequ noname.82
+ incl -160(fp)
+noname.82:
+ movl -156(fp),r1
+ movl -160(fp),r2
+ addl2 r1,r9
+ bicl2 #0,r9
+ cmpl r9,r1
+ bgequ noname.83
+ incl r2
+noname.83:
+ addl2 r2,r8
+ bicl2 #0,r8
+ cmpl r8,r2
+ bgequ noname.84
+ incl r10
+noname.84:
+
+ movl r9,12(r11)
+
+ clrl r9
+
+ movzwl 18(r6),r2
+ bicl3 #-65536,(r7),r3
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,16(r6),-172(fp)
+ bicl3 #-65536,r2,-176(fp)
+ mull3 r0,-172(fp),-164(fp)
+ mull2 r3,-172(fp)
+ mull3 r3,-176(fp),-168(fp)
+ mull2 r0,-176(fp)
+ addl3 -164(fp),-168(fp),r0
+ bicl3 #0,r0,-164(fp)
+ cmpl -164(fp),-168(fp)
+ bgequ noname.85
+ addl2 #65536,-176(fp)
+noname.85:
+ movzwl -162(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-176(fp)
+ bicl3 #-65536,-164(fp),r0
+ ashl #16,r0,-168(fp)
+ addl3 -168(fp),-172(fp),r0
+ bicl3 #0,r0,-172(fp)
+ cmpl -172(fp),-168(fp)
+ bgequ noname.86
+ incl -176(fp)
+noname.86:
+ movl -172(fp),r1
+ movl -176(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.87
+ incl r2
+noname.87:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.88
+ incl r9
+noname.88:
+
+ movzwl 14(r6),r2
+ bicl3 #-65536,4(r7),r3
+ movzwl 6(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,12(r6),-188(fp)
+ bicl3 #-65536,r2,-192(fp)
+ mull3 r0,-188(fp),-180(fp)
+ mull2 r3,-188(fp)
+ mull3 r3,-192(fp),-184(fp)
+ mull2 r0,-192(fp)
+ addl3 -180(fp),-184(fp),r0
+ bicl3 #0,r0,-180(fp)
+ cmpl -180(fp),-184(fp)
+ bgequ noname.89
+ addl2 #65536,-192(fp)
+noname.89:
+ movzwl -178(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-192(fp)
+ bicl3 #-65536,-180(fp),r0
+ ashl #16,r0,-184(fp)
+ addl3 -184(fp),-188(fp),r0
+ bicl3 #0,r0,-188(fp)
+ cmpl -188(fp),-184(fp)
+ bgequ noname.90
+ incl -192(fp)
+noname.90:
+ movl -188(fp),r1
+ movl -192(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.91
+ incl r2
+noname.91:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.92
+ incl r9
+noname.92:
+
+ movzwl 10(r6),r2
+ bicl3 #-65536,8(r7),r3
+ movzwl 10(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,8(r6),-204(fp)
+ bicl3 #-65536,r2,-208(fp)
+ mull3 r0,-204(fp),-196(fp)
+ mull2 r3,-204(fp)
+ mull3 r3,-208(fp),-200(fp)
+ mull2 r0,-208(fp)
+ addl3 -196(fp),-200(fp),r0
+ bicl3 #0,r0,-196(fp)
+ cmpl -196(fp),-200(fp)
+ bgequ noname.93
+ addl2 #65536,-208(fp)
+noname.93:
+ movzwl -194(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-208(fp)
+ bicl3 #-65536,-196(fp),r0
+ ashl #16,r0,-200(fp)
+ addl3 -200(fp),-204(fp),r0
+ bicl3 #0,r0,-204(fp)
+ cmpl -204(fp),-200(fp)
+ bgequ noname.94
+ incl -208(fp)
+noname.94:
+ movl -204(fp),r1
+ movl -208(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.95
+ incl r2
+noname.95:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.96
+ incl r9
+noname.96:
+
+ movzwl 6(r6),r2
+ bicl3 #-65536,12(r7),r3
+ movzwl 14(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,4(r6),-220(fp)
+ bicl3 #-65536,r2,-224(fp)
+ mull3 r0,-220(fp),-212(fp)
+ mull2 r3,-220(fp)
+ mull3 r3,-224(fp),-216(fp)
+ mull2 r0,-224(fp)
+ addl3 -212(fp),-216(fp),r0
+ bicl3 #0,r0,-212(fp)
+ cmpl -212(fp),-216(fp)
+ bgequ noname.97
+ addl2 #65536,-224(fp)
+noname.97:
+ movzwl -210(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-224(fp)
+ bicl3 #-65536,-212(fp),r0
+ ashl #16,r0,-216(fp)
+ addl3 -216(fp),-220(fp),r0
+ bicl3 #0,r0,-220(fp)
+ cmpl -220(fp),-216(fp)
+ bgequ noname.98
+ incl -224(fp)
+noname.98:
+ movl -220(fp),r1
+ movl -224(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.99
+ incl r2
+noname.99:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.100
+ incl r9
+noname.100:
+
+ movzwl 2(r6),r2
+ bicl3 #-65536,16(r7),r3
+ movzwl 18(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-236(fp)
+ bicl3 #-65536,r2,-240(fp)
+ mull3 r0,-236(fp),-228(fp)
+ mull2 r3,-236(fp)
+ mull3 r3,-240(fp),-232(fp)
+ mull2 r0,-240(fp)
+ addl3 -228(fp),-232(fp),r0
+ bicl3 #0,r0,-228(fp)
+ cmpl -228(fp),-232(fp)
+ bgequ noname.101
+ addl2 #65536,-240(fp)
+noname.101:
+ movzwl -226(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-240(fp)
+ bicl3 #-65536,-228(fp),r0
+ ashl #16,r0,-232(fp)
+ addl3 -232(fp),-236(fp),r0
+ bicl3 #0,r0,-236(fp)
+ cmpl -236(fp),-232(fp)
+ bgequ noname.102
+ incl -240(fp)
+noname.102:
+ movl -236(fp),r1
+ movl -240(fp),r2
+ addl2 r1,r8
+ bicl2 #0,r8
+ cmpl r8,r1
+ bgequ noname.103
+ incl r2
+noname.103:
+ addl2 r2,r10
+ bicl2 #0,r10
+ cmpl r10,r2
+ bgequ noname.104
+ incl r9
+noname.104:
+
+ movl r8,16(r11)
+
+ clrl r8
+
+ movzwl 2(r6),r2
+ bicl3 #-65536,20(r7),r3
+ movzwl 22(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,(r6),-252(fp)
+ bicl3 #-65536,r2,-256(fp)
+ mull3 r0,-252(fp),-244(fp)
+ mull2 r3,-252(fp)
+ mull3 r3,-256(fp),-248(fp)
+ mull2 r0,-256(fp)
+ addl3 -244(fp),-248(fp),r0
+ bicl3 #0,r0,-244(fp)
+ cmpl -244(fp),-248(fp)
+ bgequ noname.105
+ addl2 #65536,-256(fp)
+noname.105:
+ movzwl -242(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-256(fp)
+ bicl3 #-65536,-244(fp),r0
+ ashl #16,r0,-248(fp)
+ addl3 -248(fp),-252(fp),r0
+ bicl3 #0,r0,-252(fp)
+ cmpl -252(fp),-248(fp)
+ bgequ noname.106
+ incl -256(fp)
+noname.106:
+ movl -252(fp),r1
+ movl -256(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.107
+ incl r2
+noname.107:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.108
+ incl r8
+noname.108:
+
+ movzwl 6(r6),r2
+ bicl3 #-65536,16(r7),r3
+ movzwl 18(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,4(r6),-268(fp)
+ bicl3 #-65536,r2,-272(fp)
+ mull3 r0,-268(fp),-260(fp)
+ mull2 r3,-268(fp)
+ mull3 r3,-272(fp),-264(fp)
+ mull2 r0,-272(fp)
+ addl3 -260(fp),-264(fp),r0
+ bicl3 #0,r0,-260(fp)
+ cmpl -260(fp),-264(fp)
+ bgequ noname.109
+ addl2 #65536,-272(fp)
+noname.109:
+ movzwl -258(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-272(fp)
+ bicl3 #-65536,-260(fp),r0
+ ashl #16,r0,-264(fp)
+ addl3 -264(fp),-268(fp),r0
+ bicl3 #0,r0,-268(fp)
+ cmpl -268(fp),-264(fp)
+ bgequ noname.110
+ incl -272(fp)
+noname.110:
+ movl -268(fp),r1
+ movl -272(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.111
+ incl r2
+noname.111:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.112
+ incl r8
+noname.112:
+
+ movzwl 10(r6),r2
+ bicl3 #-65536,12(r7),r3
+ movzwl 14(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,8(r6),-284(fp)
+ bicl3 #-65536,r2,-288(fp)
+ mull3 r0,-284(fp),-276(fp)
+ mull2 r3,-284(fp)
+ mull3 r3,-288(fp),-280(fp)
+ mull2 r0,-288(fp)
+ addl3 -276(fp),-280(fp),r0
+ bicl3 #0,r0,-276(fp)
+ cmpl -276(fp),-280(fp)
+ bgequ noname.113
+ addl2 #65536,-288(fp)
+noname.113:
+ movzwl -274(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-288(fp)
+ bicl3 #-65536,-276(fp),r0
+ ashl #16,r0,-280(fp)
+ addl3 -280(fp),-284(fp),r0
+ bicl3 #0,r0,-284(fp)
+ cmpl -284(fp),-280(fp)
+ bgequ noname.114
+ incl -288(fp)
+noname.114:
+ movl -284(fp),r1
+ movl -288(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.115
+ incl r2
+noname.115:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.116
+ incl r8
+noname.116:
+
+ movzwl 14(r6),r2
+ bicl3 #-65536,8(r7),r3
+ movzwl 10(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,12(r6),-300(fp)
+ bicl3 #-65536,r2,-304(fp)
+ mull3 r0,-300(fp),-292(fp)
+ mull2 r3,-300(fp)
+ mull3 r3,-304(fp),-296(fp)
+ mull2 r0,-304(fp)
+ addl3 -292(fp),-296(fp),r0
+ bicl3 #0,r0,-292(fp)
+ cmpl -292(fp),-296(fp)
+ bgequ noname.117
+ addl2 #65536,-304(fp)
+noname.117:
+ movzwl -290(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-304(fp)
+ bicl3 #-65536,-292(fp),r0
+ ashl #16,r0,-296(fp)
+ addl3 -296(fp),-300(fp),r0
+ bicl3 #0,r0,-300(fp)
+ cmpl -300(fp),-296(fp)
+ bgequ noname.118
+ incl -304(fp)
+noname.118:
+ movl -300(fp),r1
+ movl -304(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.119
+ incl r2
+noname.119:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.120
+ incl r8
+noname.120:
+
+ movzwl 18(r6),r2
+ bicl3 #-65536,4(r7),r3
+ movzwl 6(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,16(r6),-316(fp)
+ bicl3 #-65536,r2,-320(fp)
+ mull3 r0,-316(fp),-308(fp)
+ mull2 r3,-316(fp)
+ mull3 r3,-320(fp),-312(fp)
+ mull2 r0,-320(fp)
+ addl3 -308(fp),-312(fp),r0
+ bicl3 #0,r0,-308(fp)
+ cmpl -308(fp),-312(fp)
+ bgequ noname.121
+ addl2 #65536,-320(fp)
+noname.121:
+ movzwl -306(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-320(fp)
+ bicl3 #-65536,-308(fp),r0
+ ashl #16,r0,-312(fp)
+ addl3 -312(fp),-316(fp),r0
+ bicl3 #0,r0,-316(fp)
+ cmpl -316(fp),-312(fp)
+ bgequ noname.122
+ incl -320(fp)
+noname.122:
+ movl -316(fp),r1
+ movl -320(fp),r2
+ addl2 r1,r10
+ bicl2 #0,r10
+ cmpl r10,r1
+ bgequ noname.123
+ incl r2
+
+noname.123:
+ addl2 r2,r9
+ bicl2 #0,r9
+ cmpl r9,r2
+ bgequ noname.124
+ incl r8
+noname.124:
+
+ movzwl 22(r6),r2
+ bicl3 #-65536,(r7),r3
+ movzwl 2(r7),r0
+ bicl2 #-65536,r0
+ bicl3 #-65536,20(r6),-332(fp)
+ bicl3 #-65536,r2,-336(fp)
+ mull3 r0,-332(fp),-324(fp)
+ mull2 r3,-332(fp)
+ mull3 r3,-336(fp),-328(fp)
+ mull2 r0,-336(fp)
+ addl3 -324(fp),-328(fp),r0
+ bicl3 #0,r0,-324(fp)
+ cmpl -324(fp),-328(fp)
+ bgequ noname.125
+ addl2 #65536,-336(fp)
+noname.125:
+ movzwl -322(fp),r0
+ bicl2 #-65536,r0
+ addl2 r0,-336(fp)
+ bicl3 #-65536,-324(fp),r0
+ ashl #16,r0,-328(fp)
+ addl3 -328(fp),-332(fp),r0
+ bicl3 #0,r0,-332(fp)
+ cmpl -332(fp),-328(fp)
+ bgequ noname.126
+ incl -336(fp)
+