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)