Lines Matching refs:a2

96 	movi	a2, 0		// always report success
126 rsr.windowbase a2
127 addi a2, a2, 1
128 ssr a2 // sar = WINDOWBASE + 1
130 srl a2, a3 // a2 is 0... | 000000xxxxxxxxxx = WINDOWSTART >> sar
135 or a2, a2, a3 // a2 is 0... | 1yyyyyxxxxxxxxxx
150 neg a3, a2 // keep only the least-significant bit set of a2 ...
151 and a3, a3, a2 // ... in a3
155 wsr.windowstart a2 // temporarily save rotated start bits
159 find_ls_one a3, a2 // set a3 to index of lsmost bit set in a2 (a2 clobbered)
161 addi a2, a3, 1 // index+1
162 ssr a2 // set sar = index + 1
163 rsr.windowstart a2 // restore a2 (rotated start bits)
165 srl a2, a2 // right-justify the rotated start bits (dropping lsbit set)
166 wsr.windowstart a2 // save rotated + justified window start bits,
175 rsr.windowbase a2
177 addi a2, a2, 31
178 sub a3, a2, a3 // a3 = WINDOWBASE + index = WINDOWBASE + (31 - msbit_index)
180 add a3, a2, a3 // a3 = WINDOWBASE + index
186 rsr.windowstart a2 // restore a2 (rotated + justified window start bits)
210 beqz a2, .Ldone // if no start bit remaining, we're done
211 bbsi.l a2, 0, .Lspill4 // if next start bit is set, it's a call4
212 bbsi.l a2, 1, .Lspill8 // if 2nd next bit set, it's a call8
213 bbsi.l a2, 2, .Lspill12 // if 3rd next bit set, it's a call12
226 srli a6, a2, 1 // move and shift the start bits
249 srli a10, a2, 2 // move and shift the start bits
261 s32i a2, a13, 8 // store call[i]'s a2
279 srli a14, a2, 3 // move and shift the start bits
288 rsr.windowbase a2 // get (original) window base
289 ssl a2 // setup for shift left by WINDOWBASE
290 movi a2, 1
291 sll a2, a2 // compute new WINDOWSTART = 1<<WINDOWBASE
292 wsr.windowstart a2 // and apply it
294 movi a2, 0 // done!
302 movi a2, 1 // indicate invalid WINDOWSTART
318 slli a2, a2, 1 // space for missing start bit
319 addi a2, a2, 1 // add missing start bit
321 bbsi.l a2, WSBITS-1, 2f // branch if current WINDOWBASE==original
323 slli a2, a2, 1 // shift towards original WINDOWSTART alignment
324 bbci.l a2, WSBITS-1, 1b // repeat until ms start bit set
330 slli a3, a2, 32-WSBITS // left-justify start bits
331 src a2, a2, a3 // rotate left by original WINDOWBASE
332 extui a2, a2, 0, WSBITS // keep only significant start bits
333 wsr.windowstart a2 // we've cleared only start bits of spilled windows
335 movi a2, 32
336 sub a3, a2, a3 // restore original WINDOWBASE
340 movi a2, 2 // indicate invalid window size
374 and a2, a5, a6 // clear WOE, INTLEVEL
375 addi a2, a2, XCHAL_EXCM_LEVEL // set INTLEVEL = XCHAL_EXCM_LEVEL
376 wsr.ps a2 // apply to PS