1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.rdata
2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.asciiz	"mips3.s, Version 1.1"
3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.asciiz	"MIPS III/IV ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*
6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ====================================================================
7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL
8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * project.
9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Rights for redistribution and usage in source and binary forms are
11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * granted according to the OpenSSL license. Warranty of any kind is
12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * disclaimed.
13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ====================================================================
14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*
17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This is my modest contributon to the OpenSSL project (see
18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * http://www.openssl.org/ for more information about it) and is
19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * a drop-in MIPS III/IV ISA replacement for crypto/bn/bn_asm.c
20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * module. For updates see http://fy.chalmers.se/~appro/hpe/.
21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The module is designed to work with either of the "new" MIPS ABI(5),
23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * namely N32 or N64, offered by IRIX 6.x. It's not ment to work under
24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * IRIX 5.x not only because it doesn't support new ABIs but also
25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * because 5.x kernels put R4x00 CPU into 32-bit mode and all those
26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 64-bit instructions (daddu, dmultu, etc.) found below gonna only
27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * cause illegal instruction exception:-(
28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * In addition the code depends on preprocessor flags set up by MIPSpro
30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * compiler driver (either as or cc) and therefore (probably?) can't be
31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * compiled by the GNU assembler. GNU C driver manages fine though...
32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * I mean as long as -mmips-as is specified or is the default option,
33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * because then it simply invokes /usr/bin/as which in turn takes
34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * perfect care of the preprocessor definitions. Another neat feature
35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * offered by the MIPSpro assembler is an optimization pass. This gave
36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * me the opportunity to have the code looking more regular as all those
37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * architecture dependent instruction rescheduling details were left to
38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the assembler. Cool, huh?
39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Performance improvement is astonishing! 'apps/openssl speed rsa dsa'
41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * goes way over 3 times faster!
42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *					<appro@fy.chalmers.se>
44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <asm.h>
46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <regdef.h>
47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if _MIPS_ISA>=4
49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	MOVNZ(cond,dst,src)	\
50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	movn	dst,src,cond
51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#else
52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	MOVNZ(cond,dst,src)	\
53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder;	\
54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	cond,.+8;	\
55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	dst,src;	\
56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.text
60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.set	noat
62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.set	reorder
63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	MINUS4	v1
65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_mul_add_words)
68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	a2,.L_bn_mul_add_words_proceed
70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_add_words_proceed:
76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	MINUS4,-4
77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	ta0,.L_bn_mul_add_words_tail
80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_add_words_loop:
82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,0(a0)
84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,8(a1)
85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t3,8(a0)
86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,16(a1)
87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta1,16(a0)
88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,v0
89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,v0	/* All manuals say it "compares 32-bit
90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * values", but it seems to work fine
91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * even on 64-bit registers. */
92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,AT
95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t0
96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,t1,AT
97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,0(a0)
98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t2,a3
101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,24(a1)
102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta3,24(a0)
103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t3,v0
104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t3,v0
105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t2
107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t3,AT
108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t2
109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,t3,AT
110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t3,8(a0)
111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta0,a3
114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,4
115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a0,32
116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a1,32
117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta1,v0
118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,ta1,v0
119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta0
121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta1,AT
122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,ta0
123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,ta1,AT
124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta1,-16(a0)
125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta2,a3
129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta3,v0
131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,ta3,v0
132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta2
134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta3,AT
135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,ta2
136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,ta3,AT
137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta3,-8(a0)
138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	ta0,.L_bn_mul_add_words_loop
141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a2,.L_bn_mul_add_words_tail
144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_add_words_return:
148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_add_words_tail:
151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,0(a0)
153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,v0
155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,v0
156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,AT
159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t0
160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,t1,AT
161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,0(a0)
162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_mul_add_words_return
164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,8(a1)
166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,8(a0)
168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,v0
170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,v0
171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,AT
174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t0
175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,t1,AT
176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,8(a0)
177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_mul_add_words_return
179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,16(a1)
181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,16(a0)
183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,v0
184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,v0
185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,AT
188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t0
189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,t1,AT
190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,16(a0)
191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_mul_add_words)
194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
196656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_mul_words)
197656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
198656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	a2,.L_bn_mul_words_proceed
199656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
200656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
202656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
203656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
204656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_words_proceed:
205656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	MINUS4,-4
206656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
207656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
208656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	ta0,.L_bn_mul_words_tail
209656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
210656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_words_loop:
211656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
212656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,8(a1)
213656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,16(a1)
214656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,24(a1)
215656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
216656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
217656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
218656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t1,v0,AT
219656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,0(a0)
220656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t1,t0
221656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
222656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t2,a3
223656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,4
224656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a0,32
225656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a1,32
226656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
227656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t2
228656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
229656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t3,v0,AT
230656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,-24(a0)
231656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t3,t2
232656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
233656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta0,a3
234656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
235656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta0
236656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
237656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	ta1,v0,AT
238656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,-16(a0)
239656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,ta1,ta0
240656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
241656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
242656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta2,a3
243656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
244656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
245656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta2
246656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
247656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	ta3,v0,AT
248656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,-8(a0)
249656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,ta3,ta2
250656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
251656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	ta0,.L_bn_mul_words_loop
252656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
253656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
254656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a2,.L_bn_mul_words_tail
255656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
256656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
257656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
258656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_words_return:
259656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
260656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
261656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_mul_words_tail:
262656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
263656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
264656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
265656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
266656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
267656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t1,v0,AT
268656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,0(a0)
269656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t1,t0
270656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_mul_words_return
271656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
272656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,8(a1)
273656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
274656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
275656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
276656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
277656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
278656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t1,v0,AT
279656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,8(a0)
280656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t1,t0
281656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_mul_words_return
282656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
283656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,16(a1)
284656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,a3
285656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	AT
286656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
287656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,AT
288656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t1,v0,AT
289656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	v0,16(a0)
290656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t1,t0
291656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
292656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_mul_words)
293656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
294656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
295656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_sqr_words)
296656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
297656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	a2,.L_bn_sqr_words_proceed
298656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
299656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
300656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
301656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
302656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
303656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sqr_words_proceed:
304656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	MINUS4,-4
305656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
306656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
307656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	ta0,.L_bn_sqr_words_tail
308656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
309656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sqr_words_loop:
310656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,t0
311656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,8(a1)
312656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,16(a1)
313656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,24(a1)
314656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t1
315656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
316656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,0(a0)
317656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,8(a0)
318656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
319656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t2,t2
320656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,4
321656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a0,64
322656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a1,32
323656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t3
324656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t2
325656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t3,-48(a0)
326656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t2,-40(a0)
327656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
328656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta0,ta0
329656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	ta1
330656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta0
331656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta1,-32(a0)
332656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta0,-24(a0)
333656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
334656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
335656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta2,ta2
336656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	ta0,a2,MINUS4
337656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	ta3
338656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	ta2
339656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta3,-16(a0)
340656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta2,-8(a0)
341656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
342656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
343656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	ta0,.L_bn_sqr_words_loop
344656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
345656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
346656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a2,.L_bn_sqr_words_tail
347656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
348656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
349656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
350656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sqr_words_return:
351656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
352656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
353656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
354656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sqr_words_tail:
355656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,t0
356656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
357656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t1
358656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
359656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,0(a0)
360656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,8(a0)
361656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_sqr_words_return
362656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
363656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,8(a1)
364656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,t0
365656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a2,1
366656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t1
367656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
368656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,16(a0)
369656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,24(a0)
370656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a2,.L_bn_sqr_words_return
371656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
372656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,16(a1)
373656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	t0,t0
374656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t1
375656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t0
376656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,32(a0)
377656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,40(a0)
378656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
379656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_sqr_words)
380656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
381656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
382656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_add_words)
383656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
384656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	a3,.L_bn_add_words_proceed
385656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
386656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
387656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
388656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
389656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
390656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_add_words_proceed:
391656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	MINUS4,-4
392656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	AT,a3,MINUS4
393656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
394656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	AT,.L_bn_add_words_tail
395656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
396656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_add_words_loop:
397656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,0(a2)
398656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,4
399656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,8(a1)
400656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	AT,a3,MINUS4
401656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,16(a1)
402656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a2,32
403656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t3,24(a1)
404656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a0,32
405656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta1,-24(a2)
406656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a1,32
407656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,-16(a2)
408656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta3,-8(a2)
409656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta0,t0
410656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,ta0,t0
411656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t0,ta0,v0
412656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t0,ta0
413656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,-32(a0)
414656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t8
415656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
416656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta1,t1
417656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,ta1,t1
418656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,ta1,v0
419656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,ta1
420656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,-24(a0)
421656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t9
422656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
423656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta2,t2
424656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,ta2,t2
425656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t2,ta2,v0
426656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t2,ta2
427656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t2,-16(a0)
428656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t8
429656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
430656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta3,t3
431656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,ta3,t3
432656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t3,ta3,v0
433656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t3,ta3
434656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t3,-8(a0)
435656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t9
436656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
437656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
438656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	AT,.L_bn_add_words_loop
439656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
440656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
441656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a3,.L_bn_add_words_tail
442656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
443656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
444656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
445656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_add_words_return:
446656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
447656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
448656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_add_words_tail:
449656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,0(a2)
450656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta0,t0
451656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,1
452656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,ta0,t0
453656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t0,ta0,v0
454656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t0,ta0
455656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t0,0(a0)
456656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t8
457656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a3,.L_bn_add_words_return
458656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
459656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,8(a1)
460656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta1,8(a2)
461656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta1,t1
462656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,1
463656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,ta1,t1
464656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t1,ta1,v0
465656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t1,ta1
466656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t1,8(a0)
467656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t9
468656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a3,.L_bn_add_words_return
469656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
470656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,16(a1)
471656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,16(a2)
472656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	ta2,t2
473656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,ta2,t2
474656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t2,ta2,v0
475656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t2,ta2
476656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	t2,16(a0)
477656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v0,t8
478656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
479656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_add_words)
480656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
481656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
482656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_sub_words)
483656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
484656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	a3,.L_bn_sub_words_proceed
485656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
486656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
487656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
488656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
489656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
490656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sub_words_proceed:
491656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	MINUS4,-4
492656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	AT,a3,MINUS4
493656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v0,zero
494656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	AT,.L_bn_sub_words_tail
495656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
496656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sub_words_loop:
497656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,0(a2)
498656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,4
499656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,8(a1)
500656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	AT,a3,MINUS4
501656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,16(a1)
502656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a2,32
503656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t3,24(a1)
504656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a0,32
505656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta1,-24(a2)
506656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	a1,32
507656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,-16(a2)
508656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta3,-8(a2)
509656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t0,ta0
510656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t0,ta0
511656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta0,t0,v0
512656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta0,-32(a0)
513656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t0,v0,t8)
514656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
515656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,t1,ta1
516656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t1,ta1
517656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta1,t1,v0
518656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta1,-24(a0)
519656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t1,v0,t9)
520656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
521656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
522656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t2,ta2
523656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t2,ta2
524656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta2,t2,v0
525656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta2,-16(a0)
526656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t2,v0,t8)
527656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
528656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,t3,ta3
529656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t3,ta3
530656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta3,t3,v0
531656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta3,-8(a0)
532656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t3,v0,t9)
533656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
534656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
535656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtzl	AT,.L_bn_sub_words_loop
536656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
537656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
538656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a3,.L_bn_sub_words_tail
539656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t0,0(a1)
540656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
541656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
542656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sub_words_return:
543656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
544656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
545656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_sub_words_tail:
546656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta0,0(a2)
547656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,1
548656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t0,ta0
549656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t0,ta0
550656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta0,t0,v0
551656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t0,v0,t8)
552656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta0,0(a0)
553656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a3,.L_bn_sub_words_return
554656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
555656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t1,8(a1)
556656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	subu	a3,1
557656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta1,8(a2)
558656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t9,t1,ta1
559656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t1,ta1
560656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta1,t1,v0
561656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t1,v0,t9)
562656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta1,8(a0)
563656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	a3,.L_bn_sub_words_return
564656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
565656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,16(a1)
566656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	ta2,16(a2)
567656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t2,ta2
568656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t2,ta2
569656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	ta2,t2,v0
570656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	MOVNZ	(t2,v0,t8)
571656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	ta2,16(a0)
572656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
573656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_sub_words)
574656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
575656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	MINUS4
576656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
577656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align 5
578656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_div_3_words)
579656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
580656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	a3,a0		/* we know that bn_div_words doesn't
581656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * touch a3, ta2, ta3 and preserves a2
582656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * so that we can save two arguments
583656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * and return address in registers
584656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * instead of stack:-)
585656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 */
586656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a0,(a3)
587656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	ta2,a1
588656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a1,-8(a3)
589656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bne	a0,a2,.L_bn_div_3_words_proceed
590656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	v0,-1
591656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
592656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_3_words_proceed:
593656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	ta3,ra
594656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bal	bn_div_words
595656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	ra,ta3
596656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	ta2,v0
597656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	t2,-16(a3)
598656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	ta0,zero
599656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t1
600656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t0
601656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t1,v1
602656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_3_words_inner_loop:
603656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnez	t8,.L_bn_div_3_words_inner_loop_done
604656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sgeu	AT,t2,t0
605656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	seq	t9,t1,v1
606656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	AT,t9
607656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t3,t0,ta2
608656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	v1,a2
609656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t1,t3
610656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t0,ta2
611656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t8,t1,v1
612656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	ta0,v1,a2
613656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	t8,ta0
614656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
615656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqzl	AT,.L_bn_div_3_words_inner_loop
616656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	v0,1
617656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
618656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_3_words_inner_loop_done:
619656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
620656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_div_3_words)
621656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
622656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
623656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_div_words)
624656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
625656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	a2,.L_bn_div_words_proceed
626656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	v1,zero
627656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
628656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	v0,-1		/* I'd rather signal div-by-zero
629656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * which can be done with 'break 7' */
630656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
631656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_proceed:
632656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bltz	a2,.L_bn_div_words_body
633656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	move	t9,v1
634656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	a2,1
635656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bgtz	a2,.-4
636656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	addu	t9,1
637656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
638656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
639656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	negu	t1,t9
640656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	t2,-1
641656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t2,t1
642656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	t2,a0
643656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	AT,a1,t1
644656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
645656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	t2,.+8
646656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	break	6		/* signal overflow */
647656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
648656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	a0,t9
649656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	a1,t9
650656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	a0,AT
651656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
652656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	QT	ta0
653656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	HH	ta1
654656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	DH	v1
655656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_body:
656656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	DH,a2,32
657656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sgeu	AT,a0,a2
658656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
659656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	bnezl	AT,.+8
660656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	a0,a2
661656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
662656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
663656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	QT,-1
664656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	HH,a0,32
665656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	QT,32	/* q=0xffffffff */
666656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beq	DH,HH,.L_bn_div_words_skip_div1
667656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ddivu	zero,a0,DH
668656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	QT
669656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_skip_div1:
670656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a2,QT
671656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t3,a0,32
672656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	AT,a1,32
673656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	t3,AT
674656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t0
675656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t1
676656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_inner_loop1:
677656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t2,t3,t0
678656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	seq	t8,HH,t1
679656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,HH,t1
680656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	t2,t8
681656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v0,t0,a2
682656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	AT,t2
683656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
684656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	AT,.L_bn_div_words_inner_loop1_done
685656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t1,v0
686656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t0,a2
687656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	b	.L_bn_div_words_inner_loop1
688656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	QT,1
689656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
690656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_inner_loop1_done:
691656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
692656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	a1,32
693656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	a0,t3,t0
694656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	v0,QT,32
695656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
696656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	li	QT,-1
697656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	HH,a0,32
698656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	QT,32	/* q=0xffffffff */
699656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beq	DH,HH,.L_bn_div_words_skip_div2
700656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ddivu	zero,a0,DH
701656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	QT
702656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_skip_div2:
703656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	DH
704656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a2,QT
705656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t3,a0,32
706656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	AT,a1,32
707656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	t3,AT
708656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t0
709656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t1
710656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_inner_loop2:
711656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	t2,t3,t0
712656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	seq	t8,HH,t1
713656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,HH,t1
714656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	and	t2,t8
715656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	v1,t0,a2
716656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	AT,t2
717656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
718656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	beqz	AT,.L_bn_div_words_inner_loop2_done
719656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t1,v1
720656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	t0,a2
721656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	b	.L_bn_div_words_inner_loop2
722656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	QT,1
723656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
724656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.L_bn_div_words_inner_loop2_done:
725656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	HH
726656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
727656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsubu	a0,t3,t0
728656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	or	v0,QT
729656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	v1,a0,t9	/* v1 contains remainder if anybody wants it */
730656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsrl	a2,t9		/* restore a2 */
731656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
732656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	QT
733656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_div_words)
734656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
735656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_0	t0
736656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_1	t1
737656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_2	t2
738656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_3	t3
739656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_0	ta0
740656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_1	ta1
741656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_2	ta2
742656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_3	ta3
743656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
744656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_4	s0
745656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_5	s2
746656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_6	s4
747656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_7	a1	/* once we load a[7] we don't need a anymore */
748656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_4	s1
749656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_5	s3
750656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_6	s5
751656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	b_7	a2	/* once we load b[7] we don't need b anymore */
752656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
753656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	t_1	t8
754656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	t_2	t9
755656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
756656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	c_1	v0
757656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	c_2	v1
758656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	c_3	a3
759656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
760656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	FRAME_SIZE	48
761656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
762656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
763656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_mul_comba8)
764656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	noreorder
765656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_SUB	sp,FRAME_SIZE
766656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.frame	sp,64,ra
767656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
768656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_0,0(a1)	/* If compiled with -mips3 option on
769656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * R5000 box assembler barks on this
770656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * line with "shouldn't have mult/div
771656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * as last instruction in bb (R10K
772656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * bug)" warning. If anybody out there
773656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * has a clue about how to circumvent
774656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 * this do send me a note.
775656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 *		<appro@fy.chalmers.se>
776656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project				 */
777656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_0,0(a2)
778656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_1,8(a1)
779656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_2,16(a1)
780656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_3,24(a1)
781656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_1,8(a2)
782656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_2,16(a2)
783656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_3,24(a2)
784656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
785656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s0,0(sp)
786656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s1,8(sp)
787656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s2,16(sp)
788656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s3,24(sp)
789656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s4,32(sp)
790656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	s5,40(sp)
791656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	c_1
792656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	c_2
793656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
794656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_1		/* mul_add_c(a[0],b[1],c2,c3,c1); */
795656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_4,32(a1)
796656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_5,40(a1)
797656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_6,48(a1)
798656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_7,56(a1)
799656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_4,32(a2)
800656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_5,40(a2)
801656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
802656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
803656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
804656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
805656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2,AT
806656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_0		/* mul_add_c(a[1],b[0],c2,c3,c1); */
807656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_6,48(a2)
808656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_7,56(a2)
809656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,0(a0)	/* r[0]=c1; */
810656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
811656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
812656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
813656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
814656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
815656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
816656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
817656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,8(a0)	/* r[1]=c2; */
818656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
819656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_0		/* mul_add_c(a[2],b[0],c3,c1,c2); */
820656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
821656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
822656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
823656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
824656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
825656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
826656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_1		/* mul_add_c(a[1],b[1],c3,c1,c2); */
827656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
828656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
829656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
830656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
831656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
832656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
833656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
834656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_2		/* mul_add_c(a[0],b[2],c3,c1,c2); */
835656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
836656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
837656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
838656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
839656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
840656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
841656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
842656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
843656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,16(a0)	/* r[2]=c3; */
844656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
845656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_3		/* mul_add_c(a[0],b[3],c1,c2,c3); */
846656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
847656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
848656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
849656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
850656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
851656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
852656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_3,c_2,t_2
853656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_2		/* mul_add_c(a[1],b[2],c1,c2,c3); */
854656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
855656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
856656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
857656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
858656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
859656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
860656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
861656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
862656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_1		/* mul_add_c(a[2],b[1],c1,c2,c3); */
863656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
864656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
865656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
866656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
867656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
868656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
869656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
870656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
871656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_0		/* mul_add_c(a[3],b[0],c1,c2,c3); */
872656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
873656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
874656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
875656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
876656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
877656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
878656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
879656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
880656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,24(a0)	/* r[3]=c1; */
881656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
882656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_0		/* mul_add_c(a[4],b[0],c2,c3,c1); */
883656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
884656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
885656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
886656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
887656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
888656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
889656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
890656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_1		/* mul_add_c(a[3],b[1],c2,c3,c1); */
891656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
892656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
893656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
894656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
895656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
896656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
897656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
898656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
899656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_2		/* mul_add_c(a[2],b[2],c2,c3,c1); */
900656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
901656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
902656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
903656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
904656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
905656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
906656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
907656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
908656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_3		/* mul_add_c(a[1],b[3],c2,c3,c1); */
909656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
910656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
911656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
912656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
913656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
914656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
915656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
916656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
917656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_4		/* mul_add_c(a[0],b[4],c2,c3,c1); */
918656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
919656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
920656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
921656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
922656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
923656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
924656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
925656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
926656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,32(a0)	/* r[4]=c2; */
927656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
928656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_5		/* mul_add_c(a[0],b[5],c3,c1,c2); */
929656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
930656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
931656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
932656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
933656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
934656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
935656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
936656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_4		/* mul_add_c(a[1],b[4],c3,c1,c2); */
937656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
938656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
939656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
940656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
941656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
942656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
943656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
944656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
945656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_3		/* mul_add_c(a[2],b[3],c3,c1,c2); */
946656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
947656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
948656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
949656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
950656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
951656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
952656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
953656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
954656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_2		/* mul_add_c(a[3],b[2],c3,c1,c2); */
955656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
956656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
957656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
958656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
959656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
960656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
961656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
962656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
963656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_1		/* mul_add_c(a[4],b[1],c3,c1,c2); */
964656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
965656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
966656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
967656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
968656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
969656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
970656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
971656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
972656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_0		/* mul_add_c(a[5],b[0],c3,c1,c2); */
973656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
974656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
975656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
976656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
977656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
978656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
979656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
980656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
981656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,40(a0)	/* r[5]=c3; */
982656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
983656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_0		/* mul_add_c(a[6],b[0],c1,c2,c3); */
984656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
985656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
986656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
987656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
988656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
989656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
990656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_3,c_2,t_2
991656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_1		/* mul_add_c(a[5],b[1],c1,c2,c3); */
992656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
993656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
994656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
995656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
996656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
997656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
998656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
999656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1000656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_2		/* mul_add_c(a[4],b[2],c1,c2,c3); */
1001656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1002656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1003656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1004656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1005656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1006656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1007656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1008656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1009656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_3		/* mul_add_c(a[3],b[3],c1,c2,c3); */
1010656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1011656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1012656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1013656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1014656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1015656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1016656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1017656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1018656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_4		/* mul_add_c(a[2],b[4],c1,c2,c3); */
1019656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1020656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1021656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1022656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1023656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1024656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1025656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1026656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1027656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_5		/* mul_add_c(a[1],b[5],c1,c2,c3); */
1028656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1029656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1030656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1031656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1032656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1033656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1034656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1035656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1036656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_6		/* mul_add_c(a[0],b[6],c1,c2,c3); */
1037656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1038656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1039656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1040656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1041656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1042656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1043656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1044656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1045656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,48(a0)	/* r[6]=c1; */
1046656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1047656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_7		/* mul_add_c(a[0],b[7],c2,c3,c1); */
1048656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1049656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1050656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1051656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1052656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1053656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1054656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
1055656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_6		/* mul_add_c(a[1],b[6],c2,c3,c1); */
1056656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1057656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1058656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1059656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1060656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1061656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1062656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1063656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1064656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_5		/* mul_add_c(a[2],b[5],c2,c3,c1); */
1065656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1066656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1067656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1068656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1069656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1070656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1071656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1072656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1073656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_4		/* mul_add_c(a[3],b[4],c2,c3,c1); */
1074656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1075656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1076656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1077656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1078656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1079656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1080656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1081656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1082656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_3		/* mul_add_c(a[4],b[3],c2,c3,c1); */
1083656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1084656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1085656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1086656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1087656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1088656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1089656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1090656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1091656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_2		/* mul_add_c(a[5],b[2],c2,c3,c1); */
1092656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1093656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1094656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1095656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1096656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1097656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1098656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1099656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_1		/* mul_add_c(a[6],b[1],c2,c3,c1); */
1101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_0		/* mul_add_c(a[7],b[0],c2,c3,c1); */
1110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,56(a0)	/* r[7]=c2; */
1119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_1		/* mul_add_c(a[7],b[1],c3,c1,c2); */
1121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
1128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_2		/* mul_add_c(a[6],b[2],c3,c1,c2); */
1129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_3		/* mul_add_c(a[5],b[3],c3,c1,c2); */
1138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_4		/* mul_add_c(a[4],b[4],c3,c1,c2); */
1147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_5		/* mul_add_c(a[3],b[5],c3,c1,c2); */
1156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_6		/* mul_add_c(a[2],b[6],c3,c1,c2); */
1165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_7		/* mul_add_c(a[1],b[7],c3,c1,c2); */
1174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,64(a0)	/* r[8]=c3; */
1183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_7		/* mul_add_c(a[2],b[7],c1,c2,c3); */
1185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_3,c_2,t_2
1192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_6		/* mul_add_c(a[3],b[6],c1,c2,c3); */
1193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1196656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1197656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1198656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1199656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1200656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_5		/* mul_add_c(a[4],b[5],c1,c2,c3); */
1202656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1203656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1204656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1205656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1206656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1207656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1208656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1209656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1210656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_4		/* mul_add_c(a[5],b[4],c1,c2,c3); */
1211656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1212656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1213656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1214656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1215656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1216656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1217656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1218656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1219656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_3		/* mul_add_c(a[6],b[3],c1,c2,c3); */
1220656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1221656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1222656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1223656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1224656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1225656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1226656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1227656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1228656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_2		/* mul_add_c(a[7],b[2],c1,c2,c3); */
1229656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1230656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1231656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1232656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1233656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1234656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1235656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1236656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1237656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,72(a0)	/* r[9]=c1; */
1238656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1239656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_3		/* mul_add_c(a[7],b[3],c2,c3,c1); */
1240656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1241656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1242656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1243656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1244656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1245656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1246656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
1247656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_4		/* mul_add_c(a[6],b[4],c2,c3,c1); */
1248656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1249656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1250656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1251656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1252656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1253656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1254656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1255656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1256656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_5		/* mul_add_c(a[5],b[5],c2,c3,c1); */
1257656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1258656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1259656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1260656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1261656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1262656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1263656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1264656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1265656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_6		/* mul_add_c(a[4],b[6],c2,c3,c1); */
1266656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1267656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1268656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1269656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1270656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1271656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1272656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1273656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1274656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_7		/* mul_add_c(a[3],b[7],c2,c3,c1); */
1275656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1276656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1277656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1278656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1279656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1280656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1281656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1282656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1283656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,80(a0)	/* r[10]=c2; */
1284656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1285656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,b_7		/* mul_add_c(a[4],b[7],c3,c1,c2); */
1286656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1287656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1288656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1289656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1290656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1291656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1292656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
1293656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_6		/* mul_add_c(a[5],b[6],c3,c1,c2); */
1294656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1295656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1296656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1297656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1298656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1299656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1300656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1301656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1302656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_5		/* mul_add_c(a[6],b[5],c3,c1,c2); */
1303656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1304656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1305656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1306656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1307656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1308656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1309656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1310656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1311656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_4		/* mul_add_c(a[7],b[4],c3,c1,c2); */
1312656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1313656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1314656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1315656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1316656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1317656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1318656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1319656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1320656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,88(a0)	/* r[11]=c3; */
1321656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1322656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_5		/* mul_add_c(a[7],b[5],c1,c2,c3); */
1323656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1324656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1325656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1326656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1327656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1328656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1329656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_3,c_2,t_2
1330656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_6		/* mul_add_c(a[6],b[6],c1,c2,c3); */
1331656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1332656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1333656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1334656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1335656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1336656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1337656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1338656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1339656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,b_7		/* mul_add_c(a[5],b[7],c1,c2,c3); */
1340656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1341656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1342656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1343656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1344656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1345656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1346656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1347656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1348656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,96(a0)	/* r[12]=c1; */
1349656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1350656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,b_7		/* mul_add_c(a[6],b[7],c2,c3,c1); */
1351656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1352656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1353656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1354656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1355656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1356656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1357656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
1358656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_6		/* mul_add_c(a[7],b[6],c2,c3,c1); */
1359656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1360656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1361656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1362656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1363656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1364656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1365656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1366656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1367656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,104(a0)	/* r[13]=c2; */
1368656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1369656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,b_7		/* mul_add_c(a[7],b[7],c3,c1,c2); */
1370656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s0,0(sp)
1371656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s1,8(sp)
1372656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s2,16(sp)
1373656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s3,24(sp)
1374656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s4,32(sp)
1375656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	s5,40(sp)
1376656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1377656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1378656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1379656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1380656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1381656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1382656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,112(a0)	/* r[14]=c3; */
1383656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,120(a0)	/* r[15]=c1; */
1384656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1385656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	PTR_ADD	sp,FRAME_SIZE
1386656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1387656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
1388656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_mul_comba8)
1389656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1390656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
1391656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_mul_comba4)
1392656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
1393656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_0,0(a1)
1394656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_0,0(a2)
1395656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_1,8(a1)
1396656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_2,16(a1)
1397656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
1398656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_3,24(a1)
1399656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_1,8(a2)
1400656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_2,16(a2)
1401656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	b_3,24(a2)
1402656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	c_1
1403656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	c_2
1404656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,0(a0)
1405656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1406656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_1		/* mul_add_c(a[0],b[1],c2,c3,c1); */
1407656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1408656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1409656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1410656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1411656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2,AT
1412656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_0		/* mul_add_c(a[1],b[0],c2,c3,c1); */
1413656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1414656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1415656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1416656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1417656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1418656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1419656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
1420656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,8(a0)
1421656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1422656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_0		/* mul_add_c(a[2],b[0],c3,c1,c2); */
1423656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1424656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1425656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1426656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1427656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1428656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1429656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_1		/* mul_add_c(a[1],b[1],c3,c1,c2); */
1430656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1431656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1432656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1433656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1434656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1435656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1436656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
1437656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_2		/* mul_add_c(a[0],b[2],c3,c1,c2); */
1438656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1439656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1440656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1441656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1442656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1443656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1444656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1445656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1446656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,16(a0)
1447656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1448656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,b_3		/* mul_add_c(a[0],b[3],c1,c2,c3); */
1449656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1450656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1451656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1452656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1453656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1454656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1455656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_3,c_2,t_2
1456656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_2		/* mul_add_c(a[1],b[2],c1,c2,c3); */
1457656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1458656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1459656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1460656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1461656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1462656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1463656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1464656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1465656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_1		/* mul_add_c(a[2],b[1],c1,c2,c3); */
1466656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1467656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1468656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1469656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1470656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1471656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1472656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1473656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1474656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_0		/* mul_add_c(a[3],b[0],c1,c2,c3); */
1475656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1476656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1477656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1478656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1479656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1480656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1481656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1482656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1483656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,24(a0)
1484656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1485656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_1		/* mul_add_c(a[3],b[1],c2,c3,c1); */
1486656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1487656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1488656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1489656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1490656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1491656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1492656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_1,c_3,t_2
1493656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_2		/* mul_add_c(a[2],b[2],c2,c3,c1); */
1494656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1495656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1496656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1497656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1498656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1499656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1500656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1501656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1502656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,b_3		/* mul_add_c(a[1],b[3],c2,c3,c1); */
1503656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1504656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1505656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1506656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1507656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1508656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1509656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1510656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1511656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,32(a0)
1512656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1513656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,b_3		/* mul_add_c(a[2],b[3],c3,c1,c2); */
1514656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1515656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1516656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1517656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1518656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1519656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1520656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	c_2,c_1,t_2
1521656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_2		/* mul_add_c(a[3],b[2],c3,c1,c2); */
1522656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1523656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1524656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1525656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1526656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1527656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1528656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1529656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1530656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,40(a0)
1531656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1532656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,b_3		/* mul_add_c(a[3],b[3],c1,c2,c3); */
1533656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1534656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1535656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1536656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1537656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1538656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1539656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,48(a0)
1540656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,56(a0)
1541656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1542656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
1543656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_mul_comba4)
1544656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1545656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	a_4
1546656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	a_5
1547656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	a_6
1548656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef	a_7
1549656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_4	b_0
1550656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_5	b_1
1551656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_6	b_2
1552656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define	a_7	b_3
1553656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1554656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
1555656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_sqr_comba8)
1556656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
1557656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_0,0(a1)
1558656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_1,8(a1)
1559656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_2,16(a1)
1560656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_3,24(a1)
1561656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1562656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
1563656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_4,32(a1)
1564656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_5,40(a1)
1565656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_6,48(a1)
1566656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_7,56(a1)
1567656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	c_1
1568656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	c_2
1569656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,0(a0)
1570656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1571656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_1		/* mul_add_c2(a[0],b[1],c2,c3,c1); */
1572656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1573656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1574656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
1575656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1576656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1577656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1578656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1579656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1580656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1581656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2,AT
1582656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,8(a0)
1583656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1584656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_0		/* mul_add_c2(a[2],b[0],c3,c1,c2); */
1585656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1586656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1587656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
1588656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1589656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1590656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1591656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1592656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1593656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1594656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1595656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1596656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1597656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1598656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_1		/* mul_add_c(a[1],b[1],c3,c1,c2); */
1599656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1600656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1601656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1602656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1603656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1604656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1605656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1606656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1607656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,16(a0)
1608656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1609656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_3		/* mul_add_c2(a[0],b[3],c1,c2,c3); */
1610656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1611656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1612656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_3,t_2,zero
1613656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1614656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1615656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1616656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1617656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1618656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1619656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1620656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1621656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1622656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1623656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_2		/* mul_add_c2(a[1],b[2],c1,c2,c3); */
1624656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1625656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1626656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1627656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1628656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1629656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1630656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1631656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1632656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1633656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1634656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1635656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1636656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1637656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1638656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,24(a0)
1639656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1640656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,a_0		/* mul_add_c2(a[4],b[0],c2,c3,c1); */
1641656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1642656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1643656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
1644656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1645656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1646656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1647656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1648656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1649656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1650656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1651656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1652656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1653656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1654656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_1		/* mul_add_c2(a[3],b[1],c2,c3,c1); */
1655656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1656656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1657656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1658656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1659656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1660656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1661656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1662656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1663656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1664656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1665656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1666656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1667656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1668656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1669656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_2		/* mul_add_c(a[2],b[2],c2,c3,c1); */
1670656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1671656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1672656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1673656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1674656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1675656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1676656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1677656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1678656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,32(a0)
1679656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1680656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_5		/* mul_add_c2(a[0],b[5],c3,c1,c2); */
1681656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1682656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1683656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
1684656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1685656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1686656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1687656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1688656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1689656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1690656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1691656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1692656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1693656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1694656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_4		/* mul_add_c2(a[1],b[4],c3,c1,c2); */
1695656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1696656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1697656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1698656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1699656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1700656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1701656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1702656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1703656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1704656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1705656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1706656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1707656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1708656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1709656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_3		/* mul_add_c2(a[2],b[3],c3,c1,c2); */
1710656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1711656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1712656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1713656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1714656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1715656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1716656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1717656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1718656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1719656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1720656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1721656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1722656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1723656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1724656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,40(a0)
1725656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1726656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,a_0		/* mul_add_c2(a[6],b[0],c1,c2,c3); */
1727656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1728656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1729656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_3,t_2,zero
1730656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1731656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1732656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1733656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1734656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1735656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1736656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1737656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1738656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1739656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1740656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,a_1		/* mul_add_c2(a[5],b[1],c1,c2,c3); */
1741656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1742656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1743656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1744656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1745656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1746656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1747656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1748656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1749656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1750656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1751656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1752656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1753656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1754656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1755656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,a_2		/* mul_add_c2(a[4],b[2],c1,c2,c3); */
1756656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1757656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1758656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1759656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1760656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1761656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1762656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1763656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1764656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1765656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1766656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1767656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1768656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1769656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1770656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_3		/* mul_add_c(a[3],b[3],c1,c2,c3); */
1771656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1772656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1773656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1774656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1775656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1776656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1777656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1778656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1779656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,48(a0)
1780656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1781656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_7		/* mul_add_c2(a[0],b[7],c2,c3,c1); */
1782656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1783656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1784656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
1785656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1786656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1787656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1788656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1789656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1790656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1791656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1792656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1793656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1794656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1795656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_6		/* mul_add_c2(a[1],b[6],c2,c3,c1); */
1796656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1797656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1798656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1799656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1800656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1801656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1802656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1803656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1804656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1805656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1806656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1807656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1808656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1809656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1810656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_5		/* mul_add_c2(a[2],b[5],c2,c3,c1); */
1811656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1812656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1813656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1814656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1815656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1816656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1817656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1818656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1819656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1820656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1821656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1822656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1823656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1824656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1825656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_4		/* mul_add_c2(a[3],b[4],c2,c3,c1); */
1826656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1827656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1828656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1829656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1830656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1831656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1832656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1833656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1834656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1835656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1836656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1837656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1838656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1839656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1840656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,56(a0)
1841656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1842656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,a_1		/* mul_add_c2(a[7],b[1],c3,c1,c2); */
1843656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1844656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1845656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
1846656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1847656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1848656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1849656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1850656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1851656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1852656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1853656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1854656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1855656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1856656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,a_2		/* mul_add_c2(a[6],b[2],c3,c1,c2); */
1857656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1858656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1859656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1860656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1861656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1862656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1863656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1864656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1865656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1866656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1867656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1868656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1869656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1870656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1871656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,a_3		/* mul_add_c2(a[5],b[3],c3,c1,c2); */
1872656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1873656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1874656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1875656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1876656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1877656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1878656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1879656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1880656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1881656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1882656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1883656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1884656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1885656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1886656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,a_4		/* mul_add_c(a[4],b[4],c3,c1,c2); */
1887656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1888656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1889656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1890656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1891656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1892656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1893656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1894656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1895656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,64(a0)
1896656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1897656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_7		/* mul_add_c2(a[2],b[7],c1,c2,c3); */
1898656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1899656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1900656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_3,t_2,zero
1901656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1902656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1903656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1904656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1905656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1906656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1907656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1908656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1909656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1910656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1911656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_6		/* mul_add_c2(a[3],b[6],c1,c2,c3); */
1912656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1913656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1914656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1915656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1916656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1917656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1918656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1919656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1920656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1921656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1922656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1923656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1924656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1925656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1926656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,a_5		/* mul_add_c2(a[4],b[5],c1,c2,c3); */
1927656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1928656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1929656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1930656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1931656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1932656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1933656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1934656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1935656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
1936656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
1937656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1938656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
1939656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
1940656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
1941656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,72(a0)
1942656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1943656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,a_3		/* mul_add_c2(a[7],b[3],c2,c3,c1); */
1944656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1945656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1946656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
1947656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1948656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1949656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1950656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1951656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1952656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1953656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1954656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1955656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1956656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1957656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,a_4		/* mul_add_c2(a[6],b[4],c2,c3,c1); */
1958656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1959656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1960656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
1961656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1962656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1963656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1964656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1965656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1966656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1967656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1968656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1969656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1970656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1971656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1972656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,a_5		/* mul_add_c(a[5],b[5],c2,c3,c1); */
1973656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1974656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1975656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
1976656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
1977656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1978656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
1979656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
1980656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
1981656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,80(a0)
1982656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
1983656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_4,a_7		/* mul_add_c2(a[4],b[7],c3,c1,c2); */
1984656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1985656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
1986656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
1987656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
1988656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
1989656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
1990656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
1991656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
1992656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
1993656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
1994656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
1995656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
1996656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
1997656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_5,a_6		/* mul_add_c2(a[5],b[6],c3,c1,c2); */
1998656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
1999656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2000656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
2001656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
2002656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2003656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2004656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2005656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2006656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
2007656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
2008656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2009656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
2010656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
2011656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
2012656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,88(a0)
2013656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2014656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,a_5		/* mul_add_c2(a[7],b[5],c1,c2,c3); */
2015656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2016656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2017656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_3,t_2,zero
2018656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2019656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2020656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2021656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2022656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
2023656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
2024656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2025656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
2026656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
2027656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
2028656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,a_6		/* mul_add_c(a[6],b[6],c1,c2,c3); */
2029656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2030656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2031656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
2032656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
2033656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2034656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
2035656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
2036656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
2037656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,96(a0)
2038656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2039656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_6,a_7		/* mul_add_c2(a[6],b[7],c2,c3,c1); */
2040656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2041656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2042656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
2043656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2044656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2045656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2046656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2047656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
2048656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
2049656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2050656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
2051656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
2052656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
2053656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,104(a0)
2054656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2055656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_7,a_7		/* mul_add_c(a[7],b[7],c3,c1,c2); */
2056656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2057656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2058656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
2059656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
2060656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2061656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
2062656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,112(a0)
2063656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,120(a0)
2064656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2065656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
2066656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_sqr_comba8)
2067656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2068656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project.align	5
2069656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectLEAF(bn_sqr_comba4)
2070656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	.set	reorder
2071656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_0,0(a1)
2072656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_1,8(a1)
2073656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_2,16(a1)
2074656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ld	a_3,24(a1)
2075656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
2076656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	c_1
2077656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	c_2
2078656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,0(a0)
2079656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2080656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_1		/* mul_add_c2(a[0],b[1],c2,c3,c1); */
2081656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2082656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2083656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
2084656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2085656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2086656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2087656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2088656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
2089656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
2090656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2,AT
2091656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,8(a0)
2092656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2093656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_0		/* mul_add_c2(a[2],b[0],c3,c1,c2); */
2094656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2095656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2096656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
2097656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2098656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2099656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
2102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
2103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
2105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
2106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
2107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_1		/* mul_add_c(a[1],b[1],c3,c1,c2); */
2108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
2111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
2112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
2114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
2115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
2116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,16(a0)
2117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_0,a_3		/* mul_add_c2(a[0],b[3],c1,c2,c3); */
2119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_3,t_2,zero
2122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
2127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
2128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
2130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
2131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
2132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_1,a_2		/* mul_add_c(a2[1],b[2],c1,c2,c3); */
2133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	AT,t_2,zero
2136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
2137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
2142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
2143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
2145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_2
2146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,AT
2147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,24(a0)
2148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_1		/* mul_add_c2(a[3],b[1],c2,c3,c1); */
2150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_1,t_2,zero
2153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
2158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
2159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
2161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
2162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
2163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_2		/* mul_add_c(a[2],b[2],c2,c3,c1); */
2164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_1
2167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_2,t_1
2168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_2
2170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_2
2171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,AT
2172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,32(a0)
2173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_2,a_3		/* mul_add_c2(a[2],b[3],c3,c1,c2); */
2175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	c_2,t_2,zero
2178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_2,1
2179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	slt	a2,t_1,zero
2180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,a2
2181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dsll	t_1,1
2182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_3,t_1
2183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_3,t_1
2184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_2
2186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_2
2187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,AT
2188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_3,40(a0)
2189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	dmultu	a_3,a_3		/* mul_add_c(a[3],b[3],c1,c2,c3); */
2191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mflo	t_1
2192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	mfhi	t_2
2193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_1,t_1
2194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sltu	AT,c_1,t_1
2195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	t_2,AT
2196656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	daddu	c_2,t_2
2197656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_1,48(a0)
2198656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	sd	c_2,56(a0)
2199656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
2200656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	jr	ra
2201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectEND(bn_sqr_comba4)
2202