Lines Matching refs:a3
129 s32i a3, a2, PT_AREG3
139 rsr a3, sar
141 s32i a3, a1, PT_SAR
154 rsr a3, windowstart
157 s32i a3, a1, PT_WINDOWSTART
158 slli a2, a3, 32-WSBITS
159 src a2, a3, a2
164 movi a3, 1
166 s32i a3, a1, PT_WINDOWSTART
167 s32i a3, a1, PT_WMASK
201 addi a3, a2, -1 # eliminate '1' in bit 0: yyyyxxww0
202 neg a3, a3 # yyyyxxww0 -> YYYYXXWW1+1
203 and a3, a3, a2 # max. only one bit is set
207 ffs_ws a0, a3 # number of frames to the '1' from left
214 slli a3, a0, 4 # number of frames to save in bits 8..4
216 or a2, a3, a2
225 s32i a3, a5, PT_AREG_END - 4
233 movi a3, 1
235 sll a3, a3
236 wsr a3, windowstart # set corresponding WINDOWSTART bit
283 s32i a3, a2, PT_AREG3
292 rsr a3, sar
294 s32i a3, a1, PT_SAR
592 l32i a3, a1, PT_WINDOWSTART
594 wsr a3, windowstart # restore WINDOWSTART
611 mov a3, a5
613 1: rotw -1 # a0..a3 become a4..a7
614 addi a3, a7, -4*4 # next iteration
616 l32i a4, a3, PT_AREG_END + 0
617 l32i a5, a3, PT_AREG_END + 4
618 l32i a6, a3, PT_AREG_END + 8
619 l32i a7, a3, PT_AREG_END + 12
626 rsr a3, sar
627 sub a3, a0, a3
628 beqz a3, 2f
629 extui a3, a3, 0, WBBITS
632 addi a3, a7, -1
637 bgei a3, 1, 1b
649 l32i a3, a1, PT_THREADPTR
650 wur a3, threadptr
692 rsr a3, windowstart
693 addi a0, a3, -1
694 and a3, a3, a0
695 _bnez a3, common_exception_exit
700 l32i a3, a0, 0
702 s32i a3, a1, PT_KERNEL_SIZE + 0
704 l32i a3, a0, 8
706 s32i a3, a1, PT_KERNEL_SIZE + 8
742 l32i a3, a1, PT_SAR
744 wsr a3, sar
749 l32i a3, a1, PT_LEND
752 wsr a3, lend
759 movi a3, -2
761 wsr a3, icount
766 l32i a3, a1, PT_AREG3
819 l32i a0, a3, DT_DEBUG_SAVE
824 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
826 s32i a3, a2, PT_AREG3
837 l32i a3, a2, TI_PRE_COUNT
838 addi a3, a3, 1
839 s32i a3, a2, TI_PRE_COUNT
867 l32i a0, a3, DT_DBREAKC_SAVE + _index * 4
872 l32i a0, a3, DT_ICOUNT_LEVEL_SAVE
875 l32i a0, a3, DT_ICOUNT_SAVE
878 l32i a0, a3, DT_DEBUG_SAVE
879 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
887 s32i a0, a3, DT_DBREAKC_SAVE + _index * 4
893 s32i a0, a3, DT_ICOUNT_LEVEL_SAVE
897 s32i a0, a3, DT_ICOUNT_SAVE
899 l32i a0, a3, DT_DEBUG_SAVE
900 xsr a3, SREG_EXCSAVE + XCHAL_DEBUGLEVEL
1012 extui a3, a2, PS_OWB_SHIFT, PS_OWB_WIDTH
1013 xor a3, a3, a4
1018 slli a3, a3, PS_OWB_SHIFT
1019 xor a2, a2, a3
1055 s32i a3, a2, PT_AREG3
1056 movi a3, PS_WOE_MASK
1057 or a0, a0, a3
1060 GET_THREAD_INFO(a3, a2)
1062 s32i a0, a3, TI_PS_WOE_FIX_ADDR
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
1641 rsr a3, excvaddr # fault address
1642 _PGD_OFFSET(a0, a3, a1)
1678 extui a3, a3, 28, 2 # addr. bit 28 and 29 0,1,2,3
1680 addx2 a3, a3, a3 # -> 0,3,6,9
1682 extui a3, a3, 2, 2 # -> 0,0,1,2
1684 addi a3, a3, DTLB_WAY_PGD
1685 add a1, a1, a3 # ... + way_number
1693 rsr a3, excsave1
1695 s32i a0, a3, EXC_TABLE_FIXUP
1701 l32i a3, a2, PT_AREG3
1746 rsr a3, epc1
1747 bltu a3, a0, .Lfast_second_level_miss_slow
1749 bgeu a3, a0, .Lfast_second_level_miss_slow
1753 movi a3, TLBTEMP_BASE_1
1755 bltu a0, a3, .Lfast_second_level_miss_slow
1758 bgeu a1, a3, .Lfast_second_level_miss_slow
1763 rsr a3, epc1
1764 sub a3, a3, a1
1773 bgez a3, 1f
1777 extui a3, a0, PAGE_SHIFT + DCACHE_ALIAS_ORDER, 1
1778 add a1, a3, a1
1783 movnez a0, a7, a3
1832 s32i a3, a2, PT_AREG3
1840 _PGD_OFFSET(a0, a1, a3)
1849 _PTE_OFFSET(a0, a1, a3)
1850 l32i a3, a0, 0 # read pteval
1852 ball a3, a1, .Lfast_store_slow
1853 bbci.l a3, _PAGE_WRITABLE_BIT, .Lfast_store_slow
1856 or a3, a3, a1
1858 s32i a3, a0, 0
1865 wdtlb a3, a0
1870 rsr a3, excsave1
1871 s32i a0, a3, EXC_TABLE_FIXUP
1875 l32i a3, a2, PT_AREG3
1901 rsr a3, depc # still holds a2
1902 s32i a3, a2, PT_AREG2
2058 mov a11, a3 # and 'next' (a3)
2061 l32i a5, a3, TASK_THREAD_INFO
2076 l32i a8, a3, TASK_STACK_CANARY
2082 irq_save a14, a3
2088 l32i a3, a5, THREAD_CPENABLE
2090 beqz a3, 1f
2095 movi a3, 0
2098 wsr a3, cpenable
2102 l32i a3, a5, THREAD_ATOMCTL8
2103 getex a3
2104 s32i a3, a4, THREAD_ATOMCTL8
2119 rsr a3, excsave1 # exc_table
2121 s32i a7, a3, EXC_TABLE_KSTK
2197 movi a3, .Lsaved_user_regs
2200 save_xtregs_user a3 a4 a5 a6 a7 a8 0
2229 l32i a3, a2, PBE_ADDRESS
2232 __loopi a3, a9, PAGE_SIZE, 16
2233 l32i a5, a3, 0
2234 l32i a6, a3, 4
2235 l32i a7, a3, 8
2236 l32i a8, a3, 12
2237 addi a3, a3, 16
2243 __endl a3, a9
2249 movi a3, .Lsaved_user_regs
2252 load_xtregs_user a3 a4 a5 a6 a7 a8 0