github.com/primecitizens/pcz/std@v0.2.1/runtime/panic_ppc64x.s (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  //
     4  // Copyright 2009 The Go Authors. All rights reserved.
     5  // Use of this source code is governed by a BSD-style
     6  // license that can be found in the LICENSE file.
     7  
     8  //go:build pcz && (ppc64 || ppc64le)
     9  
    10  #include "textflag.h"
    11  
    12  // Note: these functions use a special calling convention to save generated code space.
    13  // Arguments are passed in registers, but the space for those arguments are allocated
    14  // in the caller's stack frame. These stubs write the args into that stack space and
    15  // then tail call to the corresponding runtime handler.
    16  // The tail call makes these stubs disappear in backtraces.
    17  
    18  TEXT runtime·panicIndex<ABIInternal>(SB),NOSPLIT,$0-16
    19  	JMP runtime·goPanicIndex<ABIInternal>(SB)
    20  
    21  TEXT runtime·panicIndexU<ABIInternal>(SB),NOSPLIT,$0-16
    22  	JMP runtime·goPanicIndexU<ABIInternal>(SB)
    23  
    24  TEXT runtime·panicSliceAlen<ABIInternal>(SB),NOSPLIT,$0-16
    25  	MOVD R4, R3
    26  	MOVD R5, R4
    27  	JMP runtime·goPanicSliceAlen<ABIInternal>(SB)
    28  
    29  TEXT runtime·panicSliceAlenU<ABIInternal>(SB),NOSPLIT,$0-16
    30  	MOVD R4, R3
    31  	MOVD R5, R4
    32  	JMP runtime·goPanicSliceAlenU<ABIInternal>(SB)
    33  
    34  TEXT runtime·panicSliceAcap<ABIInternal>(SB),NOSPLIT,$0-16
    35  	MOVD R4, R3
    36  	MOVD R5, R4
    37  	JMP runtime·goPanicSliceAcap<ABIInternal>(SB)
    38  
    39  TEXT runtime·panicSliceAcapU<ABIInternal>(SB),NOSPLIT,$0-16
    40  	MOVD R4, R3
    41  	MOVD R5, R4
    42  	JMP runtime·goPanicSliceAcapU<ABIInternal>(SB)
    43  
    44  TEXT runtime·panicSliceB<ABIInternal>(SB),NOSPLIT,$0-16
    45  	JMP runtime·goPanicSliceB<ABIInternal>(SB)
    46  
    47  TEXT runtime·panicSliceBU<ABIInternal>(SB),NOSPLIT,$0-16
    48  	JMP runtime·goPanicSliceBU<ABIInternal>(SB)
    49  
    50  TEXT runtime·panicSlice3Alen<ABIInternal>(SB),NOSPLIT,$0-16
    51  	MOVD R5, R3
    52  	MOVD R6, R4
    53  	JMP runtime·goPanicSlice3Alen<ABIInternal>(SB)
    54  
    55  TEXT runtime·panicSlice3AlenU<ABIInternal>(SB),NOSPLIT,$0-16
    56  	MOVD R5, R3
    57  	MOVD R6, R4
    58  	JMP runtime·goPanicSlice3AlenU<ABIInternal>(SB)
    59  
    60  TEXT runtime·panicSlice3Acap<ABIInternal>(SB),NOSPLIT,$0-16
    61  	MOVD R5, R3
    62  	MOVD R6, R4
    63  	JMP runtime·goPanicSlice3Acap<ABIInternal>(SB)
    64  
    65  TEXT runtime·panicSlice3AcapU<ABIInternal>(SB),NOSPLIT,$0-16
    66  	MOVD R5, R3
    67  	MOVD R6, R4
    68  	JMP runtime·goPanicSlice3AcapU<ABIInternal>(SB)
    69  
    70  TEXT runtime·panicSlice3B<ABIInternal>(SB),NOSPLIT,$0-16
    71  	MOVD R4, R3
    72  	MOVD R5, R4
    73  	JMP runtime·goPanicSlice3B<ABIInternal>(SB)
    74  
    75  TEXT runtime·panicSlice3BU<ABIInternal>(SB),NOSPLIT,$0-16
    76  	MOVD R4, R3
    77  	MOVD R5, R4
    78  	JMP runtime·goPanicSlice3BU<ABIInternal>(SB)
    79  
    80  TEXT runtime·panicSlice3C<ABIInternal>(SB),NOSPLIT,$0-16
    81  	JMP runtime·goPanicSlice3C<ABIInternal>(SB)
    82  
    83  TEXT runtime·panicSlice3CU<ABIInternal>(SB),NOSPLIT,$0-16
    84  	JMP runtime·goPanicSlice3CU<ABIInternal>(SB)
    85  
    86  TEXT runtime·panicSliceConvert<ABIInternal>(SB),NOSPLIT,$0-16
    87  	MOVD R5, R3
    88  	MOVD R6, R4
    89  	JMP runtime·goPanicSliceConvert<ABIInternal>(SB)