Lines Matching refs:a3
138 s32i a3, a2, PT_AREG3
148 rsr a3, sar
150 s32i a3, a1, PT_SAR
163 rsr a3, windowstart
166 s32i a3, a1, PT_WINDOWSTART
167 slli a2, a3, 32-WSBITS
168 src a2, a3, a2
173 movi a3, 1
175 s32i a3, a1, PT_WINDOWSTART
176 s32i a3, a1, PT_WMASK
212 1: addi a3, a2, -1 # eliminate '1' in bit 0: yyyyxxww0
213 neg a3, a3 # yyyyxxww0 -> YYYYXXWW1+1
214 and a3, a3, a2 # max. only one bit is set
218 ffs_ws a0, a3 # number of frames to the '1' from left
225 slli a3, a0, 4 # number of frames to save in bits 8..4
227 or a2, a3, a2
236 s32i a3, a5, PT_AREG_END - 4
244 movi a3, 1
246 sll a3, a3
247 wsr a3, windowstart # set corresponding WINDOWSTART bit
294 s32i a3, a2, PT_AREG3
303 rsr a3, sar
305 s32i a3, a1, PT_SAR
600 l32i a3, a1, PT_WINDOWSTART
602 wsr a3, windowstart # restore WINDOWSTART
619 mov a3, a5
621 2: rotw -1 # a0..a3 become a4..a7
622 addi a3, a7, -4*4 # next iteration
624 l32i a4, a3, PT_AREG_END + 0
625 l32i a5, a3, PT_AREG_END + 4
626 l32i a6, a3, PT_AREG_END + 8
627 l32i a7, a3, PT_AREG_END + 12
633 rsr a3, sar
634 sub a3, a0, a3
635 beqz a3, 2f
636 extui a3, a3, 0, WBBITS
639 addi a3, a7, -1
644 bgei a3, 1, 1b
656 l32i a3, a1, PT_THREADPTR
657 wur a3, threadptr
699 rsr a3, windowstart
700 addi a0, a3, -1
701 and a3, a3, a0
702 _bnez a3, common_exception_exit
707 l32i a3, a0, 0
709 s32i a3, a1, PT_SIZE+0
711 l32i a3, a0, 8
713 s32i a3, a1, PT_SIZE+8
749 l32i a3, a1, PT_SAR
751 wsr a3, sar
756 l32i a3, a1, PT_LEND
759 wsr a3, lend
766 movi a3, -2
768 wsr a3, icount
773 l32i a3, a1, PT_AREG3
826 l32i a0, a3, DT_DEBUG_SAVE
831 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
833 s32i a3, a2, PT_AREG3
844 l32i a3, a2, TI_PRE_COUNT
845 addi a3, a3, 1
846 s32i a3, a2, TI_PRE_COUNT
872 l32i a0, a3, DT_DBREAKC_SAVE + _index * 4
877 l32i a0, a3, DT_ICOUNT_LEVEL_SAVE
880 l32i a0, a3, DT_ICOUNT_SAVE
883 l32i a0, a3, DT_DEBUG_SAVE
884 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
892 s32i a0, a3, DT_DBREAKC_SAVE + _index * 4
898 s32i a0, a3, DT_ICOUNT_LEVEL_SAVE
902 s32i a0, a3, DT_ICOUNT_SAVE
904 l32i a0, a3, DT_DEBUG_SAVE
905 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
1017 extui a3, a2, PS_OWB_SHIFT, PS_OWB_WIDTH
1018 xor a3, a3, a4
1023 slli a3, a3, PS_OWB_SHIFT
1024 xor a2, a2, a3
1060 s32i a3, a2, PT_AREG3
1061 movi a3, PS_WOE_MASK
1062 or a0, a0, a3
1064 l32i a3, a2, PT_AREG3
1157 access_ok a3, a7, a0, a2, .Leac # a0: scratch reg, a2: sp
1166 EX(.Leac) l32i a0, a3, 0 # read old value
1168 EX(.Leac) s32i a5, a3, 0 # different, modify value
1181 EX(.Leac) l32i a7, a3, 0 # orig
1186 EX(.Leac) s32i a0, a3, 0 # write new value
1240 xsr a3, excsave1
1242 s32i a0, a3, EXC_TABLE_FIXUP
1244 s32i a0, a3, EXC_TABLE_PARAM
1245 xsr a3, excsave1 # restore a3 and excsave_1
1250 s32i a3, a2, PT_AREG3
1269 rsr a3, windowstart # a3 = xxxwww1yy
1271 slli a0, a3, WSBITS
1272 or a3, a3, a0 # a3 = xxxwww1yyxxxwww1yy
1273 srl a3, a3 # a3 = 00xxxwww1yyxxxwww1
1277 extui a3, a3, 1, WSBITS-1 # a3 = 0yyxxxwww
1279 _beqz a3, .Lnospill # only one active frame? jump
1283 or a3, a3, a0 # 1yyxxxwww
1287 wsr a3, windowstart # save shifted windowstart
1288 neg a0, a3
1289 and a3, a0, a3 # first bit set from right: 000010000
1291 ffs_ws a0, a3 # a0: shifts to skip empty frames
1292 movi a3, WSBITS
1293 sub a0, a3, a0 # WSBITS-a0:number of 0-bits from right
1296 rsr a3, windowbase
1297 add a3, a3, a0
1298 wsr a3, windowbase
1301 rsr a3, windowstart
1302 srl a3, a3 # shift windowstart
1313 .Lloop: _bbsi.l a3, 1, .Lc4
1314 _bbci.l a3, 2, .Lc12
1325 srli a11, a3, 2 # shift windowbase by 2
1327 _bnei a3, 1, .Lloop
1335 srli a7, a3, 1
1337 _bnei a3, 1, .Lloop
1340 .Lc12: _bbci.l a3, 3, .Linvalid_mask # bit 2 shouldn't be zero!
1480 xsr a3, excsave1 # get spill-mask
1481 slli a3, a3, 1 # shift left by one
1482 addi a3, a3, 1 # set the bit for the current window frame
1484 slli a2, a3, 32-WSBITS
1485 src a2, a3, a2 # a2 = xxwww1yyxxxwww1yy......
1488 srli a3, a3, 1
1492 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE # save a3
1493 l32i a3, a2, EXC_TABLE_PARAM # original WB (in user task)
1504 wsr a3, windowbase
1524 movi a3, fast_syscall_spill_registers_fixup_return
1525 s32i a3, a2, PT_DEPC # setup depc
1529 rsr a3, excsave1
1531 addx4 a0, a0, a3 # find entry in table
1533 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1547 s32i a3, a2, EXC_TABLE_DOUBLE_SAVE
1548 movi a3, fast_syscall_spill_registers_fixup
1549 s32i a3, a2, EXC_TABLE_FIXUP
1550 rsr a3, windowbase
1551 s32i a3, a2, EXC_TABLE_PARAM
1556 rsr a3, sar # WB is still in SAR
1557 neg a3, a3
1558 wsr a3, windowbase
1561 rsr a3, excsave1
1562 l32i a3, a3, EXC_TABLE_DOUBLE_SAVE
1618 s32i a3, a2, PT_AREG3
1640 8: rsr a3, excvaddr # fault address
1641 _PGD_OFFSET(a0, a3, a1)
1677 extui a3, a3, 28, 2 # addr. bit 28 and 29 0,1,2,3
1679 addx2 a3, a3, a3 # -> 0,3,6,9
1681 extui a3, a3, 2, 2 # -> 0,0,1,2
1683 addi a3, a3, DTLB_WAY_PGD
1684 add a1, a1, a3 # ... + way_number
1691 4: rsr a3, excsave1
1693 s32i a0, a3, EXC_TABLE_FIXUP
1699 l32i a3, a2, PT_AREG3
1742 rsr a3, epc1
1743 bltu a3, a0, 2f
1745 bgeu a3, a0, 2f
1749 movi a3, TLBTEMP_BASE_1
1751 bltu a0, a3, 2f
1754 bgeu a1, a3, 2f
1759 rsr a3, epc1
1760 sub a3, a3, a1
1769 bgez a3, 1f
1773 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1774 add a1, a3, a1
1779 movnez a0, a7, a3
1828 s32i a3, a2, PT_AREG3
1835 _PGD_OFFSET(a0, a1, a3)
1844 _PTE_OFFSET(a0, a1, a3)
1845 l32i a3, a0, 0 # read pteval
1847 ball a3, a1, 2f
1848 bbci.l a3, _PAGE_WRITABLE_BIT, 2f
1851 or a3, a3, a1
1853 s32i a3, a0, 0
1860 wdtlb a3, a0
1865 rsr a3, excsave1
1866 s32i a0, a3, EXC_TABLE_FIXUP
1870 l32i a3, a2, PT_AREG3
1891 rsr a3, depc # still holds a2
1892 s32i a3, a2, PT_AREG2
2048 mov a11, a3 # and 'next' (a3)
2051 l32i a5, a3, TASK_THREAD_INFO
2066 l32i a8, a3, TASK_STACK_CANARY
2072 irq_save a14, a3
2078 l32i a3, a5, THREAD_CPENABLE
2079 xsr a3, cpenable
2080 s32i a3, a4, THREAD_CPENABLE
2084 l32i a3, a5, THREAD_ATOMCTL8
2085 getex a3
2086 s32i a3, a4, THREAD_ATOMCTL8
2101 rsr a3, excsave1 # exc_table
2103 s32i a7, a3, EXC_TABLE_KSTK