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