Black Lives Matter. Support the Equal Justice Initiative.

Text file src/runtime/preempt_mips64x.s

Documentation: runtime

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

View as plain text