Text file
src/runtime/preempt_ppc64x.s
Documentation: runtime
1 // Code generated by mkpreempt.go; DO NOT EDIT.
2
3 //go:build ppc64 || ppc64le
4 // +build ppc64 ppc64le
5
6 #include "go_asm.h"
7 #include "textflag.h"
8
9 // 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.
10 TEXT ·asyncPreempt<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-0
11 MOVD R31, -488(R1)
12 MOVD LR, R31
13 MOVDU R31, -520(R1)
14 MOVD R3, 40(R1)
15 MOVD R4, 48(R1)
16 MOVD R5, 56(R1)
17 MOVD R6, 64(R1)
18 MOVD R7, 72(R1)
19 MOVD R8, 80(R1)
20 MOVD R9, 88(R1)
21 MOVD R10, 96(R1)
22 MOVD R11, 104(R1)
23 MOVD R14, 112(R1)
24 MOVD R15, 120(R1)
25 MOVD R16, 128(R1)
26 MOVD R17, 136(R1)
27 MOVD R18, 144(R1)
28 MOVD R19, 152(R1)
29 MOVD R20, 160(R1)
30 MOVD R21, 168(R1)
31 MOVD R22, 176(R1)
32 MOVD R23, 184(R1)
33 MOVD R24, 192(R1)
34 MOVD R25, 200(R1)
35 MOVD R26, 208(R1)
36 MOVD R27, 216(R1)
37 MOVD R28, 224(R1)
38 MOVD R29, 232(R1)
39 MOVW CR, R31
40 MOVW R31, 240(R1)
41 MOVD XER, R31
42 MOVD R31, 248(R1)
43 FMOVD F0, 256(R1)
44 FMOVD F1, 264(R1)
45 FMOVD F2, 272(R1)
46 FMOVD F3, 280(R1)
47 FMOVD F4, 288(R1)
48 FMOVD F5, 296(R1)
49 FMOVD F6, 304(R1)
50 FMOVD F7, 312(R1)
51 FMOVD F8, 320(R1)
52 FMOVD F9, 328(R1)
53 FMOVD F10, 336(R1)
54 FMOVD F11, 344(R1)
55 FMOVD F12, 352(R1)
56 FMOVD F13, 360(R1)
57 FMOVD F14, 368(R1)
58 FMOVD F15, 376(R1)
59 FMOVD F16, 384(R1)
60 FMOVD F17, 392(R1)
61 FMOVD F18, 400(R1)
62 FMOVD F19, 408(R1)
63 FMOVD F20, 416(R1)
64 FMOVD F21, 424(R1)
65 FMOVD F22, 432(R1)
66 FMOVD F23, 440(R1)
67 FMOVD F24, 448(R1)
68 FMOVD F25, 456(R1)
69 FMOVD F26, 464(R1)
70 FMOVD F27, 472(R1)
71 FMOVD F28, 480(R1)
72 FMOVD F29, 488(R1)
73 FMOVD F30, 496(R1)
74 FMOVD F31, 504(R1)
75 MOVFL FPSCR, F0
76 FMOVD F0, 512(R1)
77 CALL ·asyncPreempt2(SB)
78 FMOVD 512(R1), F0
79 MOVFL F0, FPSCR
80 FMOVD 504(R1), F31
81 FMOVD 496(R1), F30
82 FMOVD 488(R1), F29
83 FMOVD 480(R1), F28
84 FMOVD 472(R1), F27
85 FMOVD 464(R1), F26
86 FMOVD 456(R1), F25
87 FMOVD 448(R1), F24
88 FMOVD 440(R1), F23
89 FMOVD 432(R1), F22
90 FMOVD 424(R1), F21
91 FMOVD 416(R1), F20
92 FMOVD 408(R1), F19
93 FMOVD 400(R1), F18
94 FMOVD 392(R1), F17
95 FMOVD 384(R1), F16
96 FMOVD 376(R1), F15
97 FMOVD 368(R1), F14
98 FMOVD 360(R1), F13
99 FMOVD 352(R1), F12
100 FMOVD 344(R1), F11
101 FMOVD 336(R1), F10
102 FMOVD 328(R1), F9
103 FMOVD 320(R1), F8
104 FMOVD 312(R1), F7
105 FMOVD 304(R1), F6
106 FMOVD 296(R1), F5
107 FMOVD 288(R1), F4
108 FMOVD 280(R1), F3
109 FMOVD 272(R1), F2
110 FMOVD 264(R1), F1
111 FMOVD 256(R1), F0
112 MOVD 248(R1), R31
113 MOVD R31, XER
114 MOVW 240(R1), R31
115 MOVFL R31, $0xff
116 MOVD 232(R1), R29
117 MOVD 224(R1), R28
118 MOVD 216(R1), R27
119 MOVD 208(R1), R26
120 MOVD 200(R1), R25
121 MOVD 192(R1), R24
122 MOVD 184(R1), R23
123 MOVD 176(R1), R22
124 MOVD 168(R1), R21
125 MOVD 160(R1), R20
126 MOVD 152(R1), R19
127 MOVD 144(R1), R18
128 MOVD 136(R1), R17
129 MOVD 128(R1), R16
130 MOVD 120(R1), R15
131 MOVD 112(R1), R14
132 MOVD 104(R1), R11
133 MOVD 96(R1), R10
134 MOVD 88(R1), R9
135 MOVD 80(R1), R8
136 MOVD 72(R1), R7
137 MOVD 64(R1), R6
138 MOVD 56(R1), R5
139 MOVD 48(R1), R4
140 MOVD 40(R1), R3
141 MOVD 520(R1), R31
142 MOVD R31, LR
143 MOVD 528(R1), R2
144 MOVD 536(R1), R12
145 MOVD (R1), R31
146 MOVD R31, CTR
147 MOVD 32(R1), R31
148 ADD $552, R1
149 JMP (CTR)
150
View as plain text