Text file
src/runtime/preempt_riscv64.s
Documentation: runtime
1 // Code generated by mkpreempt.go; DO NOT EDIT.
2
3 #include "go_asm.h"
4 #include "textflag.h"
5
6 // Note: asyncPreempt doesn't use the internal ABI, but we must be able to inject calls to it from the signal handler, so Go code has to see the PC of this function literally.
7 TEXT ·asyncPreempt<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-0
8 MOV X1, -472(X2)
9 ADD $-472, X2
10 MOV X3, 8(X2)
11 MOV X5, 16(X2)
12 MOV X6, 24(X2)
13 MOV X7, 32(X2)
14 MOV X8, 40(X2)
15 MOV X9, 48(X2)
16 MOV X10, 56(X2)
17 MOV X11, 64(X2)
18 MOV X12, 72(X2)
19 MOV X13, 80(X2)
20 MOV X14, 88(X2)
21 MOV X15, 96(X2)
22 MOV X16, 104(X2)
23 MOV X17, 112(X2)
24 MOV X18, 120(X2)
25 MOV X19, 128(X2)
26 MOV X20, 136(X2)
27 MOV X21, 144(X2)
28 MOV X22, 152(X2)
29 MOV X23, 160(X2)
30 MOV X24, 168(X2)
31 MOV X25, 176(X2)
32 MOV X26, 184(X2)
33 MOV X28, 192(X2)
34 MOV X29, 200(X2)
35 MOV X30, 208(X2)
36 MOVD F0, 216(X2)
37 MOVD F1, 224(X2)
38 MOVD F2, 232(X2)
39 MOVD F3, 240(X2)
40 MOVD F4, 248(X2)
41 MOVD F5, 256(X2)
42 MOVD F6, 264(X2)
43 MOVD F7, 272(X2)
44 MOVD F8, 280(X2)
45 MOVD F9, 288(X2)
46 MOVD F10, 296(X2)
47 MOVD F11, 304(X2)
48 MOVD F12, 312(X2)
49 MOVD F13, 320(X2)
50 MOVD F14, 328(X2)
51 MOVD F15, 336(X2)
52 MOVD F16, 344(X2)
53 MOVD F17, 352(X2)
54 MOVD F18, 360(X2)
55 MOVD F19, 368(X2)
56 MOVD F20, 376(X2)
57 MOVD F21, 384(X2)
58 MOVD F22, 392(X2)
59 MOVD F23, 400(X2)
60 MOVD F24, 408(X2)
61 MOVD F25, 416(X2)
62 MOVD F26, 424(X2)
63 MOVD F27, 432(X2)
64 MOVD F28, 440(X2)
65 MOVD F29, 448(X2)
66 MOVD F30, 456(X2)
67 MOVD F31, 464(X2)
68 CALL ·asyncPreempt2(SB)
69 MOVD 464(X2), F31
70 MOVD 456(X2), F30
71 MOVD 448(X2), F29
72 MOVD 440(X2), F28
73 MOVD 432(X2), F27
74 MOVD 424(X2), F26
75 MOVD 416(X2), F25
76 MOVD 408(X2), F24
77 MOVD 400(X2), F23
78 MOVD 392(X2), F22
79 MOVD 384(X2), F21
80 MOVD 376(X2), F20
81 MOVD 368(X2), F19
82 MOVD 360(X2), F18
83 MOVD 352(X2), F17
84 MOVD 344(X2), F16
85 MOVD 336(X2), F15
86 MOVD 328(X2), F14
87 MOVD 320(X2), F13
88 MOVD 312(X2), F12
89 MOVD 304(X2), F11
90 MOVD 296(X2), F10
91 MOVD 288(X2), F9
92 MOVD 280(X2), F8
93 MOVD 272(X2), F7
94 MOVD 264(X2), F6
95 MOVD 256(X2), F5
96 MOVD 248(X2), F4
97 MOVD 240(X2), F3
98 MOVD 232(X2), F2
99 MOVD 224(X2), F1
100 MOVD 216(X2), F0
101 MOV 208(X2), X30
102 MOV 200(X2), X29
103 MOV 192(X2), X28
104 MOV 184(X2), X26
105 MOV 176(X2), X25
106 MOV 168(X2), X24
107 MOV 160(X2), X23
108 MOV 152(X2), X22
109 MOV 144(X2), X21
110 MOV 136(X2), X20
111 MOV 128(X2), X19
112 MOV 120(X2), X18
113 MOV 112(X2), X17
114 MOV 104(X2), X16
115 MOV 96(X2), X15
116 MOV 88(X2), X14
117 MOV 80(X2), X13
118 MOV 72(X2), X12
119 MOV 64(X2), X11
120 MOV 56(X2), X10
121 MOV 48(X2), X9
122 MOV 40(X2), X8
123 MOV 32(X2), X7
124 MOV 24(X2), X6
125 MOV 16(X2), X5
126 MOV 8(X2), X3
127 MOV 472(X2), X1
128 MOV (X2), X31
129 ADD $480, X2
130 JMP (X31)
131
View as plain text