]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/asm,cmd/compile,runtime: stop using X3 (aka GP) on riscv64
authorJoel Sing <joel@sing.id.au>
Sun, 26 Sep 2021 09:21:29 +0000 (19:21 +1000)
committerJoel Sing <joel@sing.id.au>
Wed, 3 Nov 2021 09:08:46 +0000 (09:08 +0000)
The X3 (aka GP) register will potentially be loaded with the __global_pointer$ symbol
during program start up (usually by the dynamic linker). As such, non-Go code may depend
on the contents of GP and calculate offsets based on it, including code called via cgo
and signal handlers installed by non-Go code. As such, stop using the X3 register so
that there are fewer issues interacting between Go and non-Go code.

While here remove the X4 (TP) name from the assembler such that any references must
use the 'TP' name. This should reduce the likelihood of accidental use (like we do
for the 'g' register). The same applies for X3 (GP) when the -shared flag is given.

Updates #47100

Change-Id: I72e82b5ca3f80c46a781781345ca0432a4111b74
Reviewed-on: https://go-review.googlesource.com/c/go/+/351859
Trust: Joel Sing <joel@sing.id.au>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/asm/internal/arch/arch.go
src/cmd/asm/internal/asm/operand_test.go
src/cmd/asm/main.go
src/cmd/compile/internal/ssa/gen/RISCV64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/runtime/asm_riscv64.s
src/runtime/cgo/asm_riscv64.s
src/runtime/cgo/gcc_riscv64.S
src/runtime/mkpreempt.go
src/runtime/preempt_riscv64.s
src/runtime/tls_riscv64.s

