Black Lives Matter. Support the Equal Justice Initiative.

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