File tree Expand file tree Collapse file tree 4 files changed +76
-1
lines changed Expand file tree Collapse file tree 4 files changed +76
-1
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ var gccgoArchSizes = map[string]*StdSizes{
17
17
"arm64" : {8 , 8 },
18
18
"arm64be" : {8 , 8 },
19
19
"ia64" : {8 , 8 },
20
+ "loong64" : {8 , 8 },
20
21
"m68k" : {4 , 2 },
21
22
"mips" : {4 , 8 },
22
23
"mipsle" : {4 , 8 },
Original file line number Diff line number Diff line change
1
+ // Copyright 2022 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // +build !math_big_pure_go,loong64
6
+
7
+ #include "textflag.h"
8
+
9
+ // This file provides fast assembly versions for the elementary
10
+ // arithmetic operations on vectors implemented in arith.go.
11
+
12
+ TEXT ·addVV(SB),NOSPLIT,$0
13
+ JMP ·addVV_g(SB)
14
+
15
+ TEXT ·subVV(SB),NOSPLIT,$0
16
+ JMP ·subVV_g(SB)
17
+
18
+ TEXT ·addVW(SB),NOSPLIT,$0
19
+ JMP ·addVW_g(SB)
20
+
21
+ TEXT ·subVW(SB),NOSPLIT,$0
22
+ JMP ·subVW_g(SB)
23
+
24
+ TEXT ·shlVU(SB),NOSPLIT,$0
25
+ JMP ·shlVU_g(SB)
26
+
27
+ TEXT ·shrVU(SB),NOSPLIT,$0
28
+ JMP ·shrVU_g(SB)
29
+
30
+ TEXT ·mulAddVWW(SB),NOSPLIT,$0
31
+ JMP ·mulAddVWW_g(SB)
32
+
33
+ TEXT ·addMulVVW(SB),NOSPLIT,$0
34
+ JMP ·addMulVVW_g(SB)
Original file line number Diff line number Diff line change 2
2
// Use of this source code is governed by a BSD-style
3
3
// license that can be found in the LICENSE file.
4
4
//
5
- //go:build 386 || amd64 || arm || arm64 || ppc64le || mips64le || mipsle || riscv64 || wasm
5
+ //go:build 386 || amd64 || arm || arm64 || loong64 || ppc64le || mips64le || mipsle || riscv64 || wasm
6
6
7
7
package os
8
8
Original file line number Diff line number Diff line change
1
+ // Copyright 2022 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD - style
3
+ // license th at can be found in the LICENSE file.
4
+
5
+ #include "textflag.h"
6
+ #include "funcdata.h"
7
+
8
+ #define REGCTXT R29
9
+
10
+ // makeFuncStub is the code half of the function returned by MakeFunc.
11
+ // See the comment on the declaration of makeFuncStub in makefunc.go
12
+ // for more details.
13
+ // No arg size here , runtime pulls arg map out of the func value.
14
+ TEXT ·makeFuncStub(SB) , (NOSPLIT|WRAPPER) , $ 40
15
+ NO_LOCAL_POINTERS
16
+ MOVV REGCTXT , 8 (R3)
17
+ MOVV $ argframe + 0 (FP) , R19
18
+ MOVV R19 , 16 (R3)
19
+ MOVB R0 , 40 (R3)
20
+ ADDV $ 40 , R3 , R19
21
+ MOVV R19 , 24 (R3)
22
+ MOVV R0 , 32 (R3)
23
+ JAL ·callReflect(SB)
24
+ RET
25
+
26
+ // methodValueCall is the code half of the function returned by makeMethodValue.
27
+ // See the comment on the declaration of methodValueCall in makefunc.go
28
+ // for more details.
29
+ // No arg size here ; runtime pulls arg map out of the func value.
30
+ TEXT ·methodValueCall(SB) , (NOSPLIT|WRAPPER) , $ 40
31
+ NO_LOCAL_POINTERS
32
+ MOVV REGCTXT , 8 (R3)
33
+ MOVV $ argframe + 0 (FP) , R19
34
+ MOVV R19 , 16 (R3)
35
+ MOVB R0 , 40 (R3)
36
+ ADDV $ 40 , R3 , R19
37
+ MOVV R19 , 24 (R3)
38
+ MOVV R0 , 32 (R3)
39
+ JAL ·callMethod(SB)
40
+ RET
You can’t perform that action at this time.
0 commit comments