index 8c71b79965723036e98732706f595822271adf04..4d374cb828eadb595727a5f4e2552570a7f39d70 100644 (file)
@@ -50,7 +50,7 @@ func nilRegisterNumber(name string, n int16) (int16, bool) {
 
 // Set configures the architecture specified by GOARCH and returns its representation.
 // It returns nil if GOARCH is not recognized.
-func Set(GOARCH string) *Arch {
+func Set(GOARCH string, shared bool) *Arch {
        switch GOARCH {
        case "386":
                return archX86(&x86.Link386)
@@ -73,7 +73,7 @@ func Set(GOARCH string) *Arch {
        case "ppc64le":
                return archPPC64(&ppc64.Linkppc64le)
        case "riscv64":
-               return archRISCV64()
+               return archRISCV64(shared)
        case "s390x":
                return archS390x()
        case "wasm":
@@ -541,12 +541,18 @@ func archMips64(linkArch *obj.LinkArch) *Arch {
        }
 }
 
-func archRISCV64() *Arch {
+func archRISCV64(shared bool) *Arch {
        register := make(map[string]int16)
 
        // Standard register names.
        for i := riscv.REG_X0; i <= riscv.REG_X31; i++ {
-               if i == riscv.REG_G {
+               // Disallow X3 in shared mode, as this will likely be used as the
+               // GP register, which could result in problems in non-Go code,
+               // including signal handlers.
+               if shared && i == riscv.REG_GP {
+                       continue
+               }
+               if i == riscv.REG_TP || i == riscv.REG_G {
                        continue
                }
                name := fmt.Sprintf("X%d", i-riscv.REG_X0)
index 8ef02b1a0e8acacafb379d12030e1c522de984f0..c1295a0c4267d577e5302c493518aed7c69f47fb 100644 (file)
@@ -19,7 +19,7 @@ import (
 func setArch(goarch string) (*arch.Arch, *obj.Link) {
        buildcfg.GOOS = "linux" // obj can handle this OS for all architectures.
        buildcfg.GOARCH = goarch
-       architecture := arch.Set(goarch)
+       architecture := arch.Set(goarch, false)
        if architecture == nil {
                panic("asm: unrecognized architecture " + goarch)
        }
index 043bc696e58ae2fb0fdd74bcc0e5cdcfe9bb7a39..3e32aa3d7d3580f3d0ebd31d8d2bbddd7f5bc6c8 100644 (file)
@@ -29,13 +29,13 @@ func main() {
        buildcfg.Check()
        GOARCH := buildcfg.GOARCH
 
-       architecture := arch.Set(GOARCH)
+       flags.Parse()
+
+       architecture := arch.Set(GOARCH, *flags.Shared || *flags.Dynlink)
        if architecture == nil {
                log.Fatalf("unrecognized architecture %s", GOARCH)
        }
 
-       flags.Parse()
-
        ctxt := obj.Linknew(architecture.LinkArch)
        ctxt.Debugasm = flags.PrintOut
        ctxt.Debugvlog = flags.DebugV
index 880fad1c4916d1e53b2bfc8b7894127445ca34a5..076919773b47a3deb19862f5ebf74e6b5e79fa65 100644 (file)
@@ -29,6 +29,7 @@ const (
        riscv64REG_CTXT = 20
        riscv64REG_LR   = 1
        riscv64REG_SP   = 2
+       riscv64REG_GP   = 3
        riscv64REG_TP   = 4
        riscv64REG_TMP  = 31
        riscv64REG_ZERO = 0
@@ -80,8 +81,8 @@ func init() {
 
                // Add general purpose registers to gpMask.
                switch r {
-               // ZERO, TP and TMP are not in any gp mask.
-               case riscv64REG_ZERO, riscv64REG_TP, riscv64REG_TMP:
+               // ZERO, GP, TP and TMP are not in any gp mask.
+               case riscv64REG_ZERO, riscv64REG_GP, riscv64REG_TP, riscv64REG_TMP:
                case riscv64REG_G:
                        gpgMask |= mask
                        gpspsbgMask |= mask
index ed10f35fb9ef08f10ceff81604f08ee7396ea1fb..2038575b0cfc5207c27f27f2790384052e397141 100644 (file)
@@ -27949,11 +27949,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AADD,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -27964,10 +27964,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.AADDI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -27978,10 +27978,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.AADDIW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -27991,10 +27991,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ANEG,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28004,10 +28004,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ANEGW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28017,11 +28017,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASUB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28031,11 +28031,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASUBW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28046,11 +28046,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AMUL,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28061,11 +28061,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AMULW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28076,11 +28076,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AMULH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28091,11 +28091,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AMULHU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28105,12 +28105,12 @@ var opcodeTable = [...]opInfo{
                resultNotInArgs: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28120,12 +28120,12 @@ var opcodeTable = [...]opInfo{
                resultNotInArgs: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28135,11 +28135,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ADIV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28149,11 +28149,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ADIVU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28163,11 +28163,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ADIVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28177,11 +28177,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ADIVUW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28191,11 +28191,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AREM,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28205,11 +28205,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AREMU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28219,11 +28219,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AREMW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28233,11 +28233,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AREMUW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28250,10 +28250,10 @@ var opcodeTable = [...]opInfo{
                asm:               riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28265,7 +28265,7 @@ var opcodeTable = [...]opInfo{
                asm:               riscv.AMOV,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28278,10 +28278,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28294,10 +28294,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28310,10 +28310,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28326,10 +28326,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28342,10 +28342,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVBU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28358,10 +28358,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVHU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28374,10 +28374,10 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVWU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28390,8 +28390,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28404,8 +28404,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28418,8 +28418,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28432,8 +28432,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28446,7 +28446,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28459,7 +28459,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28472,7 +28472,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28485,7 +28485,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -28495,10 +28495,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVB,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28508,10 +28508,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVH,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28521,10 +28521,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28534,10 +28534,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28547,10 +28547,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVBU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28560,10 +28560,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVHU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28573,10 +28573,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOVWU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28586,10 +28586,10 @@ var opcodeTable = [...]opInfo{
                resultInArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28599,11 +28599,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASLL,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28613,11 +28613,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASRA,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28627,11 +28627,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASRL,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28642,10 +28642,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.ASLLI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28656,10 +28656,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.ASRAI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28670,10 +28670,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.ASRLI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28684,11 +28684,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AXOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28699,10 +28699,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.AXORI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28713,11 +28713,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AOR,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28728,10 +28728,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.AORI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28742,11 +28742,11 @@ var opcodeTable = [...]opInfo{
                asm:         riscv.AAND,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28757,10 +28757,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.AANDI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28770,10 +28770,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ANOT,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28783,10 +28783,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASEQZ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28796,10 +28796,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASNEZ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28809,11 +28809,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASLT,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28824,10 +28824,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.ASLTI,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28837,11 +28837,11 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.ASLTU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28852,10 +28852,10 @@ var opcodeTable = [...]opInfo{
                asm:     riscv.ASLTIU,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28865,10 +28865,10 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AMOV,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28878,7 +28878,7 @@ var opcodeTable = [...]opInfo{
                argLen:  1,
                call:    true,
                reg: regInfo{
-                       clobbers: 9223372035781033972, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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
                },
        },
        {
@@ -28888,7 +28888,7 @@ var opcodeTable = [...]opInfo{
                call:     true,
                tailCall: true,
                reg: regInfo{
-                       clobbers: 9223372035781033972, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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
                },
        },
        {
@@ -28899,9 +28899,9 @@ var opcodeTable = [...]opInfo{
                reg: regInfo{
                        inputs: []inputInfo{
                                {1, 524288},     // X20
-                               {0, 1006632950}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632946}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
-                       clobbers: 9223372035781033972, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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
                },
        },
        {
@@ -28911,9 +28911,9 @@ var opcodeTable = [...]opInfo{
                call:    true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
-                       clobbers: 9223372035781033972, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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: 9223372035781033968, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 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
                },
        },
        {
@@ -28950,7 +28950,7 @@ var opcodeTable = [...]opInfo{
                reg: regInfo{
                        inputs: []inputInfo{
                                {0, 16},         // X5
-                               {1, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {1, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        clobbers: 16, // X5
                },
@@ -28965,7 +28965,7 @@ var opcodeTable = [...]opInfo{
                        inputs: []inputInfo{
                                {0, 16},         // X5
                                {1, 32},         // X6
-                               {2, 1006632884}, // X3 X5 X6 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {2, 1006632880}, // X5 X6 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        clobbers: 112, // X5 X6 X7
                },
@@ -28976,10 +28976,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -28989,10 +28989,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29002,10 +29002,10 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29016,8 +29016,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -29028,8 +29028,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -29040,8 +29040,8 @@ var opcodeTable = [...]opInfo{
                hasSideEffects: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1006632950},          // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {1, 1006632946},          // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                },
        },
@@ -29053,11 +29053,11 @@ var opcodeTable = [...]opInfo{
                hasSideEffects:  true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29069,11 +29069,11 @@ var opcodeTable = [...]opInfo{
                hasSideEffects:  true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29086,11 +29086,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29103,11 +29103,11 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29120,12 +29120,12 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {2, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {2, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29138,12 +29138,12 @@ var opcodeTable = [...]opInfo{
                unsafePoint:     true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {2, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {2, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29155,8 +29155,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AAMOANDW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                },
        },
@@ -29168,8 +29168,8 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AAMOORW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {1, 1073741812},          // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
-                               {0, 9223372037928517622}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
+                               {1, 1073741808},          // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30
+                               {0, 9223372037928517618}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 g X28 X29 X30 SB
                        },
                },
        },
@@ -29180,7 +29180,7 @@ var opcodeTable = [...]opInfo{
                faultOnNilArg0: true,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632950}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632946}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29199,7 +29199,7 @@ var opcodeTable = [...]opInfo{
                rematerializeable: true,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29209,7 +29209,7 @@ var opcodeTable = [...]opInfo{
                rematerializeable: true,
                reg: regInfo{
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29353,7 +29353,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFMVSX,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29366,7 +29366,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFCVTSW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29379,7 +29379,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFCVTSL,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29395,7 +29395,7 @@ var opcodeTable = [...]opInfo{
                                {0, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29408,7 +29408,7 @@ var opcodeTable = [...]opInfo{
                                {0, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29421,7 +29421,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVF,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29437,7 +29437,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVF,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                                {1, 9223372034707292160}, // 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
                        },
                },
@@ -29453,7 +29453,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29468,7 +29468,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29482,7 +29482,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29496,7 +29496,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29681,7 +29681,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFMVDX,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29694,7 +29694,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFCVTDW,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29707,7 +29707,7 @@ var opcodeTable = [...]opInfo{
                asm:    riscv.AFCVTDL,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29723,7 +29723,7 @@ var opcodeTable = [...]opInfo{
                                {0, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29736,7 +29736,7 @@ var opcodeTable = [...]opInfo{
                                {0, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29775,7 +29775,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVD,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                        },
                        outputs: []outputInfo{
                                {0, 9223372034707292160}, // 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
@@ -29791,7 +29791,7 @@ var opcodeTable = [...]opInfo{
                asm:            riscv.AMOVD,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 9223372037861408758}, // SP X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
+                               {0, 9223372037861408754}, // SP X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30 SB
                                {1, 9223372034707292160}, // 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
                        },
                },
@@ -29807,7 +29807,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29822,7 +29822,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29836,7 +29836,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -29850,7 +29850,7 @@ var opcodeTable = [...]opInfo{
                                {1, 9223372034707292160}, // 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
                        },
                        outputs: []outputInfo{
-                               {0, 1006632948}, // X3 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
+                               {0, 1006632944}, // X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X28 X29 X30
                        },
                },
        },
@@ -37293,34 +37293,34 @@ var linkRegPPC64 = int8(-1)
 var registersRISCV64 = [...]Register{
        {0, riscv.REG_X0, -1, "X0"},
        {1, riscv.REGSP, -1, "SP"},
-       {2, riscv.REG_X3, 0, "X3"},
+       {2, riscv.REG_X3, -1, "X3"},
        {3, riscv.REG_X4, -1, "X4"},
-       {4, riscv.REG_X5, 1, "X5"},
-       {5, riscv.REG_X6, 2, "X6"},
-       {6, riscv.REG_X7, 3, "X7"},
-       {7, riscv.REG_X8, 4, "X8"},
-       {8, riscv.REG_X9, 5, "X9"},
-       {9, riscv.REG_X10, 6, "X10"},
-       {10, riscv.REG_X11, 7, "X11"},
-       {11, riscv.REG_X12, 8, "X12"},
-       {12, riscv.REG_X13, 9, "X13"},
-       {13, riscv.REG_X14, 10, "X14"},
-       {14, riscv.REG_X15, 11, "X15"},
-       {15, riscv.REG_X16, 12, "X16"},
-       {16, riscv.REG_X17, 13, "X17"},
-       {17, riscv.REG_X18, 14, "X18"},
-       {18, riscv.REG_X19, 15, "X19"},
-       {19, riscv.REG_X20, 16, "X20"},
-       {20, riscv.REG_X21, 17, "X21"},
-       {21, riscv.REG_X22, 18, "X22"},
-       {22, riscv.REG_X23, 19, "X23"},
-       {23, riscv.REG_X24, 20, "X24"},
-       {24, riscv.REG_X25, 21, "X25"},
-       {25, riscv.REG_X26, 22, "X26"},
+       {4, riscv.REG_X5, 0, "X5"},
+       {5, riscv.REG_X6, 1, "X6"},
+       {6, riscv.REG_X7, 2, "X7"},
+       {7, riscv.REG_X8, 3, "X8"},
+       {8, riscv.REG_X9, 4, "X9"},
+       {9, riscv.REG_X10, 5, "X10"},
+       {10, riscv.REG_X11, 6, "X11"},
+       {11, riscv.REG_X12, 7, "X12"},
+       {12, riscv.REG_X13, 8, "X13"},
+       {13, riscv.REG_X14, 9, "X14"},
+       {14, riscv.REG_X15, 10, "X15"},
+       {15, riscv.REG_X16, 11, "X16"},
+       {16, riscv.REG_X17, 12, "X17"},
+       {17, riscv.REG_X18, 13, "X18"},
+       {18, riscv.REG_X19, 14, "X19"},
+       {19, riscv.REG_X20, 15, "X20"},
+       {20, riscv.REG_X21, 16, "X21"},
+       {21, riscv.REG_X22, 17, "X22"},
+       {22, riscv.REG_X23, 18, "X23"},
+       {23, riscv.REG_X24, 19, "X24"},
+       {24, riscv.REG_X25, 20, "X25"},
+       {25, riscv.REG_X26, 21, "X26"},
        {26, riscv.REGG, -1, "g"},
-       {27, riscv.REG_X28, 23, "X28"},
-       {28, riscv.REG_X29, 24, "X29"},
-       {29, riscv.REG_X30, 25, "X30"},
+       {27, riscv.REG_X28, 22, "X28"},
+       {28, riscv.REG_X29, 23, "X29"},
+       {29, riscv.REG_X30, 24, "X30"},
        {30, riscv.REG_X31, -1, "X31"},
        {31, riscv.REG_F0, -1, "F0"},
        {32, riscv.REG_F1, -1, "F1"},
@@ -37358,7 +37358,7 @@ var registersRISCV64 = [...]Register{
 }
 var paramIntRegRISCV64 = []int8(nil)
 var paramFloatRegRISCV64 = []int8(nil)
-var gpRegMaskRISCV64 = regMask(1006632948)
+var gpRegMaskRISCV64 = regMask(1006632944)
 var fpRegMaskRISCV64 = regMask(9223372034707292160)
 var specialRegMaskRISCV64 = regMask(0)
 var framepointerRegRISCV64 = int8(-1)
index 531b46927c98f03a9469f2ddadc47f20745f7c09..0e813189d4d21b7b56076efb1c55b93dde865f36 100644 (file)
@@ -631,10 +631,10 @@ TEXT ·checkASM(SB),NOSPLIT,$0-1
 // The act of CALLing gcWriteBarrier will clobber RA (LR).
 // It does not clobber any other general-purpose registers,
 // but may clobber others (e.g., floating point registers).
-TEXT runtime·gcWriteBarrier(SB),NOSPLIT,$216
+TEXT runtime·gcWriteBarrier(SB),NOSPLIT,$208
        // Save the registers clobbered by the fast path.
-       MOV     A0, 25*8(X2)
-       MOV     A1, 26*8(X2)
+       MOV     A0, 24*8(X2)
+       MOV     A1, 25*8(X2)
        MOV     g_m(g), A0
        MOV     m_p(A0), A0
        MOV     (p_wbBuf+wbBuf_next)(A0), A1
@@ -650,8 +650,8 @@ TEXT runtime·gcWriteBarrier(SB),NOSPLIT,$216
        // Is the buffer full?
        BEQ     A1, T6, flush
 ret:
-       MOV     25*8(X2), A0
-       MOV     26*8(X2), A1
+       MOV     24*8(X2), A0
+       MOV     25*8(X2), A1
        // Do the write.
        MOV     T1, (T0)
        RET
@@ -664,34 +664,34 @@ flush:
        // X0 is zero register
        // X1 is LR, saved by prologue
        // X2 is SP
-       MOV     X3, 3*8(X2)
+       // X3 is GP
        // X4 is TP
        // X5 is first arg to wbBufFlush (T0)
        // X6 is second arg to wbBufFlush (T1)
-       MOV     X7, 4*8(X2)
-       MOV     X8, 5*8(X2)
-       MOV     X9, 6*8(X2)
+       MOV     X7, 3*8(X2)
+       MOV     X8, 4*8(X2)
+       MOV     X9, 5*8(X2)
        // X10 already saved (A0)
        // X11 already saved (A1)
-       MOV     X12, 7*8(X2)
-       MOV     X13, 8*8(X2)
-       MOV     X14, 9*8(X2)
-       MOV     X15, 10*8(X2)
-       MOV     X16, 11*8(X2)
-       MOV     X17, 12*8(X2)
-       MOV     X18, 13*8(X2)
-       MOV     X19, 14*8(X2)
-       MOV     X20, 15*8(X2)
-       MOV     X21, 16*8(X2)
-       MOV     X22, 17*8(X2)
-       MOV     X23, 18*8(X2)
-       MOV     X24, 19*8(X2)
-       MOV     X25, 20*8(X2)
-       MOV     X26, 21*8(X2)
+       MOV     X12, 6*8(X2)
+       MOV     X13, 7*8(X2)
+       MOV     X14, 8*8(X2)
+       MOV     X15, 9*8(X2)
+       MOV     X16, 10*8(X2)
+       MOV     X17, 11*8(X2)
+       MOV     X18, 12*8(X2)
+       MOV     X19, 13*8(X2)
+       MOV     X20, 14*8(X2)
+       MOV     X21, 15*8(X2)
+       MOV     X22, 16*8(X2)
+       MOV     X23, 17*8(X2)
+       MOV     X24, 18*8(X2)
+       MOV     X25, 19*8(X2)
+       MOV     X26, 20*8(X2)
        // X27 is g.
-       MOV     X28, 22*8(X2)
-       MOV     X29, 23*8(X2)
-       MOV     X30, 24*8(X2)
+       MOV     X28, 21*8(X2)
+       MOV     X29, 22*8(X2)
+       MOV     X30, 23*8(X2)
        // X31 is tmp register.
 
        // This takes arguments T0 and T1.
@@ -699,28 +699,27 @@ flush:
 
        MOV     1*8(X2), T0
        MOV     2*8(X2), T1
-       MOV     3*8(X2), X3
-       MOV     4*8(X2), X7
-       MOV     5*8(X2), X8
-       MOV     6*8(X2), X9
-       MOV     7*8(X2), X12
-       MOV     8*8(X2), X13
-       MOV     9*8(X2), X14
-       MOV     10*8(X2), X15
-       MOV     11*8(X2), X16
-       MOV     12*8(X2), X17
-       MOV     13*8(X2), X18
-       MOV     14*8(X2), X19
-       MOV     15*8(X2), X20
-       MOV     16*8(X2), X21
-       MOV     17*8(X2), X22
-       MOV     18*8(X2), X23
-       MOV     19*8(X2), X24
-       MOV     20*8(X2), X25
-       MOV     21*8(X2), X26
-       MOV     22*8(X2), X28
-       MOV     23*8(X2), X29
-       MOV     24*8(X2), X30
+       MOV     3*8(X2), X7
+       MOV     4*8(X2), X8
+       MOV     5*8(X2), X9
+       MOV     6*8(X2), X12
+       MOV     7*8(X2), X13
+       MOV     8*8(X2), X14
+       MOV     9*8(X2), X15
+       MOV     10*8(X2), X16
+       MOV     11*8(X2), X17
+       MOV     12*8(X2), X18
+       MOV     13*8(X2), X19
+       MOV     14*8(X2), X20
+       MOV     15*8(X2), X21
+       MOV     16*8(X2), X22
+       MOV     17*8(X2), X23
+       MOV     18*8(X2), X24
+       MOV     19*8(X2), X25
+       MOV     20*8(X2), X26
+       MOV     21*8(X2), X28
+       MOV     22*8(X2), X29
+       MOV     23*8(X2), X30
 
        JMP     ret
 
index fcd1d36ca84f8060c22489e69701e32494dd3252..45151bf02bacbea6c09e2e5a72ff9b29a209d570 100644 (file)
@@ -14,7 +14,7 @@ TEXT crosscall2(SB),NOSPLIT|NOFRAME,$0
         * registers. Note that at procedure entry the first argument is at
         * 8(X2).
         */
-       ADD     $(-8*31), X2
+       ADD     $(-8*29), X2
        MOV     X10, (8*1)(X2) // fn unsafe.Pointer
        MOV     X11, (8*2)(X2) // a unsafe.Pointer
        MOV     X13, (8*3)(X2) // ctxt uintptr
@@ -30,21 +30,19 @@ TEXT crosscall2(SB),NOSPLIT|NOFRAME,$0
        MOV     X25, (8*13)(X2)
        MOV     X26, (8*14)(X2)
        MOV     g, (8*15)(X2)
-       MOV     X3, (8*16)(X2)
-       MOV     X4, (8*17)(X2)
-       MOV     X1, (8*18)(X2)
-       MOVD    F8, (8*19)(X2)
-       MOVD    F9, (8*20)(X2)
-       MOVD    F18, (8*21)(X2)
-       MOVD    F19, (8*22)(X2)
-       MOVD    F20, (8*23)(X2)
-       MOVD    F21, (8*24)(X2)
-       MOVD    F22, (8*25)(X2)
-       MOVD    F23, (8*26)(X2)
-       MOVD    F24, (8*27)(X2)
-       MOVD    F25, (8*28)(X2)
-       MOVD    F26, (8*29)(X2)
-       MOVD    F27, (8*30)(X2)
+       MOV     X1, (8*16)(X2)
+       MOVD    F8, (8*17)(X2)
+       MOVD    F9, (8*18)(X2)
+       MOVD    F18, (8*19)(X2)
+       MOVD    F19, (8*20)(X2)
+       MOVD    F20, (8*21)(X2)
+       MOVD    F21, (8*22)(X2)
+       MOVD    F22, (8*23)(X2)
+       MOVD    F23, (8*24)(X2)
+       MOVD    F24, (8*25)(X2)
+       MOVD    F25, (8*26)(X2)
+       MOVD    F26, (8*27)(X2)
+       MOVD    F27, (8*28)(X2)
 
        // Initialize Go ABI environment
        CALL    runtime·load_g(SB)
@@ -62,21 +60,19 @@ TEXT crosscall2(SB),NOSPLIT|NOFRAME,$0
        MOV     (8*13)(X2), X25
        MOV     (8*14)(X2), X26
        MOV     (8*15)(X2), g
-       MOV     (8*16)(X2), X3
-       MOV     (8*17)(X2), X4
-       MOV     (8*18)(X2), X1
-       MOVD    (8*19)(X2), F8
-       MOVD    (8*20)(X2), F9
-       MOVD    (8*21)(X2), F18
-       MOVD    (8*22)(X2), F19
-       MOVD    (8*23)(X2), F20
-       MOVD    (8*24)(X2), F21
-       MOVD    (8*25)(X2), F22
-       MOVD    (8*26)(X2), F23
-       MOVD    (8*27)(X2), F24
-       MOVD    (8*28)(X2), F25
-       MOVD    (8*29)(X2), F26
-       MOVD    (8*30)(X2), F27
-       ADD     $(8*31), X2
+       MOV     (8*16)(X2), X1
+       MOVD    (8*17)(X2), F8
+       MOVD    (8*18)(X2), F9
+       MOVD    (8*19)(X2), F18
+       MOVD    (8*20)(X2), F19
+       MOVD    (8*21)(X2), F20
+       MOVD    (8*22)(X2), F21
+       MOVD    (8*23)(X2), F22
+       MOVD    (8*24)(X2), F23
+       MOVD    (8*25)(X2), F24
+       MOVD    (8*26)(X2), F25
+       MOVD    (8*27)(X2), F26
+       MOVD    (8*28)(X2), F27
+       ADD     $(8*29), X2
 
        RET
index fdc77496d9e25899880a92263ff5ba8ca9563a8c..f429dc64ee69d7b86cd34a45f11687d3d0ef3634 100644 (file)
@@ -8,38 +8,36 @@
  * Calling into the gc tool chain, where all registers are caller save.
  * Called from standard RISCV ELF psABI, where x8-x9, x18-x27, f8-f9 and
  * f18-f27 are callee-save, so they must be saved explicitly, along with
- * x1 (LR), x3 (GP) and x4 (TP).
+ * x1 (LR).
  */
 .globl crosscall1
 crosscall1:
-       sd      x1, -216(sp)
-       addi    sp, sp, -216
-       sd      x3, 8(sp)
-       sd      x4, 16(sp)
-       sd      x8, 24(sp)
-       sd      x9, 32(sp)
-       sd      x18, 40(sp)
-       sd      x19, 48(sp)
-       sd      x20, 56(sp)
-       sd      x21, 64(sp)
-       sd      x22, 72(sp)
-       sd      x23, 80(sp)
-       sd      x24, 88(sp)
-       sd      x25, 96(sp)
-       sd      x26, 104(sp)
-       sd      x27, 112(sp)
-       fsd     f8, 120(sp)
-       fsd     f9, 128(sp)
-       fsd     f18, 136(sp)
-       fsd     f19, 144(sp)
-       fsd     f20, 152(sp)
-       fsd     f21, 160(sp)
-       fsd     f22, 168(sp)
-       fsd     f23, 176(sp)
-       fsd     f24, 184(sp)
-       fsd     f25, 192(sp)
-       fsd     f26, 200(sp)
-       fsd     f27, 208(sp)
+       sd      x1, -200(sp)
+       addi    sp, sp, -200
+       sd      x8, 8(sp)
+       sd      x9, 16(sp)
+       sd      x18, 24(sp)
+       sd      x19, 32(sp)
+       sd      x20, 40(sp)
+       sd      x21, 48(sp)
+       sd      x22, 56(sp)
+       sd      x23, 64(sp)
+       sd      x24, 72(sp)
+       sd      x25, 80(sp)
+       sd      x26, 88(sp)
+       sd      x27, 96(sp)
+       fsd     f8, 104(sp)
+       fsd     f9, 112(sp)
+       fsd     f18, 120(sp)
+       fsd     f19, 128(sp)
+       fsd     f20, 136(sp)
+       fsd     f21, 144(sp)
+       fsd     f22, 152(sp)
+       fsd     f23, 160(sp)
+       fsd     f24, 168(sp)
+       fsd     f25, 176(sp)
+       fsd     f26, 184(sp)
+       fsd     f27, 192(sp)
 
        // a0 = *fn, a1 = *setg_gcc, a2 = *g
        mv      s1, a0
@@ -49,33 +47,31 @@ crosscall1:
        jalr    ra, s1  // call fn
 
        ld      x1, 0(sp)
-       ld      x3, 8(sp)
-       ld      x4, 16(sp)
-       ld      x8, 24(sp)
-       ld      x9, 32(sp)
-       ld      x18, 40(sp)
-       ld      x19, 48(sp)
-       ld      x20, 56(sp)
-       ld      x21, 64(sp)
-       ld      x22, 72(sp)
-       ld      x23, 80(sp)
-       ld      x24, 88(sp)
-       ld      x25, 96(sp)
-       ld      x26, 104(sp)
-       ld      x27, 112(sp)
-       fld     f8, 120(sp)
-       fld     f9, 128(sp)
-       fld     f18, 136(sp)
-       fld     f19, 144(sp)
-       fld     f20, 152(sp)
-       fld     f21, 160(sp)
-       fld     f22, 168(sp)
-       fld     f23, 176(sp)
-       fld     f24, 184(sp)
-       fld     f25, 192(sp)
-       fld     f26, 200(sp)
-       fld     f27, 208(sp)
-       addi    sp, sp, 216
+       ld      x8, 8(sp)
+       ld      x9, 16(sp)
+       ld      x18, 24(sp)
+       ld      x19, 32(sp)
+       ld      x20, 40(sp)
+       ld      x21, 48(sp)
+       ld      x22, 56(sp)
+       ld      x23, 64(sp)
+       ld      x24, 72(sp)
+       ld      x25, 80(sp)
+       ld      x26, 88(sp)
+       ld      x27, 96(sp)
+       fld     f8, 104(sp)
+       fld     f9, 112(sp)
+       fld     f18, 120(sp)
+       fld     f19, 128(sp)
+       fld     f20, 136(sp)
+       fld     f21, 144(sp)
+       fld     f22, 152(sp)
+       fld     f23, 160(sp)
+       fld     f24, 168(sp)
+       fld     f25, 176(sp)
+       fld     f26, 184(sp)
+       fld     f27, 192(sp)
+       addi    sp, sp, 200
 
        jr      ra
 
index d662e73813ff8d19c20649ed7326c99c15acadd3..e8c23d485abe8fc0f1bc94336d164e1e11305a3f 100644 (file)
@@ -504,12 +504,12 @@ func genPPC64() {
 }
 
 func genRISCV64() {
-       // X0 (zero), X1 (LR), X2 (SP), X4 (TP), X27 (g), X31 (TMP) are special.
+       // X0 (zero), X1 (LR), X2 (SP), X3 (GP), X4 (TP), X27 (g), X31 (TMP) are special.
        var l = layout{sp: "X2", stack: 8}
 
-       // Add integer registers (X3, X5-X26, X28-30).
-       for i := 3; i < 31; i++ {
-               if i == 4 || i == 27 {
+       // Add integer registers (X5-X26, X28-30).
+       for i := 5; i < 31; i++ {
+               if i == 27 {
                        continue
                }
                reg := fmt.Sprintf("X%d", i)
index eb68dcba2b96d137171d58c0a9b36b7f433fa387..56df6c30e07e44b8a95321c2c11b18314d01b65c 100644 (file)
 #include "textflag.h"
 
 TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0
-       MOV X1, -472(X2)
-       ADD $-472, X2
-       MOV X3, 8(X2)
-       MOV X5, 16(X2)
-       MOV X6, 24(X2)
-       MOV X7, 32(X2)
-       MOV X8, 40(X2)
-       MOV X9, 48(X2)
-       MOV X10, 56(X2)
-       MOV X11, 64(X2)
-       MOV X12, 72(X2)
-       MOV X13, 80(X2)
-       MOV X14, 88(X2)
-       MOV X15, 96(X2)
-       MOV X16, 104(X2)
-       MOV X17, 112(X2)
-       MOV X18, 120(X2)
-       MOV X19, 128(X2)
-       MOV X20, 136(X2)
-       MOV X21, 144(X2)
-       MOV X22, 152(X2)
-       MOV X23, 160(X2)
-       MOV X24, 168(X2)
-       MOV X25, 176(X2)
-       MOV X26, 184(X2)
-       MOV X28, 192(X2)
-       MOV X29, 200(X2)
-       MOV X30, 208(X2)
-       MOVD F0, 216(X2)
-       MOVD F1, 224(X2)
-       MOVD F2, 232(X2)
-       MOVD F3, 240(X2)
-       MOVD F4, 248(X2)
-       MOVD F5, 256(X2)
-       MOVD F6, 264(X2)
-       MOVD F7, 272(X2)
-       MOVD F8, 280(X2)
-       MOVD F9, 288(X2)
-       MOVD F10, 296(X2)
-       MOVD F11, 304(X2)
-       MOVD F12, 312(X2)
-       MOVD F13, 320(X2)
-       MOVD F14, 328(X2)
-       MOVD F15, 336(X2)
-       MOVD F16, 344(X2)
-       MOVD F17, 352(X2)
-       MOVD F18, 360(X2)
-       MOVD F19, 368(X2)
-       MOVD F20, 376(X2)
-       MOVD F21, 384(X2)
-       MOVD F22, 392(X2)
-       MOVD F23, 400(X2)
-       MOVD F24, 408(X2)
-       MOVD F25, 416(X2)
-       MOVD F26, 424(X2)
-       MOVD F27, 432(X2)
-       MOVD F28, 440(X2)
-       MOVD F29, 448(X2)
-       MOVD F30, 456(X2)
-       MOVD F31, 464(X2)
+       MOV X1, -464(X2)
+       ADD $-464, X2
+       MOV X5, 8(X2)
+       MOV X6, 16(X2)
+       MOV X7, 24(X2)
+       MOV X8, 32(X2)
+       MOV X9, 40(X2)
+       MOV X10, 48(X2)
+       MOV X11, 56(X2)
+       MOV X12, 64(X2)
+       MOV X13, 72(X2)
+       MOV X14, 80(X2)
+       MOV X15, 88(X2)
+       MOV X16, 96(X2)
+       MOV X17, 104(X2)
+       MOV X18, 112(X2)
+       MOV X19, 120(X2)
+       MOV X20, 128(X2)
+       MOV X21, 136(X2)
+       MOV X22, 144(X2)
+       MOV X23, 152(X2)
+       MOV X24, 160(X2)
+       MOV X25, 168(X2)
+       MOV X26, 176(X2)
+       MOV X28, 184(X2)
+       MOV X29, 192(X2)
+       MOV X30, 200(X2)
+       MOVD F0, 208(X2)
+       MOVD F1, 216(X2)
+       MOVD F2, 224(X2)
+       MOVD F3, 232(X2)
+       MOVD F4, 240(X2)
+       MOVD F5, 248(X2)
+       MOVD F6, 256(X2)
+       MOVD F7, 264(X2)
+       MOVD F8, 272(X2)
+       MOVD F9, 280(X2)
+       MOVD F10, 288(X2)
+       MOVD F11, 296(X2)
+       MOVD F12, 304(X2)
+       MOVD F13, 312(X2)
+       MOVD F14, 320(X2)
+       MOVD F15, 328(X2)
+       MOVD F16, 336(X2)
+       MOVD F17, 344(X2)
+       MOVD F18, 352(X2)
+       MOVD F19, 360(X2)
+       MOVD F20, 368(X2)
+       MOVD F21, 376(X2)
+       MOVD F22, 384(X2)
+       MOVD F23, 392(X2)
+       MOVD F24, 400(X2)
+       MOVD F25, 408(X2)
+       MOVD F26, 416(X2)
+       MOVD F27, 424(X2)
+       MOVD F28, 432(X2)
+       MOVD F29, 440(X2)
+       MOVD F30, 448(X2)
+       MOVD F31, 456(X2)
        CALL ·asyncPreempt2(SB)
-       MOVD 464(X2), F31
-       MOVD 456(X2), F30
-       MOVD 448(X2), F29
-       MOVD 440(X2), F28
-       MOVD 432(X2), F27
-       MOVD 424(X2), F26
-       MOVD 416(X2), F25
-       MOVD 408(X2), F24
-       MOVD 400(X2), F23
-       MOVD 392(X2), F22
-       MOVD 384(X2), F21
-       MOVD 376(X2), F20
-       MOVD 368(X2), F19
-       MOVD 360(X2), F18
-       MOVD 352(X2), F17
-       MOVD 344(X2), F16
-       MOVD 336(X2), F15
-       MOVD 328(X2), F14
-       MOVD 320(X2), F13
-       MOVD 312(X2), F12
-       MOVD 304(X2), F11
-       MOVD 296(X2), F10
-       MOVD 288(X2), F9
-       MOVD 280(X2), F8
-       MOVD 272(X2), F7
-       MOVD 264(X2), F6
-       MOVD 256(X2), F5
-       MOVD 248(X2), F4
-       MOVD 240(X2), F3
-       MOVD 232(X2), F2
-       MOVD 224(X2), F1
-       MOVD 216(X2), F0
-       MOV 208(X2), X30
-       MOV 200(X2), X29
-       MOV 192(X2), X28
-       MOV 184(X2), X26
-       MOV 176(X2), X25
-       MOV 168(X2), X24
-       MOV 160(X2), X23
-       MOV 152(X2), X22
-       MOV 144(X2), X21
-       MOV 136(X2), X20
-       MOV 128(X2), X19
-       MOV 120(X2), X18
-       MOV 112(X2), X17
-       MOV 104(X2), X16
-       MOV 96(X2), X15
-       MOV 88(X2), X14
-       MOV 80(X2), X13
-       MOV 72(X2), X12
-       MOV 64(X2), X11
-       MOV 56(X2), X10
-       MOV 48(X2), X9
-       MOV 40(X2), X8
-       MOV 32(X2), X7
-       MOV 24(X2), X6
-       MOV 16(X2), X5
-       MOV 8(X2), X3
-       MOV 472(X2), X1
+       MOVD 456(X2), F31
+       MOVD 448(X2), F30
+       MOVD 440(X2), F29
+       MOVD 432(X2), F28
+       MOVD 424(X2), F27
+       MOVD 416(X2), F26
+       MOVD 408(X2), F25
+       MOVD 400(X2), F24
+       MOVD 392(X2), F23
+       MOVD 384(X2), F22
+       MOVD 376(X2), F21
+       MOVD 368(X2), F20
+       MOVD 360(X2), F19
+       MOVD 352(X2), F18
+       MOVD 344(X2), F17
+       MOVD 336(X2), F16
+       MOVD 328(X2), F15
+       MOVD 320(X2), F14
+       MOVD 312(X2), F13
+       MOVD 304(X2), F12
+       MOVD 296(X2), F11
+       MOVD 288(X2), F10
+       MOVD 280(X2), F9
+       MOVD 272(X2), F8
+       MOVD 264(X2), F7
+       MOVD 256(X2), F6
+       MOVD 248(X2), F5
+       MOVD 240(X2), F4
+       MOVD 232(X2), F3
+       MOVD 224(X2), F2
+       MOVD 216(X2), F1
+       MOVD 208(X2), F0
+       MOV 200(X2), X30
+       MOV 192(X2), X29
+       MOV 184(X2), X28
+       MOV 176(X2), X26
+       MOV 168(X2), X25
+       MOV 160(X2), X24
+       MOV 152(X2), X23
+       MOV 144(X2), X22
+       MOV 136(X2), X21
+       MOV 128(X2), X20
+       MOV 120(X2), X19
+       MOV 112(X2), X18
+       MOV 104(X2), X17
+       MOV 96(X2), X16
+       MOV 88(X2), X15
+       MOV 80(X2), X14
+       MOV 72(X2), X13
+       MOV 64(X2), X12
+       MOV 56(X2), X11
+       MOV 48(X2), X10
+       MOV 40(X2), X9
+       MOV 32(X2), X8
+       MOV 24(X2), X7
+       MOV 16(X2), X6
+       MOV 8(X2), X5
+       MOV 464(X2), X1
        MOV (X2), X31
-       ADD $480, X2
+       ADD $472, X2
        JMP (X31)
index 22b550b76114b642029be87b0771af4feac8a4a4..397919aeba23635de78464a453de036d84a39ea9 100644 (file)
@@ -15,7 +15,7 @@ TEXT runtime·save_g(SB),NOSPLIT|NOFRAME,$0-0
        BEQ     X0, X31, nocgo
 
        MOV     runtime·tls_g(SB), X31
-       ADD     X4, X31         // add offset to thread pointer (X4)
+       ADD     TP, X31         // add offset to thread pointer (X4)
        MOV     g, (X31)
 
 nocgo:
@@ -23,7 +23,7 @@ nocgo:
 
 TEXT runtime·load_g(SB),NOSPLIT|NOFRAME,$0-0
        MOV     runtime·tls_g(SB), X31
-       ADD     X4, X31         // add offset to thread pointer (X4)
+       ADD     TP, X31         // add offset to thread pointer (X4)
        MOV     (X31), g
        RET