github.com/gidoBOSSftw5731/go/src@v0.0.0-20210226122457-d24b0edbf019/runtime/preempt_mips64x.s (about)

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