]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile, cmd/internal, runtime: change the registers used by the duff device...
authorGuoqi Chen <chenguoqi@loongson.cn>
Wed, 16 Aug 2023 19:58:10 +0000 (03:58 +0800)
committerDavid Chase <drchase@google.com>
Tue, 21 Nov 2023 17:42:40 +0000 (17:42 +0000)
Add R21 to the allocatable registers, use R20 and R21 in duff
device. This CL is in preparation for subsequent regABI support.

Updates #40724

Co-authored-by: Xiaolin Zhao <zhaoxiaolin@loongson.cn>
Change-Id: If1661adc0f766925fbe74827a369797f95fa28a9
Reviewed-on: https://go-review.googlesource.com/c/go/+/521775
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/cmd/compile/internal/loong64/ssa.go
src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/internal/obj/loong64/a.out.go
src/runtime/duff_loong64.s
src/runtime/mkduff.go

index 6e81da3ef8ca27d5bdc02575945ec99b028d10f7..ad465ba3bb54edb58fbe4219f352b6cd4b422f70 100644 (file)
@@ -362,7 +362,7 @@ func ssaGenValue(s *ssagen.State, v *ssa.Value) {
                p.To.Type = obj.TYPE_REG
                p.To.Reg = v.Reg()
        case ssa.OpLOONG64DUFFZERO:
-               // runtime.duffzero expects start address in R19
+               // runtime.duffzero expects start address in R20
                p := s.Prog(obj.ADUFFZERO)
                p.To.Type = obj.TYPE_MEM
                p.To.Name = obj.NAME_EXTERN
index 3442fc8d7cd62e8fa042a8568a0dc4cca0310ea6..97aa9590a7b5596920c7a83d4001b40d1f92f994 100644 (file)
@@ -123,7 +123,7 @@ func init() {
 
        // Common individual register masks
        var (
-               gp         = buildReg("R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31") // R1 is LR, R2 is thread pointer, R3 is stack pointer, R21-unused, R22 is g, R30 is REGTMP
+               gp         = buildReg("R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31") // R1 is LR, R2 is thread pointer, R3 is stack pointer, R22 is g, R30 is REGTMP
                gpg        = gp | buildReg("g")
                gpsp       = gp | buildReg("SP")
                gpspg      = gpg | buildReg("SP")
@@ -283,22 +283,22 @@ func init() {
                // arg1 = mem
                // auxint = offset into duffzero code to start executing
                // returns mem
-               // R19 aka loong64.REGRT1 changed as side effect
+               // R20 aka loong64.REGRT1 changed as side effect
                {
                        name:      "DUFFZERO",
                        aux:       "Int64",
                        argLength: 2,
                        reg: regInfo{
-                               inputs:   []regMask{buildReg("R19")},
-                               clobbers: buildReg("R19 R1"),
+                               inputs:   []regMask{buildReg("R20")},
+                               clobbers: buildReg("R20 R1"),
                        },
                        typ:            "Mem",
                        faultOnNilArg0: true,
                },
 
                // duffcopy
-               // arg0 = address of dst memory (in R20, changed as side effect) REGRT2
-               // arg1 = address of src memory (in R19, changed as side effect) REGRT1
+               // arg0 = address of dst memory (in R21, changed as side effect)
+               // arg1 = address of src memory (in R20, changed as side effect)
                // arg2 = mem
                // auxint = offset into duffcopy code to start executing
                // returns mem
@@ -307,8 +307,8 @@ func init() {
                        aux:       "Int64",
                        argLength: 3,
                        reg: regInfo{
-                               inputs:   []regMask{buildReg("R20"), buildReg("R19")},
-                               clobbers: buildReg("R19 R20 R1"),
+                               inputs:   []regMask{buildReg("R21"), buildReg("R20")},
+                               clobbers: buildReg("R20 R21 R1"),
                        },
                        typ:            "Mem",
                        faultOnNilArg0: true,
@@ -316,45 +316,45 @@ func init() {
                },
 
                // large or unaligned zeroing
-               // arg0 = address of memory to zero (in R19, changed as side effect)
+               // arg0 = address of memory to zero (in R20, changed as side effect)
                // arg1 = address of the last element to zero
                // arg2 = mem
                // auxint = alignment
                // returns mem
-               //      MOVx    R0, (R19)
-               //      ADDV    $sz, R19
-               //      BGEU    Rarg1, R19, -2(PC)
+               //      MOVx    R0, (R20)
+               //      ADDV    $sz, R20
+               //      BGEU    Rarg1, R20, -2(PC)
                {
                        name:      "LoweredZero",
                        aux:       "Int64",
                        argLength: 3,
                        reg: regInfo{
-                               inputs:   []regMask{buildReg("R19"), gp},
-                               clobbers: buildReg("R19"),
+                               inputs:   []regMask{buildReg("R20"), gp},
+                               clobbers: buildReg("R20"),
                        },
                        typ:            "Mem",
                        faultOnNilArg0: true,
                },
 
                // large or unaligned move
-               // arg0 = address of dst memory (in R20, changed as side effect)
-               // arg1 = address of src memory (in R19, changed as side effect)
+               // arg0 = address of dst memory (in R21, changed as side effect)
+               // arg1 = address of src memory (in R20, changed as side effect)
                // arg2 = address of the last element of src
                // arg3 = mem
                // auxint = alignment
                // returns mem
-               //      MOVx    (R19), Rtmp
-               //      MOVx    Rtmp, (R20)
-               //      ADDV    $sz, R19
+               //      MOVx    (R20), Rtmp
+               //      MOVx    Rtmp, (R21)
                //      ADDV    $sz, R20
-               //      BGEU    Rarg2, R19, -4(PC)
+               //      ADDV    $sz, R21
+               //      BGEU    Rarg2, R20, -4(PC)
                {
                        name:      "LoweredMove",
                        aux:       "Int64",
                        argLength: 4,
                        reg: regInfo{
-                               inputs:   []regMask{buildReg("R20"), buildReg("R19"), gp},
-                               clobbers: buildReg("R19 R20"),
+                               inputs:   []regMask{buildReg("R21"), buildReg("R20"), gp},
+                               clobbers: buildReg("R20 R21"),
                        },
                        typ:            "Mem",
                        faultOnNilArg0: true,
index 80ac8e4f8bb254eb49a1861c4439decc433fbf17..55a50fa2842219644089d7ea9b22550037ef79cd 100644 (file)
@@ -23193,11 +23193,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AADDVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23208,10 +23208,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AADDVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693244}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741820}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23221,11 +23221,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASUBVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23236,10 +23236,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASUBVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23250,11 +23250,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AMULV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23265,11 +23265,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AMULHV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23280,11 +23280,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AMULHVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23294,11 +23294,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ADIVV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23308,11 +23308,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ADIVVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23322,11 +23322,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AREMV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23336,11 +23336,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AREMVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23467,11 +23467,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AAND,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23482,10 +23482,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AAND,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23496,11 +23496,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23511,10 +23511,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23525,11 +23525,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.AXOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23540,10 +23540,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AXOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23554,11 +23554,11 @@ var opcodeTable = [...]opInfo{
                asm:         loong64.ANOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23569,10 +23569,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ANOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23581,10 +23581,10 @@ var opcodeTable = [...]opInfo{
                argLen: 1,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23646,11 +23646,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMASKEQZ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23660,11 +23660,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMASKNEZ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23674,11 +23674,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASLLV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23689,10 +23689,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASLLV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23702,11 +23702,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASRLV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23717,10 +23717,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASRLV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23730,11 +23730,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASRAV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23745,10 +23745,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASRAV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23758,11 +23758,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AROTR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23772,11 +23772,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AROTRV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23787,10 +23787,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AROTR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23801,10 +23801,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.AROTRV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23814,11 +23814,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASGT,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23829,10 +23829,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASGT,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23842,11 +23842,11 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.ASGTU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {1, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {1, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23857,10 +23857,10 @@ var opcodeTable = [...]opInfo{
                asm:     loong64.ASGTU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23938,7 +23938,7 @@ var opcodeTable = [...]opInfo{
                asm:               loong64.AMOVV,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23978,7 +23978,7 @@ var opcodeTable = [...]opInfo{
                                {0, 4611686018427387908}, // SP SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -23991,10 +23991,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24007,10 +24007,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVBU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24023,10 +24023,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24039,10 +24039,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVHU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24055,10 +24055,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24071,10 +24071,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVWU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24087,10 +24087,10 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24103,7 +24103,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVF,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
                                {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
@@ -24119,7 +24119,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVD,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
                                {0, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
@@ -24135,8 +24135,8 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24149,8 +24149,8 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24163,8 +24163,8 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24177,8 +24177,8 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24191,7 +24191,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVF,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                                {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                        },
                },
@@ -24205,7 +24205,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVD,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                                {1, 4611686017353646080}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                        },
                },
@@ -24219,7 +24219,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24232,7 +24232,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24245,7 +24245,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24258,7 +24258,7 @@ var opcodeTable = [...]opInfo{
                asm:            loong64.AMOVV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24268,10 +24268,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24281,10 +24281,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVBU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24294,10 +24294,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24307,10 +24307,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVHU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24320,10 +24320,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24333,10 +24333,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVWU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24346,10 +24346,10 @@ var opcodeTable = [...]opInfo{
                asm:    loong64.AMOVV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24359,10 +24359,10 @@ var opcodeTable = [...]opInfo{
                resultInArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24503,7 +24503,7 @@ var opcodeTable = [...]opInfo{
                clobberFlags: true,
                call:         true,
                reg: regInfo{
-                       clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
+                       clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                },
        },
        {
@@ -24514,7 +24514,7 @@ var opcodeTable = [...]opInfo{
                call:         true,
                tailCall:     true,
                reg: regInfo{
-                       clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
+                       clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                },
        },
        {
@@ -24526,9 +24526,9 @@ var opcodeTable = [...]opInfo{
                reg: regInfo{
                        inputs: []inputInfo{
                                {1, 268435456},  // R29
-                               {0, 1070596092}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644668}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
-                       clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
+                       clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                },
        },
        {
@@ -24539,9 +24539,9 @@ var opcodeTable = [...]opInfo{
                call:         true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
-                       clobbers: 4611686018426339320, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
+                       clobbers: 4611686018427387896, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31
                },
        },
        {
@@ -24551,9 +24551,9 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 262144}, // R19
+                               {0, 524288}, // R20
                        },
-                       clobbers: 262146, // R1 R19
+                       clobbers: 524290, // R1 R20
                },
        },
        {
@@ -24564,10 +24564,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg1: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 524288}, // R20
-                               {1, 262144}, // R19
+                               {0, 1048576}, // R21
+                               {1, 524288},  // R20
                        },
-                       clobbers: 786434, // R1 R19 R20
+                       clobbers: 1572866, // R1 R20 R21
                },
        },
        {
@@ -24577,10 +24577,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 262144},     // R19
-                               {1, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 524288},     // R20
+                               {1, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
-                       clobbers: 262144, // R19
+                       clobbers: 524288, // R20
                },
        },
        {
@@ -24591,11 +24591,11 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg1: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 524288},     // R20
-                               {1, 262144},     // R19
-                               {2, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1048576},    // R21
+                               {1, 524288},     // R20
+                               {2, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
-                       clobbers: 786432, // R19 R20
+                       clobbers: 1572864, // R20 R21
                },
        },
        {
@@ -24604,10 +24604,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24617,10 +24617,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24630,10 +24630,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24644,8 +24644,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24656,8 +24656,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24668,8 +24668,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24680,7 +24680,7 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24691,7 +24691,7 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                },
        },
@@ -24704,11 +24704,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24721,11 +24721,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24738,11 +24738,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24755,11 +24755,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24773,10 +24773,10 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24790,10 +24790,10 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24806,12 +24806,12 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {2, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {2, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24824,12 +24824,12 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {2, 1072693240},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
-                               {0, 4611686019500081148}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31 SB
+                               {1, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {2, 1073741816},          // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 4611686019501129724}, // SP R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24840,7 +24840,7 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1072693240}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 g R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1073741816}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 g R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24849,7 +24849,7 @@ var opcodeTable = [...]opInfo{
                argLen: 1,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24858,7 +24858,7 @@ var opcodeTable = [...]opInfo{
                argLen: 1,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24878,7 +24878,7 @@ var opcodeTable = [...]opInfo{
                rematerializeable: true,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -24888,7 +24888,7 @@ var opcodeTable = [...]opInfo{
                rematerializeable: true,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1070596088}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R23 R24 R25 R26 R27 R28 R29 R31
+                               {0, 1071644664}, // R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R23 R24 R25 R26 R27 R28 R29 R31
                        },
                },
        },
@@ -40707,16 +40707,16 @@ var registersLOONG64 = [...]Register{
        {17, loong64.REG_R18, 14, "R18"},
        {18, loong64.REG_R19, 15, "R19"},
        {19, loong64.REG_R20, 16, "R20"},
-       {20, loong64.REG_R21, -1, "R21"},
+       {20, loong64.REG_R21, 17, "R21"},
        {21, loong64.REGG, -1, "g"},
-       {22, loong64.REG_R23, 17, "R23"},
-       {23, loong64.REG_R24, 18, "R24"},
-       {24, loong64.REG_R25, 19, "R25"},
-       {25, loong64.REG_R26, 20, "R26"},
-       {26, loong64.REG_R27, 21, "R27"},
-       {27, loong64.REG_R28, 22, "R28"},
-       {28, loong64.REG_R29, 23, "R29"},
-       {29, loong64.REG_R31, 24, "R31"},
+       {22, loong64.REG_R23, 18, "R23"},
+       {23, loong64.REG_R24, 19, "R24"},
+       {24, loong64.REG_R25, 20, "R25"},
+       {25, loong64.REG_R26, 21, "R26"},
+       {26, loong64.REG_R27, 22, "R27"},
+       {27, loong64.REG_R28, 23, "R28"},
+       {28, loong64.REG_R29, 24, "R29"},
+       {29, loong64.REG_R31, 25, "R31"},
        {30, loong64.REG_F0, -1, "F0"},
        {31, loong64.REG_F1, -1, "F1"},
        {32, loong64.REG_F2, -1, "F2"},
@@ -40753,7 +40753,7 @@ var registersLOONG64 = [...]Register{
 }
 var paramIntRegLOONG64 = []int8{3, 4, 5, 6, 7, 8, 9, 10}
 var paramFloatRegLOONG64 = []int8{30, 31, 32, 33, 34, 35, 36, 37}
-var gpRegMaskLOONG64 = regMask(1070596088)
+var gpRegMaskLOONG64 = regMask(1071644664)
 var fpRegMaskLOONG64 = regMask(4611686017353646080)
 var specialRegMaskLOONG64 = regMask(0)
 var framepointerRegLOONG64 = int8(-1)
index 99a7da388f7e8eb9f8c332e74d1d1f1fd17b7a9c..a4bb7b40a340960d9c11c45c5776fa60ff7680c7 100644 (file)
@@ -157,14 +157,14 @@ const (
        REGZERO = REG_R0 // set to zero
        REGLINK = REG_R1
        REGSP   = REG_R3
-       REGRET  = REG_R19
+       REGRET  = REG_R20 // not use
        REGARG  = -1      // -1 disables passing the first argument in register
-       REGRT1  = REG_R19 // reserved for runtime, duffzero and duffcopy
-       REGRT2  = REG_R20 // reserved for runtime, duffcopy
+       REGRT1  = REG_R20 // reserved for runtime, duffzero and duffcopy
+       REGRT2  = REG_R21 // reserved for runtime, duffcopy
        REGCTXT = REG_R29 // context for closures
        REGG    = REG_R22 // G in loong64
        REGTMP  = REG_R30 // used by the assembler
-       FREGRET = REG_F0
+       FREGRET = REG_F0  // not use
 )
 
 var LOONG64DWARFRegisters = map[int16]int16{}
index 63fa3bcca1452f7a14044f93f60169ef36b91554..df8b6539654bc5dd4155976c5c1ff2662c1cbcd7 100644 (file)
 #include "textflag.h"
 
 TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
-       MOVV    R0, (R19)
-       ADDV    $8, R19
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
+       MOVV    R0, (R20)
+       ADDV    $8, R20
        RET
 
 TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
-       MOVV    (R19), R30
-       ADDV    $8, R19
-       MOVV    R30, (R20)
+       MOVV    (R20), R30
        ADDV    $8, R20
+       MOVV    R30, (R21)
+       ADDV    $8, R21
 
        RET
index e8d4fcc93e3d480aa54543489ce93b87e4973766..77674254d45796bf0ade261cbfa38b9d4074f082 100644 (file)
@@ -183,8 +183,8 @@ func zeroLOONG64(w io.Writer) {
        // On return, R19 points to the last zeroed dword.
        fmt.Fprintln(w, "TEXT runtime·duffzero(SB), NOSPLIT|NOFRAME, $0-0")
        for i := 0; i < 128; i++ {
-               fmt.Fprintln(w, "\tMOVV\tR0, (R19)")
-               fmt.Fprintln(w, "\tADDV\t$8, R19")
+               fmt.Fprintln(w, "\tMOVV\tR0, (R20)")
+               fmt.Fprintln(w, "\tADDV\t$8, R20")
        }
        fmt.Fprintln(w, "\tRET")
 }
@@ -192,10 +192,10 @@ func zeroLOONG64(w io.Writer) {
 func copyLOONG64(w io.Writer) {
        fmt.Fprintln(w, "TEXT runtime·duffcopy(SB), NOSPLIT|NOFRAME, $0-0")
        for i := 0; i < 128; i++ {
-               fmt.Fprintln(w, "\tMOVV\t(R19), R30")
-               fmt.Fprintln(w, "\tADDV\t$8, R19")
-               fmt.Fprintln(w, "\tMOVV\tR30, (R20)")
+               fmt.Fprintln(w, "\tMOVV\t(R20), R30")
                fmt.Fprintln(w, "\tADDV\t$8, R20")
+               fmt.Fprintln(w, "\tMOVV\tR30, (R21)")
+               fmt.Fprintln(w, "\tADDV\t$8, R21")
                fmt.Fprintln(w)
        }
        fmt.Fprintln(w, "\tRET")