github.com/lzhfromustc/gofuzz@v0.0.0-20211116160056-151b3108bbd1/runtime/preempt_arm64.s (about) 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 MOVD R30, -496(RSP) 9 SUB $496, RSP 10 #ifdef GOOS_linux 11 MOVD R29, -8(RSP) 12 SUB $8, RSP, R29 13 #endif 14 #ifdef GOOS_ios 15 MOVD R30, (RSP) 16 #endif 17 MOVD R0, 8(RSP) 18 MOVD R1, 16(RSP) 19 MOVD R2, 24(RSP) 20 MOVD R3, 32(RSP) 21 MOVD R4, 40(RSP) 22 MOVD R5, 48(RSP) 23 MOVD R6, 56(RSP) 24 MOVD R7, 64(RSP) 25 MOVD R8, 72(RSP) 26 MOVD R9, 80(RSP) 27 MOVD R10, 88(RSP) 28 MOVD R11, 96(RSP) 29 MOVD R12, 104(RSP) 30 MOVD R13, 112(RSP) 31 MOVD R14, 120(RSP) 32 MOVD R15, 128(RSP) 33 MOVD R16, 136(RSP) 34 MOVD R17, 144(RSP) 35 MOVD R19, 152(RSP) 36 MOVD R20, 160(RSP) 37 MOVD R21, 168(RSP) 38 MOVD R22, 176(RSP) 39 MOVD R23, 184(RSP) 40 MOVD R24, 192(RSP) 41 MOVD R25, 200(RSP) 42 MOVD R26, 208(RSP) 43 MOVD NZCV, R0 44 MOVD R0, 216(RSP) 45 MOVD FPSR, R0 46 MOVD R0, 224(RSP) 47 FMOVD F0, 232(RSP) 48 FMOVD F1, 240(RSP) 49 FMOVD F2, 248(RSP) 50 FMOVD F3, 256(RSP) 51 FMOVD F4, 264(RSP) 52 FMOVD F5, 272(RSP) 53 FMOVD F6, 280(RSP) 54 FMOVD F7, 288(RSP) 55 FMOVD F8, 296(RSP) 56 FMOVD F9, 304(RSP) 57 FMOVD F10, 312(RSP) 58 FMOVD F11, 320(RSP) 59 FMOVD F12, 328(RSP) 60 FMOVD F13, 336(RSP) 61 FMOVD F14, 344(RSP) 62 FMOVD F15, 352(RSP) 63 FMOVD F16, 360(RSP) 64 FMOVD F17, 368(RSP) 65 FMOVD F18, 376(RSP) 66 FMOVD F19, 384(RSP) 67 FMOVD F20, 392(RSP) 68 FMOVD F21, 400(RSP) 69 FMOVD F22, 408(RSP) 70 FMOVD F23, 416(RSP) 71 FMOVD F24, 424(RSP) 72 FMOVD F25, 432(RSP) 73 FMOVD F26, 440(RSP) 74 FMOVD F27, 448(RSP) 75 FMOVD F28, 456(RSP) 76 FMOVD F29, 464(RSP) 77 FMOVD F30, 472(RSP) 78 FMOVD F31, 480(RSP) 79 CALL ·asyncPreempt2(SB) 80 FMOVD 480(RSP), F31 81 FMOVD 472(RSP), F30 82 FMOVD 464(RSP), F29 83 FMOVD 456(RSP), F28 84 FMOVD 448(RSP), F27 85 FMOVD 440(RSP), F26 86 FMOVD 432(RSP), F25 87 FMOVD 424(RSP), F24 88 FMOVD 416(RSP), F23 89 FMOVD 408(RSP), F22 90 FMOVD 400(RSP), F21 91 FMOVD 392(RSP), F20 92 FMOVD 384(RSP), F19 93 FMOVD 376(RSP), F18 94 FMOVD 368(RSP), F17 95 FMOVD 360(RSP), F16 96 FMOVD 352(RSP), F15 97 FMOVD 344(RSP), F14 98 FMOVD 336(RSP), F13 99 FMOVD 328(RSP), F12 100 FMOVD 320(RSP), F11 101 FMOVD 312(RSP), F10 102 FMOVD 304(RSP), F9 103 FMOVD 296(RSP), F8 104 FMOVD 288(RSP), F7 105 FMOVD 280(RSP), F6 106 FMOVD 272(RSP), F5 107 FMOVD 264(RSP), F4 108 FMOVD 256(RSP), F3 109 FMOVD 248(RSP), F2 110 FMOVD 240(RSP), F1 111 FMOVD 232(RSP), F0 112 MOVD 224(RSP), R0 113 MOVD R0, FPSR 114 MOVD 216(RSP), R0 115 MOVD R0, NZCV 116 MOVD 208(RSP), R26 117 MOVD 200(RSP), R25 118 MOVD 192(RSP), R24 119 MOVD 184(RSP), R23 120 MOVD 176(RSP), R22 121 MOVD 168(RSP), R21 122 MOVD 160(RSP), R20 123 MOVD 152(RSP), R19 124 MOVD 144(RSP), R17 125 MOVD 136(RSP), R16 126 MOVD 128(RSP), R15 127 MOVD 120(RSP), R14 128 MOVD 112(RSP), R13 129 MOVD 104(RSP), R12 130 MOVD 96(RSP), R11 131 MOVD 88(RSP), R10 132 MOVD 80(RSP), R9 133 MOVD 72(RSP), R8 134 MOVD 64(RSP), R7 135 MOVD 56(RSP), R6 136 MOVD 48(RSP), R5 137 MOVD 40(RSP), R4 138 MOVD 32(RSP), R3 139 MOVD 24(RSP), R2 140 MOVD 16(RSP), R1 141 MOVD 8(RSP), R0 142 MOVD 496(RSP), R30 143 #ifdef GOOS_linux 144 MOVD -8(RSP), R29 145 #endif 146 MOVD (RSP), R27 147 ADD $512, RSP 148 JMP (R27)