From 618126b9895db7f29a861caa4e330d149858ff56 Mon Sep 17 00:00:00 2001
From: "Bryan C. Mills"
Date: Fri, 28 Feb 2020 15:03:54 -0500
Subject: [PATCH 01/69] cmd/go: avoid matching wildcards rooted outside of
available modules
To avoid confusion, also distinguish between packages and dirs in
search.Match results.
No test because this is technically only a performance optimization:
it would be very difficult to write such a test so that it would not
be flaky. (However, tested the change manually.)
Fixes #37521
Change-Id: I17b443699ce6a8f3a63805a7ef0be806f695a4b3
Reviewed-on: https://go-review.googlesource.com/c/go/+/221544
Run-TryBot: Bryan C. Mills
TryBot-Result: Gobot Gobot
Reviewed-by: Jay Conrod
---
src/cmd/go/internal/get/get.go | 5 +-
src/cmd/go/internal/modload/load.go | 60 ++++++++++++-------
src/cmd/go/internal/search/search.go | 64 ++++++++++++---------
src/cmd/go/testdata/script/mod_list_std.txt | 10 ++++
4 files changed, 90 insertions(+), 49 deletions(-)
diff --git a/src/cmd/go/internal/get/get.go b/src/cmd/go/internal/get/get.go
index b048eafa74..f7b2fa96e8 100644
--- a/src/cmd/go/internal/get/get.go
+++ b/src/cmd/go/internal/get/get.go
@@ -286,11 +286,12 @@ func download(arg string, parent *load.Package, stk *load.ImportStack, mode int)
if wildcardOkay && strings.Contains(arg, "...") {
match := search.NewMatch(arg)
if match.IsLocal() {
- match.MatchPackagesInFS()
+ match.MatchDirs()
+ args = match.Dirs
} else {
match.MatchPackages()
+ args = match.Pkgs
}
- args = match.Pkgs
for _, err := range match.Errs {
base.Errorf("%s", err)
}
diff --git a/src/cmd/go/internal/modload/load.go b/src/cmd/go/internal/modload/load.go
index 32841d96cb..6ea7d8c69b 100644
--- a/src/cmd/go/internal/modload/load.go
+++ b/src/cmd/go/internal/modload/load.go
@@ -65,24 +65,13 @@ func ImportPaths(patterns []string) []*search.Match {
// packages. The build tags should typically be imports.Tags() or
// imports.AnyTags(); a nil map has no special meaning.
func ImportPathsQuiet(patterns []string, tags map[string]bool) []*search.Match {
- var fsDirs [][]string
updateMatches := func(matches []*search.Match, iterating bool) {
- for i, m := range matches {
+ for _, m := range matches {
switch {
case m.IsLocal():
// Evaluate list of file system directories on first iteration.
- if fsDirs == nil {
- fsDirs = make([][]string, len(matches))
- }
- if fsDirs[i] == nil {
- if m.IsLiteral() {
- fsDirs[i] = []string{m.Pattern()}
- } else {
- m.MatchPackagesInFS()
- // Pull out the matching directories: we are going to resolve them
- // to package paths below.
- fsDirs[i], m.Pkgs = m.Pkgs, nil
- }
+ if m.Dirs == nil {
+ matchLocalDirs(m)
}
// Make a copy of the directory list and translate to import paths.
@@ -91,10 +80,9 @@ func ImportPathsQuiet(patterns []string, tags map[string]bool) []*search.Match {
// from not being in the build list to being in it and back as
// the exact version of a particular module increases during
// the loader iterations.
- pkgs := str.StringList(fsDirs[i])
- m.Pkgs = pkgs[:0]
- for _, pkg := range pkgs {
- pkg, err := resolveLocalPackage(pkg)
+ m.Pkgs = m.Pkgs[:0]
+ for _, dir := range m.Dirs {
+ pkg, err := resolveLocalPackage(dir)
if err != nil {
if !m.IsLiteral() && (err == errPkgIsBuiltin || err == errPkgIsGorootSrc) {
continue // Don't include "builtin" or GOROOT/src in wildcard patterns.
@@ -131,7 +119,7 @@ func ImportPathsQuiet(patterns []string, tags map[string]bool) []*search.Match {
}
case m.Pattern() == "std" || m.Pattern() == "cmd":
- if len(m.Pkgs) == 0 {
+ if m.Pkgs == nil {
m.MatchPackages() // Locate the packages within GOROOT/src.
}
@@ -186,6 +174,34 @@ func checkMultiplePaths() {
base.ExitIfErrors()
}
+// matchLocalDirs is like m.MatchDirs, but tries to avoid scanning directories
+// outside of the standard library and active modules.
+func matchLocalDirs(m *search.Match) {
+ if !m.IsLocal() {
+ panic(fmt.Sprintf("internal error: resolveLocalDirs on non-local pattern %s", m.Pattern()))
+ }
+
+ if i := strings.Index(m.Pattern(), "..."); i >= 0 {
+ // The pattern is local, but it is a wildcard. Its packages will
+ // only resolve to paths if they are inside of the standard
+ // library, the main module, or some dependency of the main
+ // module. Verify that before we walk the filesystem: a filesystem
+ // walk in a directory like /var or /etc can be very expensive!
+ dir := filepath.Dir(filepath.Clean(m.Pattern()[:i+3]))
+ absDir := dir
+ if !filepath.IsAbs(dir) {
+ absDir = filepath.Join(base.Cwd, dir)
+ }
+ if search.InDir(absDir, cfg.GOROOTsrc) == "" && search.InDir(absDir, ModRoot()) == "" && pathInModuleCache(absDir) == "" {
+ m.Dirs = []string{}
+ m.AddError(fmt.Errorf("directory prefix %s outside available modules", base.ShortPath(absDir)))
+ return
+ }
+ }
+
+ m.MatchDirs()
+}
+
// resolveLocalPackage resolves a filesystem path to a package path.
func resolveLocalPackage(dir string) (string, error) {
var absDir string
@@ -269,7 +285,11 @@ func resolveLocalPackage(dir string) (string, error) {
}
if sub := search.InDir(absDir, cfg.GOROOTsrc); sub != "" && sub != "." && !strings.Contains(sub, "@") {
- return filepath.ToSlash(sub), nil
+ pkg := filepath.ToSlash(sub)
+ if pkg == "builtin" {
+ return "", errPkgIsBuiltin
+ }
+ return pkg, nil
}
pkg := pathInModuleCache(absDir)
diff --git a/src/cmd/go/internal/search/search.go b/src/cmd/go/internal/search/search.go
index 69d0e2d16f..b588c3e467 100644
--- a/src/cmd/go/internal/search/search.go
+++ b/src/cmd/go/internal/search/search.go
@@ -19,7 +19,8 @@ import (
// A Match represents the result of matching a single package pattern.
type Match struct {
pattern string // the pattern itself
- Pkgs []string // matching packages (dirs or import paths)
+ Dirs []string // if the pattern is local, directories that potentially contain matching packages
+ Pkgs []string // matching packages (import paths)
Errs []error // errors matching the patterns to packages, NOT errors loading those packages
// Errs may be non-empty even if len(Pkgs) > 0, indicating that some matching
@@ -84,20 +85,25 @@ func (e *MatchError) Unwrap() error {
return e.Err
}
-// MatchPackages sets m.Pkgs to contain all the packages that can be found
-// under the $GOPATH directories and $GOROOT matching pattern.
-// The pattern is either "all" (all packages), "std" (standard packages),
-// "cmd" (standard commands), or a path including "...".
+// MatchPackages sets m.Pkgs to a non-nil slice containing all the packages that
+// can be found under the $GOPATH directories and $GOROOT that match the
+// pattern. The pattern must be either "all" (all packages), "std" (standard
+// packages), "cmd" (standard commands), or a path including "...".
//
-// MatchPackages sets m.Errs to contain any errors encountered while processing
-// the match.
+// If any errors may have caused the set of packages to be incomplete,
+// MatchPackages appends those errors to m.Errs.
func (m *Match) MatchPackages() {
- m.Pkgs, m.Errs = nil, nil
+ m.Pkgs = []string{}
if m.IsLocal() {
m.AddError(fmt.Errorf("internal error: MatchPackages: %s is not a valid package pattern", m.pattern))
return
}
+ if m.IsLiteral() {
+ m.Pkgs = []string{m.pattern}
+ return
+ }
+
match := func(string) bool { return true }
treeCanMatch := func(string) bool { return true }
if !m.IsMeta() {
@@ -197,16 +203,22 @@ func SetModRoot(dir string) {
modRoot = dir
}
-// MatchPackagesInFS is like MatchPackages but is passed a pattern that
-// begins with an absolute path or "./" or "../". On Windows, the pattern may
-// use slash or backslash separators or a mix of both.
+// MatchDirs sets m.Dirs to a non-nil slice containing all directories that
+// potentially match a local pattern. The pattern must begin with an absolute
+// path, or "./", or "../". On Windows, the pattern may use slash or backslash
+// separators or a mix of both.
//
-// MatchPackagesInFS scans the tree rooted at the directory that contains the
-// first "..." wildcard.
-func (m *Match) MatchPackagesInFS() {
- m.Pkgs, m.Errs = nil, nil
+// If any errors may have caused the set of directories to be incomplete,
+// MatchDirs appends those errors to m.Errs.
+func (m *Match) MatchDirs() {
+ m.Dirs = []string{}
if !m.IsLocal() {
- m.AddError(fmt.Errorf("internal error: MatchPackagesInFS: %s is not a valid filesystem pattern", m.pattern))
+ m.AddError(fmt.Errorf("internal error: MatchDirs: %s is not a valid filesystem pattern", m.pattern))
+ return
+ }
+
+ if m.IsLiteral() {
+ m.Dirs = []string{m.pattern}
return
}
@@ -301,7 +313,7 @@ func (m *Match) MatchPackagesInFS() {
// which is all that Match promises to do.
// Ignore the import error.
}
- m.Pkgs = append(m.Pkgs, name)
+ m.Dirs = append(m.Dirs, name)
return nil
})
if err != nil {
@@ -416,25 +428,23 @@ func ImportPathsQuiet(patterns []string) []*Match {
for _, a := range CleanPatterns(patterns) {
m := NewMatch(a)
if m.IsLocal() {
- if m.IsLiteral() {
- m.Pkgs = []string{a}
- } else {
- m.MatchPackagesInFS()
- }
+ m.MatchDirs()
// Change the file import path to a regular import path if the package
// is in GOPATH or GOROOT. We don't report errors here; LoadImport
// (or something similar) will report them later.
- for i, dir := range m.Pkgs {
+ m.Pkgs = make([]string, len(m.Dirs))
+ for i, dir := range m.Dirs {
+ absDir := dir
if !filepath.IsAbs(dir) {
- dir = filepath.Join(base.Cwd, dir)
+ absDir = filepath.Join(base.Cwd, dir)
}
- if bp, _ := cfg.BuildContext.ImportDir(dir, build.FindOnly); bp.ImportPath != "" && bp.ImportPath != "." {
+ if bp, _ := cfg.BuildContext.ImportDir(absDir, build.FindOnly); bp.ImportPath != "" && bp.ImportPath != "." {
m.Pkgs[i] = bp.ImportPath
+ } else {
+ m.Pkgs[i] = dir
}
}
- } else if m.IsLiteral() {
- m.Pkgs = []string{a}
} else {
m.MatchPackages()
}
diff --git a/src/cmd/go/testdata/script/mod_list_std.txt b/src/cmd/go/testdata/script/mod_list_std.txt
index 8552aebf42..76a3b00d1c 100644
--- a/src/cmd/go/testdata/script/mod_list_std.txt
+++ b/src/cmd/go/testdata/script/mod_list_std.txt
@@ -14,6 +14,16 @@ go list cmd/...
stdout ^cmd/compile
! stdout ^cmd/vendor/golang\.org/x/arch/x86/x86asm
+# GOROOT/src/... should list the packages in std as if it were a module
+# dependency: omitting vendored dependencies and stopping at the 'cmd' module
+# boundary.
+
+go list $GOROOT/src/...
+stdout ^bytes$
+! stdout ^builtin$
+! stdout ^cmd/
+! stdout ^vendor/
+
# Within the std module, listing ./... should omit the 'std' prefix:
# the package paths should be the same via ./... or the 'std' meta-pattern.
From e48a83f077e47bd015d4b57e63e9b6fb5e77dc8b Mon Sep 17 00:00:00 2001
From: Meng Zhuo
Date: Fri, 28 Feb 2020 20:14:18 +0800
Subject: [PATCH 02/69] internal/cpu: add MIPS64x feature detection
Change-Id: Iacdad1758aa15e4703fccef38c08ecb338b95fd7
Reviewed-on: https://go-review.googlesource.com/c/go/+/200579
Run-TryBot: Meng Zhuo
TryBot-Result: Gobot Gobot
Reviewed-by: Keith Randall
---
src/internal/cpu/cpu.go | 8 ++++++++
src/internal/cpu/cpu_mips64.go | 7 -------
src/internal/cpu/cpu_mips64le.go | 7 -------
src/internal/cpu/cpu_mips64x.go | 32 ++++++++++++++++++++++++++++++++
src/internal/cpu/cpu_no_init.go | 2 ++
src/runtime/os_linux_mips64x.go | 6 ++++++
6 files changed, 48 insertions(+), 14 deletions(-)
delete mode 100644 src/internal/cpu/cpu_mips64.go
delete mode 100644 src/internal/cpu/cpu_mips64le.go
create mode 100644 src/internal/cpu/cpu_mips64x.go
diff --git a/src/internal/cpu/cpu.go b/src/internal/cpu/cpu.go
index f326b06332..84df6472eb 100644
--- a/src/internal/cpu/cpu.go
+++ b/src/internal/cpu/cpu.go
@@ -134,6 +134,14 @@ type s390x struct {
_ CacheLinePad
}
+var MIPS64X mips64x
+
+type mips64x struct {
+ _ CacheLinePad
+ HasMSA bool // MIPS SIMD architecture
+ _ CacheLinePad
+}
+
// Initialize examines the processor and sets the relevant variables above.
// This is called by the runtime package early in program initialization,
// before normal init functions are run. env is set by runtime if the OS supports
diff --git a/src/internal/cpu/cpu_mips64.go b/src/internal/cpu/cpu_mips64.go
deleted file mode 100644
index 0f821e44e7..0000000000
--- a/src/internal/cpu/cpu_mips64.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package cpu
-
-const CacheLinePadSize = 32
diff --git a/src/internal/cpu/cpu_mips64le.go b/src/internal/cpu/cpu_mips64le.go
deleted file mode 100644
index 0f821e44e7..0000000000
--- a/src/internal/cpu/cpu_mips64le.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package cpu
-
-const CacheLinePadSize = 32
diff --git a/src/internal/cpu/cpu_mips64x.go b/src/internal/cpu/cpu_mips64x.go
new file mode 100644
index 0000000000..9b0a824ee8
--- /dev/null
+++ b/src/internal/cpu/cpu_mips64x.go
@@ -0,0 +1,32 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build mips64 mips64le
+
+package cpu
+
+const CacheLinePadSize = 32
+
+// These are initialized by archauxv in runtime/os_linux_mips64x.go.
+// These should not be changed after they are initialized.
+var HWCap uint
+
+// HWCAP bits. These are exposed by the Linux kernel 5.4.
+const (
+ // CPU features
+ hwcap_MIPS_MSA = 1 << 1
+)
+
+func doinit() {
+ options = []option{
+ {Name: "msa", Feature: &MIPS64X.HasMSA},
+ }
+
+ // HWCAP feature bits
+ MIPS64X.HasMSA = isSet(HWCap, hwcap_MIPS_MSA)
+}
+
+func isSet(hwc uint, value uint) bool {
+ return hwc&value != 0
+}
diff --git a/src/internal/cpu/cpu_no_init.go b/src/internal/cpu/cpu_no_init.go
index d4b2be8cf4..fb381e1ce2 100644
--- a/src/internal/cpu/cpu_no_init.go
+++ b/src/internal/cpu/cpu_no_init.go
@@ -9,6 +9,8 @@
// +build !ppc64
// +build !ppc64le
// +build !s390x
+// +build !mips64
+// +build !mips64le
package cpu
diff --git a/src/runtime/os_linux_mips64x.go b/src/runtime/os_linux_mips64x.go
index 464a26a8a4..4ff66f9538 100644
--- a/src/runtime/os_linux_mips64x.go
+++ b/src/runtime/os_linux_mips64x.go
@@ -7,7 +7,13 @@
package runtime
+import "internal/cpu"
+
func archauxv(tag, val uintptr) {
+ switch tag {
+ case _AT_HWCAP:
+ cpu.HWCap = uint(val)
+ }
}
func osArchInit() {}
From 5756808ce8eb6f6af99aa8d3e5a125ce7d1b8544 Mon Sep 17 00:00:00 2001
From: martin
Date: Thu, 12 Dec 2019 16:03:04 -0800
Subject: [PATCH 03/69] runtime: do not exit(2) if a Go built DLL receives a
signal
Fixes #35965
Change-Id: I172501fc0b29595e59b058f6e30f31efe5f6d1f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/211139
Run-TryBot: Emmanuel Odeke
TryBot-Result: Gobot Gobot
Reviewed-by: Alex Brainman
Reviewed-by: Emmanuel Odeke
---
src/runtime/os_windows.go | 6 +-
src/runtime/signal_windows_test.go | 87 +++++++++++++++++++
.../testdata/testwinlibsignal/dummy.go | 10 +++
src/runtime/testdata/testwinlibsignal/main.c | 50 +++++++++++
4 files changed, 152 insertions(+), 1 deletion(-)
create mode 100644 src/runtime/testdata/testwinlibsignal/dummy.go
create mode 100644 src/runtime/testdata/testwinlibsignal/main.c
diff --git a/src/runtime/os_windows.go b/src/runtime/os_windows.go
index bddc25729a..7576565599 100644
--- a/src/runtime/os_windows.go
+++ b/src/runtime/os_windows.go
@@ -1031,7 +1031,11 @@ func ctrlhandler1(_type uint32) uint32 {
if sigsend(s) {
return 1
}
- exit(2) // SIGINT, SIGTERM, etc
+ if !islibrary && !isarchive {
+ // Only exit the program if we don't have a DLL.
+ // See https://golang.org/issues/35965.
+ exit(2) // SIGINT, SIGTERM, etc
+ }
return 0
}
diff --git a/src/runtime/signal_windows_test.go b/src/runtime/signal_windows_test.go
index 9748403412..423516df65 100644
--- a/src/runtime/signal_windows_test.go
+++ b/src/runtime/signal_windows_test.go
@@ -3,6 +3,8 @@
package runtime_test
import (
+ "bufio"
+ "bytes"
"internal/testenv"
"io/ioutil"
"os"
@@ -10,6 +12,7 @@ import (
"path/filepath"
"runtime"
"strings"
+ "syscall"
"testing"
)
@@ -59,3 +62,87 @@ func TestVectoredHandlerDontCrashOnLibrary(t *testing.T) {
t.Errorf("expected output %q, got %q", expectedOutput, cleanedOut)
}
}
+
+func sendCtrlBreak(t *testing.T, pid int) {
+ kernel32, err := syscall.LoadDLL("kernel32.dll")
+ if err != nil {
+ t.Fatalf("LoadDLL: %v\n", err)
+ }
+ generateEvent, err := kernel32.FindProc("GenerateConsoleCtrlEvent")
+ if err != nil {
+ t.Fatalf("FindProc: %v\n", err)
+ }
+ result, _, err := generateEvent.Call(syscall.CTRL_BREAK_EVENT, uintptr(pid))
+ if result == 0 {
+ t.Fatalf("GenerateConsoleCtrlEvent: %v\n", err)
+ }
+}
+
+// TestLibraryCtrlHandler tests that Go DLL allows calling program to handle console control events.
+// See https://golang.org/issues/35965.
+func TestLibraryCtrlHandler(t *testing.T) {
+ if *flagQuick {
+ t.Skip("-quick")
+ }
+ if runtime.GOARCH != "amd64" {
+ t.Skip("this test can only run on windows/amd64")
+ }
+ testenv.MustHaveGoBuild(t)
+ testenv.MustHaveExecPath(t, "gcc")
+ testprog.Lock()
+ defer testprog.Unlock()
+ dir, err := ioutil.TempDir("", "go-build")
+ if err != nil {
+ t.Fatalf("failed to create temp directory: %v", err)
+ }
+ defer os.RemoveAll(dir)
+
+ // build go dll
+ dll := filepath.Join(dir, "dummy.dll")
+ cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", dll, "--buildmode", "c-shared", "testdata/testwinlibsignal/dummy.go")
+ out, err := testenv.CleanCmdEnv(cmd).CombinedOutput()
+ if err != nil {
+ t.Fatalf("failed to build go library: %s\n%s", err, out)
+ }
+
+ // build c program
+ exe := filepath.Join(dir, "test.exe")
+ cmd = exec.Command("gcc", "-o", exe, "testdata/testwinlibsignal/main.c")
+ out, err = testenv.CleanCmdEnv(cmd).CombinedOutput()
+ if err != nil {
+ t.Fatalf("failed to build c exe: %s\n%s", err, out)
+ }
+
+ // run test program
+ cmd = exec.Command(exe)
+ var stderr bytes.Buffer
+ cmd.Stderr = &stderr
+ outPipe, err := cmd.StdoutPipe()
+ if err != nil {
+ t.Fatalf("Failed to create stdout pipe: %v", err)
+ }
+ outReader := bufio.NewReader(outPipe)
+
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ CreationFlags: syscall.CREATE_NEW_PROCESS_GROUP,
+ }
+ if err := cmd.Start(); err != nil {
+ t.Fatalf("Start failed: %v", err)
+ }
+
+ sentCtrl := make(chan bool)
+ go func() {
+ defer close(sentCtrl)
+ if line, err := outReader.ReadString('\n'); err != nil {
+ t.Fatalf("Could not read stdout: %v", err)
+ } else if strings.TrimSpace(line) != "ready" {
+ t.Fatalf("Unexpected message: %v", line)
+ }
+ sendCtrlBreak(t, cmd.Process.Pid)
+ }()
+
+ <-sentCtrl
+ if err := cmd.Wait(); err != nil {
+ t.Fatalf("Program exited with error: %v\n%s", err, &stderr)
+ }
+}
diff --git a/src/runtime/testdata/testwinlibsignal/dummy.go b/src/runtime/testdata/testwinlibsignal/dummy.go
new file mode 100644
index 0000000000..82dfd91c93
--- /dev/null
+++ b/src/runtime/testdata/testwinlibsignal/dummy.go
@@ -0,0 +1,10 @@
+// +build windows
+
+package main
+
+//export Dummy
+func Dummy() int {
+ return 42
+}
+
+func main() {}
diff --git a/src/runtime/testdata/testwinlibsignal/main.c b/src/runtime/testdata/testwinlibsignal/main.c
new file mode 100644
index 0000000000..1787fef3b9
--- /dev/null
+++ b/src/runtime/testdata/testwinlibsignal/main.c
@@ -0,0 +1,50 @@
+#include
+#include
+
+HANDLE waitForCtrlBreakEvent;
+
+BOOL WINAPI CtrlHandler(DWORD fdwCtrlType)
+{
+ switch (fdwCtrlType)
+ {
+ case CTRL_BREAK_EVENT:
+ SetEvent(waitForCtrlBreakEvent);
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+int main(void)
+{
+ waitForCtrlBreakEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
+ if (!waitForCtrlBreakEvent) {
+ fprintf(stderr, "ERROR: Could not create event");
+ return 1;
+ }
+
+ if (!SetConsoleCtrlHandler(CtrlHandler, TRUE))
+ {
+ fprintf(stderr, "ERROR: Could not set control handler");
+ return 1;
+ }
+
+ // The library must be loaded after the SetConsoleCtrlHandler call
+ // so that the library handler registers after the main program.
+ // This way the library handler gets called first.
+ HMODULE dummyDll = LoadLibrary("dummy.dll");
+ if (!dummyDll) {
+ fprintf(stderr, "ERROR: Could not load dummy.dll");
+ return 1;
+ }
+
+ printf("ready\n");
+ fflush(stdout);
+
+ if (WaitForSingleObject(waitForCtrlBreakEvent, 5000) != WAIT_OBJECT_0) {
+ fprintf(stderr, "FAILURE: No signal received");
+ return 1;
+ }
+
+ return 0;
+}
From d889f0cb1090a043786157f059c29269065626f4 Mon Sep 17 00:00:00 2001
From: Josh Bleecher Snyder
Date: Fri, 28 Feb 2020 17:04:16 -0800
Subject: [PATCH 04/69] cmd/compile: use correct types in phiopt
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We try to preserve type correctness of generic ops.
phiopt modified a bool to be an int without a conversion.
Add a conversion. There are a few random fluctations in the
generated code as a result, but nothing noteworthy or systematic.
no binary size changes
file before after Δ %
math.s 35966 35961 -5 -0.014%
debug/dwarf.s 108141 108147 +6 +0.006%
crypto/dsa.s 6047 6044 -3 -0.050%
image/png.s 42882 42885 +3 +0.007%
go/parser.s 80281 80278 -3 -0.004%
cmd/internal/obj.s 115116 115113 -3 -0.003%
go/types.s 322130 322118 -12 -0.004%
cmd/internal/obj/arm64.s 151679 151685 +6 +0.004%
go/internal/gccgoimporter.s 56487 56493 +6 +0.011%
cmd/test2json.s 1650 1647 -3 -0.182%
cmd/link/internal/loadelf.s 35442 35443 +1 +0.003%
cmd/go/internal/work.s 305039 305035 -4 -0.001%
cmd/link/internal/ld.s 544835 544834 -1 -0.000%
net/http.s 558777 558774 -3 -0.001%
cmd/compile/internal/ssa.s 3926551 3926994 +443 +0.011%
cmd/compile/internal/gc.s 1552320 1552321 +1 +0.000%
total 18862241 18862670 +429 +0.002%
Change-Id: I4289e773be6be534ea3f907d68f614441b8f9b46
Reviewed-on: https://go-review.googlesource.com/c/go/+/221607
Run-TryBot: Josh Bleecher Snyder
Reviewed-by: Keith Randall
---
src/cmd/compile/internal/ssa/gen/386.rules | 2 ++
src/cmd/compile/internal/ssa/gen/AMD64.rules | 2 ++
src/cmd/compile/internal/ssa/gen/ARM.rules | 2 ++
src/cmd/compile/internal/ssa/gen/ARM64.rules | 2 ++
src/cmd/compile/internal/ssa/gen/MIPS.rules | 2 ++
src/cmd/compile/internal/ssa/gen/MIPS64.rules | 2 ++
src/cmd/compile/internal/ssa/gen/PPC64.rules | 2 ++
src/cmd/compile/internal/ssa/gen/RISCV64.rules | 2 ++
src/cmd/compile/internal/ssa/gen/S390X.rules | 2 ++
src/cmd/compile/internal/ssa/gen/Wasm.rules | 2 ++
src/cmd/compile/internal/ssa/gen/genericOps.go | 1 +
src/cmd/compile/internal/ssa/opGen.go | 6 ++++++
src/cmd/compile/internal/ssa/phiopt.go | 14 ++++++++------
src/cmd/compile/internal/ssa/rewrite386.go | 3 +++
src/cmd/compile/internal/ssa/rewriteAMD64.go | 3 +++
src/cmd/compile/internal/ssa/rewriteARM.go | 3 +++
src/cmd/compile/internal/ssa/rewriteARM64.go | 3 +++
src/cmd/compile/internal/ssa/rewriteMIPS.go | 3 +++
src/cmd/compile/internal/ssa/rewriteMIPS64.go | 3 +++
src/cmd/compile/internal/ssa/rewritePPC64.go | 3 +++
src/cmd/compile/internal/ssa/rewriteRISCV64.go | 3 +++
src/cmd/compile/internal/ssa/rewriteS390X.go | 3 +++
src/cmd/compile/internal/ssa/rewriteWasm.go | 3 +++
23 files changed, 65 insertions(+), 6 deletions(-)
diff --git a/src/cmd/compile/internal/ssa/gen/386.rules b/src/cmd/compile/internal/ssa/gen/386.rules
index 78916bebc3..64a6cbaf84 100644
--- a/src/cmd/compile/internal/ssa/gen/386.rules
+++ b/src/cmd/compile/internal/ssa/gen/386.rules
@@ -92,6 +92,8 @@
(Round32F ...) -> (Copy ...)
(Round64F ...) -> (Copy ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
// Lowering shifts
// Unsigned shifts need to return 0 if shift amount is >= width of shifted value.
// result = (arg << shift) & (shift >= argbits ? 0 : 0xffffffffffffffff)
diff --git a/src/cmd/compile/internal/ssa/gen/AMD64.rules b/src/cmd/compile/internal/ssa/gen/AMD64.rules
index 4fd13a5056..f915ea4355 100644
--- a/src/cmd/compile/internal/ssa/gen/AMD64.rules
+++ b/src/cmd/compile/internal/ssa/gen/AMD64.rules
@@ -154,6 +154,8 @@
(Round(32|64)F ...) -> (Copy ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
// Lowering shifts
// Unsigned shifts need to return 0 if shift amount is >= width of shifted value.
// result = (arg << shift) & (shift >= argbits ? 0 : 0xffffffffffffffff)
diff --git a/src/cmd/compile/internal/ssa/gen/ARM.rules b/src/cmd/compile/internal/ssa/gen/ARM.rules
index 77e7b477c6..839d701b8c 100644
--- a/src/cmd/compile/internal/ssa/gen/ARM.rules
+++ b/src/cmd/compile/internal/ssa/gen/ARM.rules
@@ -207,6 +207,8 @@
(Round(32|64)F ...) -> (Copy ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
// fused-multiply-add
(FMA x y z) -> (FMULAD z x y)
diff --git a/src/cmd/compile/internal/ssa/gen/ARM64.rules b/src/cmd/compile/internal/ssa/gen/ARM64.rules
index 4e0ab3288d..61994a15a1 100644
--- a/src/cmd/compile/internal/ssa/gen/ARM64.rules
+++ b/src/cmd/compile/internal/ssa/gen/ARM64.rules
@@ -244,6 +244,8 @@
(Cvt32Fto64F ...) -> (FCVTSD ...)
(Cvt64Fto32F ...) -> (FCVTDS ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round32F ...) -> (LoweredRound32F ...)
(Round64F ...) -> (LoweredRound64F ...)
diff --git a/src/cmd/compile/internal/ssa/gen/MIPS.rules b/src/cmd/compile/internal/ssa/gen/MIPS.rules
index 228d5ee454..9ac8e5f471 100644
--- a/src/cmd/compile/internal/ssa/gen/MIPS.rules
+++ b/src/cmd/compile/internal/ssa/gen/MIPS.rules
@@ -170,6 +170,8 @@
(Cvt32Fto64F ...) -> (MOVFD ...)
(Cvt64Fto32F ...) -> (MOVDF ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round(32|64)F ...) -> (Copy ...)
// comparisons
diff --git a/src/cmd/compile/internal/ssa/gen/MIPS64.rules b/src/cmd/compile/internal/ssa/gen/MIPS64.rules
index 35c65023cd..6df2b3e6b9 100644
--- a/src/cmd/compile/internal/ssa/gen/MIPS64.rules
+++ b/src/cmd/compile/internal/ssa/gen/MIPS64.rules
@@ -171,6 +171,8 @@
(Cvt32Fto64F ...) -> (MOVFD ...)
(Cvt64Fto32F ...) -> (MOVDF ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round(32|64)F ...) -> (Copy ...)
// comparisons
diff --git a/src/cmd/compile/internal/ssa/gen/PPC64.rules b/src/cmd/compile/internal/ssa/gen/PPC64.rules
index d4ef49e20b..961f833e90 100644
--- a/src/cmd/compile/internal/ssa/gen/PPC64.rules
+++ b/src/cmd/compile/internal/ssa/gen/PPC64.rules
@@ -59,6 +59,8 @@
(Cvt32Fto64F ...) -> (Copy ...) // Note v will have the wrong type for patterns dependent on Float32/Float64
(Cvt64Fto32F ...) -> (FRSP ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round(32|64)F ...) -> (LoweredRound(32|64)F ...)
(Sqrt ...) -> (FSQRT ...)
diff --git a/src/cmd/compile/internal/ssa/gen/RISCV64.rules b/src/cmd/compile/internal/ssa/gen/RISCV64.rules
index 720724647e..4ab4656bd5 100644
--- a/src/cmd/compile/internal/ssa/gen/RISCV64.rules
+++ b/src/cmd/compile/internal/ssa/gen/RISCV64.rules
@@ -131,6 +131,8 @@
(Cvt32Fto64F ...) -> (FCVTDS ...)
(Cvt64Fto32F ...) -> (FCVTSD ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round32F ...) -> (Copy ...)
(Round64F ...) -> (Copy ...)
diff --git a/src/cmd/compile/internal/ssa/gen/S390X.rules b/src/cmd/compile/internal/ssa/gen/S390X.rules
index 30a0249759..f2c7f62dcf 100644
--- a/src/cmd/compile/internal/ssa/gen/S390X.rules
+++ b/src/cmd/compile/internal/ssa/gen/S390X.rules
@@ -230,6 +230,8 @@
(Cvt32Fto64F ...) -> (LDEBR ...)
(Cvt64Fto32F ...) -> (LEDBR ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round(32|64)F ...) -> (LoweredRound(32|64)F ...)
// Lowering shifts
diff --git a/src/cmd/compile/internal/ssa/gen/Wasm.rules b/src/cmd/compile/internal/ssa/gen/Wasm.rules
index 010adcb095..cdcbc28c30 100644
--- a/src/cmd/compile/internal/ssa/gen/Wasm.rules
+++ b/src/cmd/compile/internal/ssa/gen/Wasm.rules
@@ -91,6 +91,8 @@
(Cvt32Fto64F ...) -> (F64PromoteF32 ...)
(Cvt64Fto32F ...) -> (F32DemoteF64 ...)
+(CvtBoolToUint8 ...) -> (Copy ...)
+
(Round32F ...) -> (Copy ...)
(Round64F ...) -> (Copy ...)
diff --git a/src/cmd/compile/internal/ssa/gen/genericOps.go b/src/cmd/compile/internal/ssa/gen/genericOps.go
index 9f17299610..54c6968c5b 100644
--- a/src/cmd/compile/internal/ssa/gen/genericOps.go
+++ b/src/cmd/compile/internal/ssa/gen/genericOps.go
@@ -418,6 +418,7 @@ var genericOps = []opData{
{name: "Cvt64Fto64", argLength: 1},
{name: "Cvt32Fto64F", argLength: 1},
{name: "Cvt64Fto32F", argLength: 1},
+ {name: "CvtBoolToUint8", argLength: 1},
// Force rounding to precision of type.
{name: "Round32F", argLength: 1},
diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go
index 1111316d9b..963f1aa07a 100644
--- a/src/cmd/compile/internal/ssa/opGen.go
+++ b/src/cmd/compile/internal/ssa/opGen.go
@@ -2584,6 +2584,7 @@ const (
OpCvt64Fto64
OpCvt32Fto64F
OpCvt64Fto32F
+ OpCvtBoolToUint8
OpRound32F
OpRound64F
OpIsNonNil
@@ -32561,6 +32562,11 @@ var opcodeTable = [...]opInfo{
argLen: 1,
generic: true,
},
+ {
+ name: "CvtBoolToUint8",
+ argLen: 1,
+ generic: true,
+ },
{
name: "Round32F",
argLen: 1,
diff --git a/src/cmd/compile/internal/ssa/phiopt.go b/src/cmd/compile/internal/ssa/phiopt.go
index cc3319e188..8643fa584c 100644
--- a/src/cmd/compile/internal/ssa/phiopt.go
+++ b/src/cmd/compile/internal/ssa/phiopt.go
@@ -148,6 +148,13 @@ func phioptint(v *Value, b0 *Block, reverse int) {
negate = !negate
}
+ a := b0.Controls[0]
+ if negate {
+ a = v.Block.NewValue1(v.Pos, OpNot, a.Type, a)
+ }
+ v.AddArg(a)
+
+ cvt := v.Block.NewValue1(v.Pos, OpCvtBoolToUint8, a.Type, a)
switch v.Type.Size() {
case 1:
v.reset(OpCopy)
@@ -160,12 +167,7 @@ func phioptint(v *Value, b0 *Block, reverse int) {
default:
v.Fatalf("bad int size %d", v.Type.Size())
}
-
- a := b0.Controls[0]
- if negate {
- a = v.Block.NewValue1(v.Pos, OpNot, a.Type, a)
- }
- v.AddArg(a)
+ v.AddArg(cvt)
f := b0.Func
if f.pass.debug > 0 {
diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go
index cf9a7362a2..4efb2d4f74 100644
--- a/src/cmd/compile/internal/ssa/rewrite386.go
+++ b/src/cmd/compile/internal/ssa/rewrite386.go
@@ -408,6 +408,9 @@ func rewriteValue386(v *Value) bool {
case OpCvt64Fto32F:
v.Op = Op386CVTSD2SS
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
v.Op = Op386DIVW
return true
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go
index 665b20c42d..ee7f9ad190 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go
@@ -780,6 +780,9 @@ func rewriteValueAMD64(v *Value) bool {
case OpCvt64to64F:
v.Op = OpAMD64CVTSQ2SD
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv128u:
v.Op = OpAMD64DIVQU2
return true
diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go
index baa3c66e0f..6849fecc2a 100644
--- a/src/cmd/compile/internal/ssa/rewriteARM.go
+++ b/src/cmd/compile/internal/ssa/rewriteARM.go
@@ -545,6 +545,9 @@ func rewriteValueARM(v *Value) bool {
case OpCvt64Fto32U:
v.Op = OpARMMOVDWU
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueARM_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteARM64.go b/src/cmd/compile/internal/ssa/rewriteARM64.go
index 4bee98e4d3..51051b93b7 100644
--- a/src/cmd/compile/internal/ssa/rewriteARM64.go
+++ b/src/cmd/compile/internal/ssa/rewriteARM64.go
@@ -604,6 +604,9 @@ func rewriteValueARM64(v *Value) bool {
case OpCvt64to64F:
v.Op = OpARM64SCVTFD
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueARM64_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go
index f4d774c96f..b3226cddb5 100644
--- a/src/cmd/compile/internal/ssa/rewriteMIPS.go
+++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go
@@ -129,6 +129,9 @@ func rewriteValueMIPS(v *Value) bool {
case OpCvt64Fto32F:
v.Op = OpMIPSMOVDF
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueMIPS_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go
index 4139361b11..315270b16a 100644
--- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go
+++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go
@@ -154,6 +154,9 @@ func rewriteValueMIPS64(v *Value) bool {
case OpCvt64to64F:
v.Op = OpMIPS64MOVVD
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueMIPS64_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go
index c4eb25f38e..53549dda74 100644
--- a/src/cmd/compile/internal/ssa/rewritePPC64.go
+++ b/src/cmd/compile/internal/ssa/rewritePPC64.go
@@ -179,6 +179,9 @@ func rewriteValuePPC64(v *Value) bool {
return rewriteValuePPC64_OpCvt64to32F(v)
case OpCvt64to64F:
return rewriteValuePPC64_OpCvt64to64F(v)
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValuePPC64_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteRISCV64.go b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
index e4480dc366..4d70814cfd 100644
--- a/src/cmd/compile/internal/ssa/rewriteRISCV64.go
+++ b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
@@ -114,6 +114,9 @@ func rewriteValueRISCV64(v *Value) bool {
case OpCvt64to64F:
v.Op = OpRISCV64FCVTDL
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueRISCV64_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go
index 43ca2ceb92..2195f6aa1e 100644
--- a/src/cmd/compile/internal/ssa/rewriteS390X.go
+++ b/src/cmd/compile/internal/ssa/rewriteS390X.go
@@ -183,6 +183,9 @@ func rewriteValueS390X(v *Value) bool {
case OpCvt64to64F:
v.Op = OpS390XCDGBRA
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueS390X_OpDiv16(v)
case OpDiv16u:
diff --git a/src/cmd/compile/internal/ssa/rewriteWasm.go b/src/cmd/compile/internal/ssa/rewriteWasm.go
index ea365f46b6..90701067ce 100644
--- a/src/cmd/compile/internal/ssa/rewriteWasm.go
+++ b/src/cmd/compile/internal/ssa/rewriteWasm.go
@@ -169,6 +169,9 @@ func rewriteValueWasm(v *Value) bool {
case OpCvt64to64F:
v.Op = OpWasmF64ConvertI64S
return true
+ case OpCvtBoolToUint8:
+ v.Op = OpCopy
+ return true
case OpDiv16:
return rewriteValueWasm_OpDiv16(v)
case OpDiv16u:
From 74f898360d2ea74d885544473cc60943771b36d4 Mon Sep 17 00:00:00 2001
From: Josh Bleecher Snyder
Date: Sat, 29 Feb 2020 07:07:56 -0800
Subject: [PATCH 05/69] cmd/compile: constant fold SSA bool to int conversions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Shaves off a few instructions here and there.
file before after Δ %
go/types.s 322118 321851 -267 -0.083%
go/internal/gcimporter.s 34937 34909 -28 -0.080%
go/internal/gccgoimporter.s 56493 56474 -19 -0.034%
cmd/compile/internal/ssa.s 3926994 3927177 +183 +0.005%
total 18862670 18862539 -131 -0.001%
Change-Id: I724f32317b946b5138224808f85709d9c097a247
Reviewed-on: https://go-review.googlesource.com/c/go/+/221428
Reviewed-by: Keith Randall
---
src/cmd/compile/internal/ssa/gen/generic.rules | 1 +
src/cmd/compile/internal/ssa/rewritegeneric.go | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/src/cmd/compile/internal/ssa/gen/generic.rules b/src/cmd/compile/internal/ssa/gen/generic.rules
index f4d487176b..54c5ed646f 100644
--- a/src/cmd/compile/internal/ssa/gen/generic.rules
+++ b/src/cmd/compile/internal/ssa/gen/generic.rules
@@ -56,6 +56,7 @@
(Cvt64Fto64 (Const64F [c])) -> (Const64 [int64(auxTo64F(c))])
(Round32F x:(Const32F)) -> x
(Round64F x:(Const64F)) -> x
+(CvtBoolToUint8 (ConstBool [c])) -> (Const8 [c])
(Trunc16to8 (ZeroExt8to16 x)) -> x
(Trunc32to8 (ZeroExt8to32 x)) -> x
diff --git a/src/cmd/compile/internal/ssa/rewritegeneric.go b/src/cmd/compile/internal/ssa/rewritegeneric.go
index c711af249c..94c2353fd9 100644
--- a/src/cmd/compile/internal/ssa/rewritegeneric.go
+++ b/src/cmd/compile/internal/ssa/rewritegeneric.go
@@ -68,6 +68,8 @@ func rewriteValuegeneric(v *Value) bool {
return rewriteValuegeneric_OpCvt64to32F(v)
case OpCvt64to64F:
return rewriteValuegeneric_OpCvt64to64F(v)
+ case OpCvtBoolToUint8:
+ return rewriteValuegeneric_OpCvtBoolToUint8(v)
case OpDiv16:
return rewriteValuegeneric_OpDiv16(v)
case OpDiv16u:
@@ -2981,6 +2983,21 @@ func rewriteValuegeneric_OpCvt64to64F(v *Value) bool {
}
return false
}
+func rewriteValuegeneric_OpCvtBoolToUint8(v *Value) bool {
+ v_0 := v.Args[0]
+ // match: (CvtBoolToUint8 (ConstBool [c]))
+ // result: (Const8 [c])
+ for {
+ if v_0.Op != OpConstBool {
+ break
+ }
+ c := v_0.AuxInt
+ v.reset(OpConst8)
+ v.AuxInt = c
+ return true
+ }
+ return false
+}
func rewriteValuegeneric_OpDiv16(v *Value) bool {
v_1 := v.Args[1]
v_0 := v.Args[0]
From ba0e651130cfe0a8fc8ab2845b2f7c6ae44db1e1 Mon Sep 17 00:00:00 2001
From: Josh Bleecher Snyder
Date: Thu, 27 Feb 2020 18:56:28 -0800
Subject: [PATCH 06/69] cmd/compile: add more amd64 constant simplifications
More minor optimization opportunities from CL 220499.
Change-Id: Ic4f34c41ed8ab0fce227ac194731c1be12c602db
Reviewed-on: https://go-review.googlesource.com/c/go/+/221608
Run-TryBot: Josh Bleecher Snyder
TryBot-Result: Gobot Gobot
Reviewed-by: Keith Randall
---
src/cmd/compile/internal/ssa/gen/AMD64.rules | 17 +++
src/cmd/compile/internal/ssa/rewriteAMD64.go | 136 +++++++++++++++++++
2 files changed, 153 insertions(+)
diff --git a/src/cmd/compile/internal/ssa/gen/AMD64.rules b/src/cmd/compile/internal/ssa/gen/AMD64.rules
index f915ea4355..c165fed485 100644
--- a/src/cmd/compile/internal/ssa/gen/AMD64.rules
+++ b/src/cmd/compile/internal/ssa/gen/AMD64.rules
@@ -758,6 +758,7 @@
(MULQconst [c] (MULQconst [d] x)) && is32Bit(c*d) -> (MULQconst [c * d] x)
(ORQ x (MOVQconst [c])) && is32Bit(c) -> (ORQconst [c] x)
+(ORQ x (MOVLconst [c])) -> (ORQconst [c] x)
(ORL x (MOVLconst [c])) -> (ORLconst [c] x)
(XORQ x (MOVQconst [c])) && is32Bit(c) -> (XORQconst [c] x)
@@ -1307,6 +1308,15 @@
(CMPBconst (MOVLconst [x]) [y]) && int8(x)>int8(y) && uint8(x) (FlagGT_ULT)
(CMPBconst (MOVLconst [x]) [y]) && int8(x)>int8(y) && uint8(x)>uint8(y) -> (FlagGT_UGT)
+// CMPQconst requires a 32 bit const, but we can still constant-fold 64 bit consts.
+// In theory this applies to any of the simplifications above,
+// but CMPQ is the only one I've actually seen occur.
+(CMPQ (MOVQconst [x]) (MOVQconst [y])) && x==y -> (FlagEQ)
+(CMPQ (MOVQconst [x]) (MOVQconst [y])) && x (FlagLT_ULT)
+(CMPQ (MOVQconst [x]) (MOVQconst [y])) && xuint64(y) -> (FlagLT_UGT)
+(CMPQ (MOVQconst [x]) (MOVQconst [y])) && x>y && uint64(x) (FlagGT_ULT)
+(CMPQ (MOVQconst [x]) (MOVQconst [y])) && x>y && uint64(x)>uint64(y) -> (FlagGT_UGT)
+
// Other known comparisons.
(CMPQconst (MOVBQZX _) [c]) && 0xFF < c -> (FlagLT_ULT)
(CMPQconst (MOVWQZX _) [c]) && 0xFFFF < c -> (FlagLT_ULT)
@@ -1480,6 +1490,12 @@
(BTCQconst [c] (MOVQconst [d])) -> (MOVQconst [d^(1< (MOVLconst [d^(1< (MOVQconst [c|d])
+
// generic simplifications
// TODO: more of this
(ADDQ x (NEGQ y)) -> (SUBQ x y)
@@ -1495,6 +1511,7 @@
(SHLLconst [d] (MOVLconst [c])) -> (MOVLconst [int64(int32(c)) << uint64(d)])
(SHLQconst [d] (MOVQconst [c])) -> (MOVQconst [c << uint64(d)])
+(SHLQconst [d] (MOVLconst [c])) -> (MOVQconst [int64(int32(c)) << uint64(d)])
// Fold NEG into ADDconst/MULconst. Take care to keep c in 32 bit range.
(NEGQ (ADDQconst [c] (NEGQ x))) && c != -(1<<31) -> (ADDQconst [-c] x)
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go
index ee7f9ad190..c0329c1528 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go
@@ -8136,6 +8136,96 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool {
v.AddArg(v0)
return true
}
+ // match: (CMPQ (MOVQconst [x]) (MOVQconst [y]))
+ // cond: x==y
+ // result: (FlagEQ)
+ for {
+ if v_0.Op != OpAMD64MOVQconst {
+ break
+ }
+ x := v_0.AuxInt
+ if v_1.Op != OpAMD64MOVQconst {
+ break
+ }
+ y := v_1.AuxInt
+ if !(x == y) {
+ break
+ }
+ v.reset(OpAMD64FlagEQ)
+ return true
+ }
+ // match: (CMPQ (MOVQconst [x]) (MOVQconst [y]))
+ // cond: xuint64(y)
+ // result: (FlagLT_UGT)
+ for {
+ if v_0.Op != OpAMD64MOVQconst {
+ break
+ }
+ x := v_0.AuxInt
+ if v_1.Op != OpAMD64MOVQconst {
+ break
+ }
+ y := v_1.AuxInt
+ if !(x < y && uint64(x) > uint64(y)) {
+ break
+ }
+ v.reset(OpAMD64FlagLT_UGT)
+ return true
+ }
+ // match: (CMPQ (MOVQconst [x]) (MOVQconst [y]))
+ // cond: x>y && uint64(x) y && uint64(x) < uint64(y)) {
+ break
+ }
+ v.reset(OpAMD64FlagGT_ULT)
+ return true
+ }
+ // match: (CMPQ (MOVQconst [x]) (MOVQconst [y]))
+ // cond: x>y && uint64(x)>uint64(y)
+ // result: (FlagGT_UGT)
+ for {
+ if v_0.Op != OpAMD64MOVQconst {
+ break
+ }
+ x := v_0.AuxInt
+ if v_1.Op != OpAMD64MOVQconst {
+ break
+ }
+ y := v_1.AuxInt
+ if !(x > y && uint64(x) > uint64(y)) {
+ break
+ }
+ v.reset(OpAMD64FlagGT_UGT)
+ return true
+ }
// match: (CMPQ l:(MOVQload {sym} [off] ptr mem) x)
// cond: canMergeLoad(v, l) && clobber(l)
// result: (CMPQload {sym} [off] ptr x mem)
@@ -24138,6 +24228,22 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
}
break
}
+ // match: (ORQ x (MOVLconst [c]))
+ // result: (ORQconst [c] x)
+ for {
+ for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
+ x := v_0
+ if v_1.Op != OpAMD64MOVLconst {
+ continue
+ }
+ c := v_1.AuxInt
+ v.reset(OpAMD64ORQconst)
+ v.AuxInt = c
+ v.AddArg(x)
+ return true
+ }
+ break
+ }
// match: (ORQ (SHLQconst x [c]) (SHRQconst x [d]))
// cond: d==64-c
// result: (ROLQconst x [c])
@@ -24366,6 +24472,24 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
}
break
}
+ // match: (ORQ (MOVQconst [c]) (MOVQconst [d]))
+ // result: (MOVQconst [c|d])
+ for {
+ for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
+ if v_0.Op != OpAMD64MOVQconst {
+ continue
+ }
+ c := v_0.AuxInt
+ if v_1.Op != OpAMD64MOVQconst {
+ continue
+ }
+ d := v_1.AuxInt
+ v.reset(OpAMD64MOVQconst)
+ v.AuxInt = c | d
+ return true
+ }
+ break
+ }
// match: (ORQ x x)
// result: x
for {
@@ -31787,6 +31911,18 @@ func rewriteValueAMD64_OpAMD64SHLQconst(v *Value) bool {
v.AuxInt = c << uint64(d)
return true
}
+ // match: (SHLQconst [d] (MOVLconst [c]))
+ // result: (MOVQconst [int64(int32(c)) << uint64(d)])
+ for {
+ d := v.AuxInt
+ if v_0.Op != OpAMD64MOVLconst {
+ break
+ }
+ c := v_0.AuxInt
+ v.reset(OpAMD64MOVQconst)
+ v.AuxInt = int64(int32(c)) << uint64(d)
+ return true
+ }
return false
}
func rewriteValueAMD64_OpAMD64SHRB(v *Value) bool {
From 2962c96c9f24b685c86133cdd7612026827278d8 Mon Sep 17 00:00:00 2001
From: "Ruixin(Peter) Bao"
Date: Tue, 26 Nov 2019 10:52:43 -0500
Subject: [PATCH 07/69] cmd/compile: lower float to uint conversions on s390x
Add rules for lowering float <-> unsigned int on s390x.
During compilation,
Cvt64Uto64F rule triggers around 80 times,
Cvt64Fto64U rule triggers around 20 times,
Cvt64Uto32F rule triggers around 5 times.
Change-Id: If4c9d128b9132fce8c0bea9abc09cb43a5df7989
Reviewed-on: https://go-review.googlesource.com/c/go/+/209177
Reviewed-by: Michael Munday
Run-TryBot: Michael Munday
TryBot-Result: Gobot Gobot
---
src/cmd/compile/internal/gc/ssa.go | 2 +-
src/cmd/compile/internal/s390x/ssa.go | 2 +
src/cmd/compile/internal/ssa/gen/S390X.rules | 12 ++
src/cmd/compile/internal/ssa/gen/S390XOps.go | 13 ++-
src/cmd/compile/internal/ssa/opGen.go | 112 +++++++++++++++++++
src/cmd/compile/internal/ssa/rewriteS390X.go | 24 ++++
6 files changed, 162 insertions(+), 3 deletions(-)
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index a710f81dc5..a89af236f4 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -2203,7 +2203,7 @@ func (s *state) expr(n *Node) *ssa.Value {
conv = conv1
}
}
- if thearch.LinkArch.Family == sys.ARM64 || thearch.LinkArch.Family == sys.Wasm || s.softFloat {
+ if thearch.LinkArch.Family == sys.ARM64 || thearch.LinkArch.Family == sys.Wasm || thearch.LinkArch.Family == sys.S390X || s.softFloat {
if conv1, ok1 := uint64fpConvOpToSSA[twoTypes{s.concreteEtype(ft), s.concreteEtype(tt)}]; ok1 {
conv = conv1
}
diff --git a/src/cmd/compile/internal/s390x/ssa.go b/src/cmd/compile/internal/s390x/ssa.go
index f1725bdda4..2de3ef4b35 100644
--- a/src/cmd/compile/internal/s390x/ssa.go
+++ b/src/cmd/compile/internal/s390x/ssa.go
@@ -498,6 +498,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
ssa.OpS390XLDGR, ssa.OpS390XLGDR,
ssa.OpS390XCEFBRA, ssa.OpS390XCDFBRA, ssa.OpS390XCEGBRA, ssa.OpS390XCDGBRA,
ssa.OpS390XCFEBRA, ssa.OpS390XCFDBRA, ssa.OpS390XCGEBRA, ssa.OpS390XCGDBRA,
+ ssa.OpS390XCELFBR, ssa.OpS390XCDLFBR, ssa.OpS390XCELGBR, ssa.OpS390XCDLGBR,
+ ssa.OpS390XCLFEBR, ssa.OpS390XCLFDBR, ssa.OpS390XCLGEBR, ssa.OpS390XCLGDBR,
ssa.OpS390XLDEBR, ssa.OpS390XLEDBR,
ssa.OpS390XFNEG, ssa.OpS390XFNEGS,
ssa.OpS390XLPDFR, ssa.OpS390XLNDFR:
diff --git a/src/cmd/compile/internal/ssa/gen/S390X.rules b/src/cmd/compile/internal/ssa/gen/S390X.rules
index f2c7f62dcf..5cff8df3a4 100644
--- a/src/cmd/compile/internal/ssa/gen/S390X.rules
+++ b/src/cmd/compile/internal/ssa/gen/S390X.rules
@@ -227,6 +227,18 @@
(Cvt64Fto32 ...) -> (CFDBRA ...)
(Cvt64Fto64 ...) -> (CGDBRA ...)
+// Lowering float <-> uint
+(Cvt32Uto32F ...) -> (CELFBR ...)
+(Cvt32Uto64F ...) -> (CDLFBR ...)
+(Cvt64Uto32F ...) -> (CELGBR ...)
+(Cvt64Uto64F ...) -> (CDLGBR ...)
+
+(Cvt32Fto32U ...) -> (CLFEBR ...)
+(Cvt32Fto64U ...) -> (CLGEBR ...)
+(Cvt64Fto32U ...) -> (CLFDBR ...)
+(Cvt64Fto64U ...) -> (CLGDBR ...)
+
+// Lowering float32 <-> float64
(Cvt32Fto64F ...) -> (LDEBR ...)
(Cvt64Fto32F ...) -> (LEDBR ...)
diff --git a/src/cmd/compile/internal/ssa/gen/S390XOps.go b/src/cmd/compile/internal/ssa/gen/S390XOps.go
index 6517957fd4..819046d30c 100644
--- a/src/cmd/compile/internal/ssa/gen/S390XOps.go
+++ b/src/cmd/compile/internal/ssa/gen/S390XOps.go
@@ -401,8 +401,17 @@ func init() {
{name: "CDFBRA", argLength: 1, reg: gpfp, asm: "CDFBRA"}, // convert int32 to float64
{name: "CEGBRA", argLength: 1, reg: gpfp, asm: "CEGBRA"}, // convert int64 to float32
{name: "CDGBRA", argLength: 1, reg: gpfp, asm: "CDGBRA"}, // convert int64 to float64
- {name: "LEDBR", argLength: 1, reg: fp11, asm: "LEDBR"}, // convert float64 to float32
- {name: "LDEBR", argLength: 1, reg: fp11, asm: "LDEBR"}, // convert float32 to float64
+ {name: "CLFEBR", argLength: 1, reg: fpgp, asm: "CLFEBR"}, // convert float32 to uint32
+ {name: "CLFDBR", argLength: 1, reg: fpgp, asm: "CLFDBR"}, // convert float64 to uint32
+ {name: "CLGEBR", argLength: 1, reg: fpgp, asm: "CLGEBR"}, // convert float32 to uint64
+ {name: "CLGDBR", argLength: 1, reg: fpgp, asm: "CLGDBR"}, // convert float64 to uint64
+ {name: "CELFBR", argLength: 1, reg: gpfp, asm: "CELFBR"}, // convert uint32 to float32
+ {name: "CDLFBR", argLength: 1, reg: gpfp, asm: "CDLFBR"}, // convert uint32 to float64
+ {name: "CELGBR", argLength: 1, reg: gpfp, asm: "CELGBR"}, // convert uint64 to float32
+ {name: "CDLGBR", argLength: 1, reg: gpfp, asm: "CDLGBR"}, // convert uint64 to float64
+
+ {name: "LEDBR", argLength: 1, reg: fp11, asm: "LEDBR"}, // convert float64 to float32
+ {name: "LDEBR", argLength: 1, reg: fp11, asm: "LDEBR"}, // convert float32 to float64
{name: "MOVDaddr", argLength: 1, reg: addr, aux: "SymOff", rematerializeable: true, symEffect: "Read"}, // arg0 + auxint + offset encoded in aux
{name: "MOVDaddridx", argLength: 2, reg: addridx, aux: "SymOff", symEffect: "Read"}, // arg0 + arg1 + auxint + aux
diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go
index 963f1aa07a..d9d38a8b80 100644
--- a/src/cmd/compile/internal/ssa/opGen.go
+++ b/src/cmd/compile/internal/ssa/opGen.go
@@ -2113,6 +2113,14 @@ const (
OpS390XCDFBRA
OpS390XCEGBRA
OpS390XCDGBRA
+ OpS390XCLFEBR
+ OpS390XCLFDBR
+ OpS390XCLGEBR
+ OpS390XCLGDBR
+ OpS390XCELFBR
+ OpS390XCDLFBR
+ OpS390XCELGBR
+ OpS390XCDLGBR
OpS390XLEDBR
OpS390XLDEBR
OpS390XMOVDaddr
@@ -28314,6 +28322,110 @@ var opcodeTable = [...]opInfo{
},
},
},
+ {
+ name: "CLFEBR",
+ argLen: 1,
+ asm: s390x.ACLFEBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ outputs: []outputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ },
+ },
+ {
+ name: "CLFDBR",
+ argLen: 1,
+ asm: s390x.ACLFDBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ outputs: []outputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ },
+ },
+ {
+ name: "CLGEBR",
+ argLen: 1,
+ asm: s390x.ACLGEBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ outputs: []outputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ },
+ },
+ {
+ name: "CLGDBR",
+ argLen: 1,
+ asm: s390x.ACLGDBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ outputs: []outputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ },
+ },
+ {
+ name: "CELFBR",
+ argLen: 1,
+ asm: s390x.ACELFBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ outputs: []outputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ },
+ },
+ {
+ name: "CDLFBR",
+ argLen: 1,
+ asm: s390x.ACDLFBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ outputs: []outputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ },
+ },
+ {
+ name: "CELGBR",
+ argLen: 1,
+ asm: s390x.ACELGBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ outputs: []outputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ },
+ },
+ {
+ name: "CDLGBR",
+ argLen: 1,
+ asm: s390x.ACDLGBR,
+ reg: regInfo{
+ inputs: []inputInfo{
+ {0, 23551}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R11 R12 R14
+ },
+ outputs: []outputInfo{
+ {0, 4294901760}, // F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
+ },
+ },
+ },
{
name: "LEDBR",
argLen: 1,
diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go
index 2195f6aa1e..4fc90128d0 100644
--- a/src/cmd/compile/internal/ssa/rewriteS390X.go
+++ b/src/cmd/compile/internal/ssa/rewriteS390X.go
@@ -156,12 +156,24 @@ func rewriteValueS390X(v *Value) bool {
case OpCvt32Fto32:
v.Op = OpS390XCFEBRA
return true
+ case OpCvt32Fto32U:
+ v.Op = OpS390XCLFEBR
+ return true
case OpCvt32Fto64:
v.Op = OpS390XCGEBRA
return true
case OpCvt32Fto64F:
v.Op = OpS390XLDEBR
return true
+ case OpCvt32Fto64U:
+ v.Op = OpS390XCLGEBR
+ return true
+ case OpCvt32Uto32F:
+ v.Op = OpS390XCELFBR
+ return true
+ case OpCvt32Uto64F:
+ v.Op = OpS390XCDLFBR
+ return true
case OpCvt32to32F:
v.Op = OpS390XCEFBRA
return true
@@ -174,9 +186,21 @@ func rewriteValueS390X(v *Value) bool {
case OpCvt64Fto32F:
v.Op = OpS390XLEDBR
return true
+ case OpCvt64Fto32U:
+ v.Op = OpS390XCLFDBR
+ return true
case OpCvt64Fto64:
v.Op = OpS390XCGDBRA
return true
+ case OpCvt64Fto64U:
+ v.Op = OpS390XCLGDBR
+ return true
+ case OpCvt64Uto32F:
+ v.Op = OpS390XCELGBR
+ return true
+ case OpCvt64Uto64F:
+ v.Op = OpS390XCDLGBR
+ return true
case OpCvt64to32F:
v.Op = OpS390XCEGBRA
return true
From 33e98326a25d54cef19e94ca73c45eaed8847f56 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor
Date: Wed, 26 Feb 2020 18:34:25 -0800
Subject: [PATCH 08/69] net/textproto: pass missing argument to fmt.Sprintf
The vet tool didn't catch this because the fmt.Sprintf format argument
was written as an expression.
Fixes #37467
Change-Id: I72c20ba45e3f42c195fa5e68adcdb9837c7d7ad5
Reviewed-on: https://go-review.googlesource.com/c/go/+/221297
Run-TryBot: Ian Lance Taylor
TryBot-Result: Gobot Gobot
Reviewed-by: Emmanuel Odeke
---
src/net/textproto/reader.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
index a505da985c..d26e981ae4 100644
--- a/src/net/textproto/reader.go
+++ b/src/net/textproto/reader.go
@@ -557,7 +557,7 @@ func noValidation(_ []byte) error { return nil }
// contain a colon.
func mustHaveFieldNameColon(line []byte) error {
if bytes.IndexByte(line, ':') < 0 {
- return ProtocolError(fmt.Sprintf("malformed MIME header: missing colon: %q" + string(line)))
+ return ProtocolError(fmt.Sprintf("malformed MIME header: missing colon: %q", line))
}
return nil
}
From c1abd5ab70e1e8ac59a2960d41fe6d83d68ea69b Mon Sep 17 00:00:00 2001
From: Emmanuel T Odeke
Date: Sat, 29 Feb 2020 02:32:21 -0800
Subject: [PATCH 09/69] runtime: don't invoke t.Fatal* in goroutine in
TestLibraryCtrlHandler
Change-Id: I8bb06c360cab3e5a74b0b0f98bb25cca4741d66d
Reviewed-on: https://go-review.googlesource.com/c/go/+/221605
Run-TryBot: Emmanuel Odeke
TryBot-Result: Gobot Gobot
Reviewed-by: Ian Lance Taylor
---
src/runtime/signal_windows_test.go | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/runtime/signal_windows_test.go b/src/runtime/signal_windows_test.go
index 423516df65..f99857193c 100644
--- a/src/runtime/signal_windows_test.go
+++ b/src/runtime/signal_windows_test.go
@@ -5,6 +5,7 @@ package runtime_test
import (
"bufio"
"bytes"
+ "fmt"
"internal/testenv"
"io/ioutil"
"os"
@@ -63,19 +64,20 @@ func TestVectoredHandlerDontCrashOnLibrary(t *testing.T) {
}
}
-func sendCtrlBreak(t *testing.T, pid int) {
+func sendCtrlBreak(pid int) error {
kernel32, err := syscall.LoadDLL("kernel32.dll")
if err != nil {
- t.Fatalf("LoadDLL: %v\n", err)
+ return fmt.Errorf("LoadDLL: %v\n", err)
}
generateEvent, err := kernel32.FindProc("GenerateConsoleCtrlEvent")
if err != nil {
- t.Fatalf("FindProc: %v\n", err)
+ return fmt.Errorf("FindProc: %v\n", err)
}
result, _, err := generateEvent.Call(syscall.CTRL_BREAK_EVENT, uintptr(pid))
if result == 0 {
- t.Fatalf("GenerateConsoleCtrlEvent: %v\n", err)
+ return fmt.Errorf("GenerateConsoleCtrlEvent: %v\n", err)
}
+ return nil
}
// TestLibraryCtrlHandler tests that Go DLL allows calling program to handle console control events.
@@ -130,18 +132,20 @@ func TestLibraryCtrlHandler(t *testing.T) {
t.Fatalf("Start failed: %v", err)
}
- sentCtrl := make(chan bool)
+ errCh := make(chan error, 1)
go func() {
- defer close(sentCtrl)
if line, err := outReader.ReadString('\n'); err != nil {
- t.Fatalf("Could not read stdout: %v", err)
+ errCh <- fmt.Errorf("could not read stdout: %v", err)
} else if strings.TrimSpace(line) != "ready" {
- t.Fatalf("Unexpected message: %v", line)
+ errCh <- fmt.Errorf("unexpected message: %v", line)
+ } else {
+ errCh <- sendCtrlBreak(cmd.Process.Pid)
}
- sendCtrlBreak(t, cmd.Process.Pid)
}()
- <-sentCtrl
+ if err := <-errCh; err != nil {
+ t.Fatal(err)
+ }
if err := cmd.Wait(); err != nil {
t.Fatalf("Program exited with error: %v\n%s", err, &stderr)
}
From 2172b229b95f483324825806f692303a0a132762 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor
Date: Thu, 27 Feb 2020 11:24:24 -0800
Subject: [PATCH 10/69] runtime/pprof/internal/profile: make error message
readable
The error message for an unrecognized type in decodeField was using
string(i) for an int type i. It was recently changed (by me) to
string(rune(i)), but that just avoided a vet warning without fixing
the problem. This CL fixes the problem by using fmt.Errorf.
We also change the message to "unknown wire type" to match the master
copy of this code in github.com/google/pprof/profile/proto.go.
Updates #32479
Change-Id: Ia91ea6d5edbd7cd946225d1ee96bb7623b52bb44
Reviewed-on: https://go-review.googlesource.com/c/go/+/221384
Run-TryBot: Ian Lance Taylor
TryBot-Result: Gobot Gobot
Reviewed-by: Emmanuel Odeke
---
src/runtime/pprof/internal/profile/proto.go | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/runtime/pprof/internal/profile/proto.go b/src/runtime/pprof/internal/profile/proto.go
index 294acfeb92..52cf1ef2b3 100644
--- a/src/runtime/pprof/internal/profile/proto.go
+++ b/src/runtime/pprof/internal/profile/proto.go
@@ -21,7 +21,10 @@
package profile
-import "errors"
+import (
+ "errors"
+ "fmt"
+)
type buffer struct {
field int
@@ -232,7 +235,7 @@ func decodeField(b *buffer, data []byte) ([]byte, error) {
b.u64 = uint64(le32(data[:4]))
data = data[4:]
default:
- return nil, errors.New("unknown type: " + string(rune(b.typ)))
+ return nil, fmt.Errorf("unknown wire type: %d", b.typ)
}
return data, nil
From 91bc75b4870308b668d497ff22eada75219c3c2e Mon Sep 17 00:00:00 2001
From: Shuo
Date: Sun, 1 Mar 2020 02:32:32 +0000
Subject: [PATCH 11/69] time: optimize Time.ISOWeek
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
name old time/op new time/op delta
ISOWeek-4 57.7ns ± 5% 27.9ns ±10% -51.54% (p=0.000 n=48+49)
Fixes #37534
Change-Id: Ic4673ced44a4b0190018e87207743ed9500fb1e0
GitHub-Last-Rev: a376c57e83a99f8e8fde297335caa85215e7aead
GitHub-Pull-Request: golang/go#36316
Reviewed-on: https://go-review.googlesource.com/c/go/+/212837
Run-TryBot: Ian Lance Taylor
TryBot-Result: Gobot Gobot
Reviewed-by: Ian Lance Taylor
---
src/time/time.go | 68 ++++++++++++-------------------------------
src/time/time_test.go | 7 +++++
2 files changed, 25 insertions(+), 50 deletions(-)
diff --git a/src/time/time.go b/src/time/time.go
index 5dc9fa68ac..5fa09687e9 100644
--- a/src/time/time.go
+++ b/src/time/time.go
@@ -535,58 +535,26 @@ func absWeekday(abs uint64) Weekday {
// week 52 or 53 of year n-1, and Dec 29 to Dec 31 might belong to week 1
// of year n+1.
func (t Time) ISOWeek() (year, week int) {
- year, month, day, yday := t.date(true)
- wday := int(t.Weekday()+6) % 7 // weekday but Monday = 0.
- const (
- Mon int = iota
- Tue
- Wed
- Thu
- Fri
- Sat
- Sun
- )
+ // According to the rule that the first calendar week of a calendar year is
+ // the week including the first Thursday of that year, and that the last one is
+ // the week immediately preceding the first calendar week of the next calendar year.
+ // See https://www.iso.org/obp/ui#iso:std:iso:8601:-1:ed-1:v1:en:term:3.1.1.23 for details.
- // Calculate week as number of Mondays in year up to
- // and including today, plus 1 because the first week is week 0.
- // Putting the + 1 inside the numerator as a + 7 keeps the
- // numerator from being negative, which would cause it to
- // round incorrectly.
- week = (yday - wday + 7) / 7
-
- // The week number is now correct under the assumption
- // that the first Monday of the year is in week 1.
- // If Jan 1 is a Tuesday, Wednesday, or Thursday, the first Monday
- // is actually in week 2.
- jan1wday := (wday - yday + 7*53) % 7
- if Tue <= jan1wday && jan1wday <= Thu {
- week++
+ // weeks start with Monday
+ // Monday Tuesday Wednesday Thursday Friday Saturday Sunday
+ // 1 2 3 4 5 6 7
+ // +3 +2 +1 0 -1 -2 -3
+ // the offset to Thursday
+ abs := t.abs()
+ d := Thursday - absWeekday(abs)
+ // handle Sunday
+ if d == 4 {
+ d = -3
}
-
- // If the week number is still 0, we're in early January but in
- // the last week of last year.
- if week == 0 {
- year--
- week = 52
- // A year has 53 weeks when Jan 1 or Dec 31 is a Thursday,
- // meaning Jan 1 of the next year is a Friday
- // or it was a leap year and Jan 1 of the next year is a Saturday.
- if jan1wday == Fri || (jan1wday == Sat && isLeap(year)) {
- week++
- }
- }
-
- // December 29 to 31 are in week 1 of next year if
- // they are after the last Thursday of the year and
- // December 31 is a Monday, Tuesday, or Wednesday.
- if month == December && day >= 29 && wday < Thu {
- if dec31wday := (wday + 31 - day) % 7; Mon <= dec31wday && dec31wday <= Wed {
- year++
- week = 1
- }
- }
-
- return
+ // find the Thursday of the calendar week
+ abs += uint64(d) * secondsPerDay
+ year, _, _, yday := absDate(abs, false)
+ return year, yday/7 + 1
}
// Clock returns the hour, minute, and second within the day specified by t.
diff --git a/src/time/time_test.go b/src/time/time_test.go
index 2fc23c4fee..ffbf92acbc 100644
--- a/src/time/time_test.go
+++ b/src/time/time_test.go
@@ -1348,6 +1348,13 @@ func BenchmarkDay(b *testing.B) {
}
}
+func BenchmarkISOWeek(b *testing.B) {
+ t := Now()
+ for i := 0; i < b.N; i++ {
+ _, _ = t.ISOWeek()
+ }
+}
+
func TestMarshalBinaryZeroTime(t *testing.T) {
t0 := Time{}
enc, err := t0.MarshalBinary()
From 95f382139043059a2a0780ba577b53893408f7e4 Mon Sep 17 00:00:00 2001
From: Alex Brainman
Date: Tue, 25 Feb 2020 18:42:24 +1100
Subject: [PATCH 12/69] cmd/go, cmd/link: implement -buildmode=pie on windows
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This CL implements windows version of -buildmode=pie code in both
cmd/go and cmd/link.
Windows executables built with -buildmode=pie set (unlike the one
built with -buildmode=exe) will have extra .reloc PE section, and
will have no IMAGE_FILE_RELOCS_STRIPPED flag set. They will also
have IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE flag set, and
IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA flag set for windows/amd64.
Both cgo and non-cgo versions are implemented. And TestBuildmodePIE
is extended to test both cgo and non-cgo versions on windows and
linux.
This CL used some code from CLs 152759 and 203602.
RELNOTE=yes
Fixes #27144
Updates #35192
Change-Id: I1249e4ffbd79bd4277efefb56db321c390c0f76f
Reviewed-on: https://go-review.googlesource.com/c/go/+/214397
Run-TryBot: Ian Lance Taylor
TryBot-Result: Gobot Gobot
Reviewed-by: Ian Lance Taylor
---
src/cmd/dist/test.go | 4 ++
src/cmd/go/go_test.go | 57 +++++++++++++++++++++++--
src/cmd/go/internal/work/init.go | 8 +++-
src/cmd/go/testdata/script/version.txt | 6 +--
src/cmd/internal/sys/supported.go | 3 +-
src/cmd/link/internal/ld/config.go | 3 +-
src/cmd/link/internal/ld/lib.go | 16 ++++++-
src/cmd/link/internal/ld/pe.go | 58 +++++++++++++++++---------
8 files changed, 122 insertions(+), 33 deletions(-)
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index ca617e917e..48c36a63fc 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -941,6 +941,8 @@ func (t *tester) internalLinkPIE() bool {
case "linux-amd64", "linux-arm64",
"android-arm64":
return true
+ case "windows-amd64", "windows-386", "windows-arm":
+ return true
}
return false
}
@@ -997,6 +999,8 @@ func (t *tester) supportedBuildmode(mode string) bool {
return true
case "darwin-amd64":
return true
+ case "windows-amd64", "windows-386", "windows-arm":
+ return true
}
return false
diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go
index 4d5136deea..6654bd3143 100644
--- a/src/cmd/go/go_test.go
+++ b/src/cmd/go/go_test.go
@@ -9,6 +9,7 @@ import (
"context"
"debug/elf"
"debug/macho"
+ "debug/pe"
"flag"
"fmt"
"go/format"
@@ -2146,19 +2147,37 @@ func TestBuildmodePIE(t *testing.T) {
switch platform {
case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x",
"android/amd64", "android/arm", "android/arm64", "android/386",
- "freebsd/amd64":
+ "freebsd/amd64",
+ "windows/386", "windows/amd64", "windows/arm":
case "darwin/amd64":
default:
t.Skipf("skipping test because buildmode=pie is not supported on %s", platform)
}
+ t.Run("non-cgo", func(t *testing.T) {
+ testBuildmodePIE(t, false)
+ })
+ if canCgo {
+ switch runtime.GOOS {
+ case "darwin", "freebsd", "linux", "windows":
+ t.Run("cgo", func(t *testing.T) {
+ testBuildmodePIE(t, true)
+ })
+ }
+ }
+}
+func testBuildmodePIE(t *testing.T, useCgo bool) {
tg := testgo(t)
defer tg.cleanup()
tg.parallel()
- tg.tempFile("main.go", `package main; func main() { print("hello") }`)
+ var s string
+ if useCgo {
+ s = `import "C";`
+ }
+ tg.tempFile("main.go", fmt.Sprintf(`package main;%s func main() { print("hello") }`, s))
src := tg.path("main.go")
- obj := tg.path("main")
+ obj := tg.path("main.exe")
tg.run("build", "-buildmode=pie", "-o", obj, src)
switch runtime.GOOS {
@@ -2183,6 +2202,38 @@ func TestBuildmodePIE(t *testing.T) {
if f.Flags&macho.FlagPIE == 0 {
t.Error("PIE must have PIE flag, but not")
}
+ case "windows":
+ f, err := pe.Open(obj)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer f.Close()
+ const (
+ IMAGE_FILE_RELOCS_STRIPPED = 0x0001
+ IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA = 0x0020
+ IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = 0x0040
+ )
+ if f.Section(".reloc") == nil {
+ t.Error(".reloc section is not present")
+ }
+ if (f.FileHeader.Characteristics & IMAGE_FILE_RELOCS_STRIPPED) != 0 {
+ t.Error("IMAGE_FILE_RELOCS_STRIPPED flag is set")
+ }
+ var dc uint16
+ switch oh := f.OptionalHeader.(type) {
+ case *pe.OptionalHeader32:
+ dc = oh.DllCharacteristics
+ case *pe.OptionalHeader64:
+ dc = oh.DllCharacteristics
+ if (dc & IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA) == 0 {
+ t.Error("IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA flag is not set")
+ }
+ default:
+ t.Fatalf("unexpected optional header type of %T", f.OptionalHeader)
+ }
+ if (dc & IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) == 0 {
+ t.Error("IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE flag is not set")
+ }
default:
panic("unreachable")
}
diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go
index 9091f98636..e970272954 100644
--- a/src/cmd/go/internal/work/init.go
+++ b/src/cmd/go/internal/work/init.go
@@ -161,8 +161,12 @@ func buildModeInit() {
}
if gccgo {
codegenArg = "-fPIE"
- } else if cfg.Goos != "aix" {
- codegenArg = "-shared"
+ } else {
+ switch cfg.Goos {
+ case "aix", "windows":
+ default:
+ codegenArg = "-shared"
+ }
}
ldBuildmode = "pie"
case "shared":
diff --git a/src/cmd/go/testdata/script/version.txt b/src/cmd/go/testdata/script/version.txt
index 0ed1194840..0123ac6d53 100644
--- a/src/cmd/go/testdata/script/version.txt
+++ b/src/cmd/go/testdata/script/version.txt
@@ -22,8 +22,6 @@ stdout '^\tpath\trsc.io/fortune'
stdout '^\tmod\trsc.io/fortune\tv1.0.0'
# Repeat the test with -buildmode=pie.
-# TODO(golang.org/issue/27144): don't skip after -buildmode=pie is implemented
-# on Windows.
[!buildmode:pie] stop
go build -buildmode=pie -o external.exe rsc.io/fortune
go version external.exe
@@ -33,8 +31,8 @@ stdout '^\tpath\trsc.io/fortune'
stdout '^\tmod\trsc.io/fortune\tv1.0.0'
# Also test PIE with internal linking.
-# currently only supported on linux/amd64 and linux/arm64.
-[!linux] stop
+# currently only supported on linux/amd64, linux/arm64 and windows/amd64.
+[!linux] [!windows] stop
[!amd64] [!arm64] stop
go build -buildmode=pie -ldflags=-linkmode=internal -o internal.exe rsc.io/fortune
go version internal.exe
diff --git a/src/cmd/internal/sys/supported.go b/src/cmd/internal/sys/supported.go
index c8ab2181b5..639827be86 100644
--- a/src/cmd/internal/sys/supported.go
+++ b/src/cmd/internal/sys/supported.go
@@ -87,7 +87,8 @@ func BuildModeSupported(compiler, buildmode, goos, goarch string) bool {
"android/amd64", "android/arm", "android/arm64", "android/386",
"freebsd/amd64",
"darwin/amd64",
- "aix/ppc64":
+ "aix/ppc64",
+ "windows/386", "windows/amd64", "windows/arm":
return true
}
return false
diff --git a/src/cmd/link/internal/ld/config.go b/src/cmd/link/internal/ld/config.go
index 0eba4dc162..2373b500e3 100644
--- a/src/cmd/link/internal/ld/config.go
+++ b/src/cmd/link/internal/ld/config.go
@@ -38,7 +38,7 @@ func (mode *BuildMode) Set(s string) error {
*mode = BuildModeExe
case "pie":
switch objabi.GOOS {
- case "aix", "android", "linux":
+ case "aix", "android", "linux", "windows":
case "darwin", "freebsd":
switch objabi.GOARCH {
case "amd64":
@@ -209,6 +209,7 @@ func mustLinkExternal(ctxt *Link) (res bool, reason string) {
case BuildModePIE:
switch objabi.GOOS + "/" + objabi.GOARCH {
case "linux/amd64", "linux/arm64", "android/arm64":
+ case "windows/386", "windows/amd64", "windows/arm":
default:
// Internal linking does not support TLS_IE.
return true, "buildmode=pie"
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 7c5877bfbd..a4b4b60ca1 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1258,8 +1258,20 @@ func (ctxt *Link) hostlink() {
}
}
case BuildModePIE:
- // ELF.
- if ctxt.HeadType != objabi.Hdarwin && ctxt.HeadType != objabi.Haix {
+ switch ctxt.HeadType {
+ case objabi.Hdarwin, objabi.Haix:
+ case objabi.Hwindows:
+ // Enable ASLR.
+ argv = append(argv, "-Wl,--dynamicbase")
+ // enable high-entropy ASLR on 64-bit.
+ if ctxt.Arch.PtrSize >= 8 {
+ argv = append(argv, "-Wl,--high-entropy-va")
+ }
+ // Work around binutils limitation that strips relocation table for dynamicbase.
+ // See https://sourceware.org/bugzilla/show_bug.cgi?id=19011
+ argv = append(argv, "-Wl,--export-all-symbols")
+ default:
+ // ELF.
if ctxt.UseRelro() {
argv = append(argv, "-Wl,-z,relro")
}
diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go
index 4ab346e733..2c6be2d6f3 100644
--- a/src/cmd/link/internal/ld/pe.go
+++ b/src/cmd/link/internal/ld/pe.go
@@ -94,6 +94,7 @@ const (
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14
IMAGE_SUBSYSTEM_WINDOWS_GUI = 2
IMAGE_SUBSYSTEM_WINDOWS_CUI = 3
+ IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA = 0x0020
IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = 0x0040
IMAGE_DLLCHARACTERISTICS_NX_COMPAT = 0x0100
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000
@@ -126,6 +127,7 @@ const (
IMAGE_REL_ARM_SECREL = 0x000F
IMAGE_REL_BASED_HIGHLOW = 3
+ IMAGE_REL_BASED_DIR64 = 10
)
const (
@@ -752,12 +754,12 @@ func (f *peFile) writeSymbolTableAndStringTable(ctxt *Link) {
}
// writeFileHeader writes COFF file header for peFile f.
-func (f *peFile) writeFileHeader(arch *sys.Arch, out *OutBuf, linkmode LinkMode) {
+func (f *peFile) writeFileHeader(ctxt *Link) {
var fh pe.FileHeader
- switch arch.Family {
+ switch ctxt.Arch.Family {
default:
- Exitf("unknown PE architecture: %v", arch.Family)
+ Exitf("unknown PE architecture: %v", ctxt.Arch.Family)
case sys.AMD64:
fh.Machine = IMAGE_FILE_MACHINE_AMD64
case sys.I386:
@@ -772,16 +774,15 @@ func (f *peFile) writeFileHeader(arch *sys.Arch, out *OutBuf, linkmode LinkMode)
// much more beneficial than having build timestamp in the header.
fh.TimeDateStamp = 0
- if linkmode == LinkExternal {
+ if ctxt.LinkMode == LinkExternal {
fh.Characteristics = IMAGE_FILE_LINE_NUMS_STRIPPED
} else {
- switch arch.Family {
- default:
- Exitf("write COFF(ext): unknown PE architecture: %v", arch.Family)
+ fh.Characteristics = IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_DEBUG_STRIPPED
+ switch ctxt.Arch.Family {
case sys.AMD64, sys.I386:
- fh.Characteristics = IMAGE_FILE_RELOCS_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_DEBUG_STRIPPED
- case sys.ARM:
- fh.Characteristics = IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_DEBUG_STRIPPED
+ if ctxt.BuildMode != BuildModePIE {
+ fh.Characteristics |= IMAGE_FILE_RELOCS_STRIPPED
+ }
}
}
if pe64 != 0 {
@@ -797,7 +798,7 @@ func (f *peFile) writeFileHeader(arch *sys.Arch, out *OutBuf, linkmode LinkMode)
fh.PointerToSymbolTable = uint32(f.symtabOffset)
fh.NumberOfSymbols = uint32(f.symbolCount)
- binary.Write(out, binary.LittleEndian, &fh)
+ binary.Write(ctxt.Out, binary.LittleEndian, &fh)
}
// writeOptionalHeader writes COFF optional header for peFile f.
@@ -859,12 +860,6 @@ func (f *peFile) writeOptionalHeader(ctxt *Link) {
oh.Subsystem = IMAGE_SUBSYSTEM_WINDOWS_CUI
}
- switch ctxt.Arch.Family {
- case sys.ARM:
- oh64.DllCharacteristics = IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
- oh.DllCharacteristics = IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
- }
-
// Mark as having awareness of terminal services, to avoid ancient compatibility hacks.
oh64.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE
oh.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE
@@ -873,6 +868,23 @@ func (f *peFile) writeOptionalHeader(ctxt *Link) {
oh64.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_NX_COMPAT
oh.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_NX_COMPAT
+ // The DLL can be relocated at load time.
+ switch ctxt.Arch.Family {
+ case sys.AMD64, sys.I386:
+ if ctxt.BuildMode == BuildModePIE {
+ oh64.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
+ oh.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
+ }
+ case sys.ARM:
+ oh64.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
+ oh.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
+ }
+
+ // Image can handle a high entropy 64-bit virtual address space.
+ if ctxt.BuildMode == BuildModePIE {
+ oh64.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA
+ }
+
// Disable stack growth as we don't want Windows to
// fiddle with the thread stack limits, which we set
// ourselves to circumvent the stack checks in the
@@ -997,7 +1009,7 @@ func pewrite(ctxt *Link) {
ctxt.Out.WriteStringN("PE", 4)
}
- pefile.writeFileHeader(ctxt.Arch, ctxt.Out, ctxt.LinkMode)
+ pefile.writeFileHeader(ctxt)
pefile.writeOptionalHeader(ctxt)
@@ -1376,6 +1388,8 @@ func (rt *peBaseRelocTable) addentry(ctxt *Link, s *sym.Symbol, r *sym.Reloc) {
Exitf("unsupported relocation size %d\n", r.Siz)
case 4:
e.typeOff |= uint16(IMAGE_REL_BASED_HIGHLOW << 12)
+ case 8:
+ e.typeOff |= uint16(IMAGE_REL_BASED_DIR64 << 12)
}
b.entries = append(b.entries, e)
@@ -1430,11 +1444,15 @@ func addPEBaseRelocSym(ctxt *Link, s *sym.Symbol, rt *peBaseRelocTable) {
}
func addPEBaseReloc(ctxt *Link) {
- // We only generate base relocation table for ARM (and ... ARM64), x86, and AMD64 are marked as legacy
- // archs and can use fixed base with no base relocation information
+ // Arm does not work without base relocation table.
+ // 386 and amd64 will only require the table for BuildModePIE.
switch ctxt.Arch.Family {
default:
return
+ case sys.I386, sys.AMD64:
+ if ctxt.BuildMode != BuildModePIE {
+ return
+ }
case sys.ARM:
}
From 1e9665da8fd8e2e095eb0e99a3b83118f600dc0b Mon Sep 17 00:00:00 2001
From: Bradford Lamson-Scribner
Date: Thu, 20 Feb 2020 09:07:48 -0700
Subject: [PATCH 13/69] cmd/compile: add a dark mode to ssa html generation
which can be toggled
add a tag that when clicked, toggles a dark mode. It keeps intact
the grayed out dead values/blocks, all the highlight colors, and ensures
text is always readable.
Fixes #34325
Change-Id: I4af1e4b5f4a5b63e54c992e90f8474cc51c63465
Reviewed-on: https://go-review.googlesource.com/c/go/+/220260
Reviewed-by: Josh Bleecher Snyder
Run-TryBot: Josh Bleecher Snyder
TryBot-Result: Gobot Gobot
---
src/cmd/compile/internal/ssa/html.go | 95 ++++++++++++++++++++++++----
1 file changed, 81 insertions(+), 14 deletions(-)
diff --git a/src/cmd/compile/internal/ssa/html.go b/src/cmd/compile/internal/ssa/html.go
index 1e76a673ef..c384817d0c 100644
--- a/src/cmd/compile/internal/ssa/html.go
+++ b/src/cmd/compile/internal/ssa/html.go
@@ -93,7 +93,7 @@ td > h2 {
td.collapsed {
font-size: 12px;
width: 12px;
- border: 0px;
+ border: 1px solid white;
padding: 0;
cursor: pointer;
background: #fafafa;
@@ -247,18 +247,61 @@ svg {
outline: 1px solid #eee;
}
-.highlight-aquamarine { background-color: aquamarine; }
-.highlight-coral { background-color: coral; }
-.highlight-lightpink { background-color: lightpink; }
-.highlight-lightsteelblue { background-color: lightsteelblue; }
-.highlight-palegreen { background-color: palegreen; }
-.highlight-skyblue { background-color: skyblue; }
-.highlight-lightgray { background-color: lightgray; }
-.highlight-yellow { background-color: yellow; }
-.highlight-lime { background-color: lime; }
-.highlight-khaki { background-color: khaki; }
-.highlight-aqua { background-color: aqua; }
-.highlight-salmon { background-color: salmon; }
+body.darkmode {
+ background-color: rgb(21, 21, 21);
+ color: rgb(230, 255, 255);
+ opacity: 100%;
+}
+
+td.darkmode {
+ background-color: rgb(21, 21, 21);
+ border: 1px solid gray;
+}
+
+body.darkmode table, th {
+ border: 1px solid gray;
+}
+
+.highlight-aquamarine { background-color: aquamarine; color: black; }
+.highlight-coral { background-color: coral; color: black; }
+.highlight-lightpink { background-color: lightpink; color: black; }
+.highlight-lightsteelblue { background-color: lightsteelblue; color: black; }
+.highlight-palegreen { background-color: palegreen; color: black; }
+.highlight-skyblue { background-color: skyblue; color: black; }
+.highlight-lightgray { background-color: lightgray; color: black; }
+.highlight-yellow { background-color: yellow; color: black; }
+.highlight-lime { background-color: lime; color: black; }
+.highlight-khaki { background-color: khaki; color: black; }
+.highlight-aqua { background-color: aqua; color: black; }
+.highlight-salmon { background-color: salmon; color: black; }
+
+/* Ensure all dead values/blocks continue to have gray font color in dark mode with highlights */
+.dead-value span.highlight-aquamarine,
+.dead-block.highlight-aquamarine,
+.dead-value span.highlight-coral,
+.dead-block.highlight-coral,
+.dead-value span.highlight-lightpink,
+.dead-block.highlight-lightpink,
+.dead-value span.highlight-lightsteelblue,
+.dead-block.highlight-lightsteelblue,
+.dead-value span.highlight-palegreen,
+.dead-block.highlight-palegreen,
+.dead-value span.highlight-skyblue,
+.dead-block.highlight-skyblue,
+.dead-value span.highlight-lightgray,
+.dead-block.highlight-lightgray,
+.dead-value span.highlight-yellow,
+.dead-block.highlight-yellow,
+.dead-value span.highlight-lime,
+.dead-block.highlight-lime,
+.dead-value span.highlight-khaki,
+.dead-block.highlight-khaki,
+.dead-value span.highlight-aqua,
+.dead-block.highlight-aqua,
+.dead-value span.highlight-salmon,
+.dead-block.highlight-salmon {
+ color: gray;
+}
.outline-blue { outline: blue solid 2px; }
.outline-red { outline: red solid 2px; }
@@ -284,6 +327,10 @@ ellipse.outline-teal { stroke-width: 2px; stroke: teal; }
ellipse.outline-maroon { stroke-width: 2px; stroke: maroon; }
ellipse.outline-black { stroke-width: 2px; stroke: black; }
+/* Capture alternative for outline-black and ellipse.outline-black when in dark mode */
+body.darkmode .outline-black { outline: gray solid 2px; }
+body.darkmode ellipse.outline-black { outline: gray solid 2px; }
+
+}
+
+function toggleDarkMode() {
+ document.body.classList.toggle('darkmode');
+
+ const collapsedEls = document.getElementsByClassName('collapsed');
+ const len = collapsedEls.length;
+
+ for (let i = 0; i < len; i++) {
+ collapsedEls[i].classList.toggle('darkmode');
+ }
+}
+
+
`)
w.WriteString("")
@@ -616,6 +681,8 @@ Edge with a dot means that this edge follows the order in which blocks were laid
+
+
`)
w.WriteString("")
w.WriteString("")
From a908e09a34fff3c47efab69857d27bf6965b948a Mon Sep 17 00:00:00 2001
From: Mark Pulford
Date: Fri, 14 Feb 2020 08:34:31 +1100
Subject: [PATCH 14/69] runtime: deflake CGO traceback tests
The CGO traceback function is called whenever CGO code is executing and
a signal is received. This occurs much more frequently now SIGURG
is used for preemption.
Disable signal preemption to significantly increase the likelihood that
a signal results in a profile sample during the test.
Updates #37201
Change-Id: Icb1a33ab0754d1a74882a4ee265b4026abe30bdc
Reviewed-on: https://go-review.googlesource.com/c/go/+/219417
Run-TryBot: Emmanuel Odeke
TryBot-Result: Gobot Gobot
Reviewed-by: Ian Lance Taylor
---
src/runtime/crash_cgo_test.go | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go
index 56cfb0856e..a09ecd8e42 100644
--- a/src/runtime/crash_cgo_test.go
+++ b/src/runtime/crash_cgo_test.go
@@ -275,7 +275,13 @@ func testCgoPprof(t *testing.T, buildArg, runArg, top, bottom string) {
t.Fatal(err)
}
- got, err := testenv.CleanCmdEnv(exec.Command(exe, runArg)).CombinedOutput()
+ // pprofCgoTraceback is called whenever CGO code is executing and a signal
+ // is received. Disable signal preemption to increase the likelihood at
+ // least one SIGPROF signal fired to capture a sample. See issue #37201.
+ cmd := testenv.CleanCmdEnv(exec.Command(exe, runArg))
+ cmd.Env = append(cmd.Env, "GODEBUG=asyncpreemptoff=1")
+
+ got, err := cmd.CombinedOutput()
if err != nil {
if testenv.Builder() == "linux-amd64-alpine" {
// See Issue 18243 and Issue 19938.
From 7913f7dfcf2c281b99c6ddd278aa851de47ada9d Mon Sep 17 00:00:00 2001
From: Josh Bleecher Snyder
Date: Wed, 26 Feb 2020 11:29:34 -0800
Subject: [PATCH 15/69] cmd/compile: add specialized AddArgN functions for
rewrite rules
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This shrinks the compiler without impacting performance.
(The performance-sensitive part of rewrite rules is the non-match case.)
Passes toolstash-check -all.
Executable size:
file before after Δ %
compile 20356168 20163960 -192208 -0.944%
total 115599376 115407168 -192208 -0.166%
Text size:
file before after Δ %
cmd/compile/internal/ssa.s 3928309 3778774 -149535 -3.807%
total 18862943 18713408 -149535 -0.793%
Memory allocated compiling package SSA:
SSA 12.7M ± 0% 12.5M ± 0% -1.74% (p=0.008 n=5+5)
Compiler speed impact:
name old time/op new time/op delta
Template 211ms ± 1% 211ms ± 2% ~ (p=0.832 n=49+49)
Unicode 82.8ms ± 2% 83.2ms ± 2% +0.44% (p=0.022 n=46+49)
GoTypes 726ms ± 1% 728ms ± 2% ~ (p=0.076 n=46+48)
Compiler 3.39s ± 2% 3.40s ± 2% ~ (p=0.633 n=48+49)
SSA 7.71s ± 1% 7.65s ± 1% -0.78% (p=0.000 n=45+44)
Flate 134ms ± 1% 134ms ± 1% ~ (p=0.195 n=50+49)
GoParser 167ms ± 1% 167ms ± 1% ~ (p=0.390 n=47+47)
Reflect 453ms ± 3% 452ms ± 2% ~ (p=0.492 n=48+49)
Tar 184ms ± 3% 184ms ± 2% ~ (p=0.862 n=50+48)
XML 248ms ± 2% 248ms ± 2% ~ (p=0.096 n=49+47)
[Geo mean] 415ms 415ms -0.03%
name old user-time/op new user-time/op delta
Template 273ms ± 1% 273ms ± 2% ~ (p=0.711 n=48+48)
Unicode 117ms ± 6% 117ms ± 5% ~ (p=0.633 n=50+50)
GoTypes 972ms ± 2% 974ms ± 1% +0.29% (p=0.016 n=47+49)
Compiler 4.46s ± 6% 4.51s ± 6% ~ (p=0.093 n=50+50)
SSA 10.4s ± 1% 10.3s ± 2% -0.94% (p=0.000 n=45+50)
Flate 166ms ± 2% 167ms ± 2% ~ (p=0.148 n=49+48)
GoParser 202ms ± 1% 202ms ± 2% -0.28% (p=0.014 n=47+49)
Reflect 594ms ± 2% 594ms ± 2% ~ (p=0.717 n=48+49)
Tar 224ms ± 2% 224ms ± 2% ~ (p=0.805 n=50+49)
XML 311ms ± 1% 310ms ± 1% ~ (p=0.177 n=49+48)
[Geo mean] 537ms 537ms +0.01%
Change-Id: I562b9f349b34ddcff01771769e6dbbc80604da7a
Reviewed-on: https://go-review.googlesource.com/c/go/+/221237
Run-TryBot: Josh Bleecher Snyder
TryBot-Result: Gobot Gobot
Reviewed-by: Keith Randall
---
src/cmd/compile/internal/ssa/gen/rulegen.go | 16 +-
src/cmd/compile/internal/ssa/rewrite386.go | 2215 ++------
.../internal/ssa/rewrite386splitload.go | 27 +-
src/cmd/compile/internal/ssa/rewriteAMD64.go | 4915 +++++------------
.../internal/ssa/rewriteAMD64splitload.go | 36 +-
src/cmd/compile/internal/ssa/rewriteARM.go | 2747 +++------
src/cmd/compile/internal/ssa/rewriteARM64.go | 3244 ++++-------
src/cmd/compile/internal/ssa/rewriteMIPS.go | 1060 ++--
src/cmd/compile/internal/ssa/rewriteMIPS64.go | 1379 ++---
src/cmd/compile/internal/ssa/rewritePPC64.go | 1785 ++----
.../compile/internal/ssa/rewriteRISCV64.go | 676 +--
src/cmd/compile/internal/ssa/rewriteS390X.go | 2565 +++------
src/cmd/compile/internal/ssa/rewriteWasm.go | 735 +--
src/cmd/compile/internal/ssa/rewritedec.go | 93 +-
src/cmd/compile/internal/ssa/rewritedec64.go | 621 +--
.../compile/internal/ssa/rewritedecArgs.go | 28 +-
.../compile/internal/ssa/rewritegeneric.go | 2027 +++----
src/cmd/compile/internal/ssa/value.go | 52 +
18 files changed, 7169 insertions(+), 17052 deletions(-)
diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go
index 2a10f2fa25..0fba0546e7 100644
--- a/src/cmd/compile/internal/ssa/gen/rulegen.go
+++ b/src/cmd/compile/internal/ssa/gen/rulegen.go
@@ -1134,11 +1134,21 @@ func genResult0(rr *RuleRewrite, arch arch, result string, top, move bool, pos s
if aux != "" {
rr.add(stmtf("%s.Aux = %s", v, aux))
}
- for _, arg := range args {
+ all := new(strings.Builder)
+ for i, arg := range args {
x := genResult0(rr, arch, arg, false, move, pos)
- rr.add(stmtf("%s.AddArg(%s)", v, x))
+ if i > 0 {
+ all.WriteString(", ")
+ }
+ all.WriteString(x)
+ }
+ switch len(args) {
+ case 0:
+ case 1:
+ rr.add(stmtf("%s.AddArg(%s)", v, all.String()))
+ default:
+ rr.add(stmtf("%s.AddArg%d(%s)", v, len(args), all.String()))
}
-
return v
}
diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go
index 4efb2d4f74..7a75b7121f 100644
--- a/src/cmd/compile/internal/ssa/rewrite386.go
+++ b/src/cmd/compile/internal/ssa/rewrite386.go
@@ -791,8 +791,7 @@ func rewriteValue386_Op386ADCL(v *Value) bool {
f := v_2
v.reset(Op386ADCLconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(f)
+ v.AddArg2(x, f)
return true
}
break
@@ -902,8 +901,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386LEAL8)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -918,8 +916,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386LEAL4)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -934,8 +931,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386LEAL2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -953,8 +949,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
continue
}
v.reset(Op386LEAL2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -976,8 +971,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
}
y := v_1_1
v.reset(Op386LEAL2)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -995,8 +989,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
y := v_1
v.reset(Op386LEAL1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1019,8 +1012,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1045,9 +1037,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
v.reset(Op386ADDLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -1073,10 +1063,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
v.reset(Op386ADDLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
break
@@ -1091,8 +1078,7 @@ func rewriteValue386_Op386ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386SUBL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1133,8 +1119,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool {
x := v_0.Args[0]
v.reset(Op386LEAL1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL [d] {s} x))
@@ -1175,8 +1160,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL2 [d] {s} x y))
@@ -1197,8 +1181,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL4 [d] {s} x y))
@@ -1219,8 +1202,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL8 [d] {s} x y))
@@ -1241,8 +1223,7 @@ func rewriteValue386_Op386ADDLconst(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] x)
@@ -1310,8 +1291,7 @@ func rewriteValue386_Op386ADDLconstmodify(v *Value) bool {
v.reset(Op386ADDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ADDLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -1333,8 +1313,7 @@ func rewriteValue386_Op386ADDLconstmodify(v *Value) bool {
v.reset(Op386ADDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -1364,9 +1343,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ADDLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem)
@@ -1388,9 +1365,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2 * 4)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ADDLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem)
@@ -1413,9 +1388,7 @@ func rewriteValue386_Op386ADDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
return false
@@ -1445,9 +1418,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool {
v.reset(Op386ADDLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -1470,9 +1441,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool {
v.reset(Op386ADDLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -1496,10 +1465,7 @@ func rewriteValue386_Op386ADDLload(v *Value) bool {
v.reset(Op386ADDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -1531,10 +1497,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool {
v.reset(Op386ADDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ADDLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -1557,10 +1520,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool {
v.reset(Op386ADDLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ADDLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -1584,10 +1544,7 @@ func rewriteValue386_Op386ADDLloadidx4(v *Value) bool {
v.reset(Op386ADDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -1617,9 +1574,7 @@ func rewriteValue386_Op386ADDLmodify(v *Value) bool {
v.reset(Op386ADDLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ADDLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -1642,9 +1597,7 @@ func rewriteValue386_Op386ADDLmodify(v *Value) bool {
v.reset(Op386ADDLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -1676,10 +1629,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool {
v.reset(Op386ADDLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ADDLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem)
@@ -1702,10 +1652,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool {
v.reset(Op386ADDLmodifyidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ADDLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem)
@@ -1729,10 +1676,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool {
v.reset(Op386ADDLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ADDLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem)
@@ -1754,9 +1698,7 @@ func rewriteValue386_Op386ADDLmodifyidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -1786,9 +1728,7 @@ func rewriteValue386_Op386ADDSD(v *Value) bool {
v.reset(Op386ADDSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -1820,9 +1760,7 @@ func rewriteValue386_Op386ADDSDload(v *Value) bool {
v.reset(Op386ADDSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -1845,9 +1783,7 @@ func rewriteValue386_Op386ADDSDload(v *Value) bool {
v.reset(Op386ADDSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -1877,9 +1813,7 @@ func rewriteValue386_Op386ADDSS(v *Value) bool {
v.reset(Op386ADDSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -1911,9 +1845,7 @@ func rewriteValue386_Op386ADDSSload(v *Value) bool {
v.reset(Op386ADDSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -1936,9 +1868,7 @@ func rewriteValue386_Op386ADDSSload(v *Value) bool {
v.reset(Op386ADDSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -1982,9 +1912,7 @@ func rewriteValue386_Op386ANDL(v *Value) bool {
v.reset(Op386ANDLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -2010,10 +1938,7 @@ func rewriteValue386_Op386ANDL(v *Value) bool {
v.reset(Op386ANDLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
break
@@ -2111,8 +2036,7 @@ func rewriteValue386_Op386ANDLconstmodify(v *Value) bool {
v.reset(Op386ANDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ANDLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -2134,8 +2058,7 @@ func rewriteValue386_Op386ANDLconstmodify(v *Value) bool {
v.reset(Op386ANDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2165,9 +2088,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ANDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ANDLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem)
@@ -2189,9 +2110,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ANDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2 * 4)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ANDLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem)
@@ -2214,9 +2133,7 @@ func rewriteValue386_Op386ANDLconstmodifyidx4(v *Value) bool {
v.reset(Op386ANDLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
return false
@@ -2246,9 +2163,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool {
v.reset(Op386ANDLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -2271,9 +2186,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool {
v.reset(Op386ANDLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -2297,10 +2210,7 @@ func rewriteValue386_Op386ANDLload(v *Value) bool {
v.reset(Op386ANDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -2332,10 +2242,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool {
v.reset(Op386ANDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ANDLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -2358,10 +2265,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool {
v.reset(Op386ANDLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ANDLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -2385,10 +2289,7 @@ func rewriteValue386_Op386ANDLloadidx4(v *Value) bool {
v.reset(Op386ANDLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -2418,9 +2319,7 @@ func rewriteValue386_Op386ANDLmodify(v *Value) bool {
v.reset(Op386ANDLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ANDLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -2443,9 +2342,7 @@ func rewriteValue386_Op386ANDLmodify(v *Value) bool {
v.reset(Op386ANDLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2477,10 +2374,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool {
v.reset(Op386ANDLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ANDLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem)
@@ -2503,10 +2397,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool {
v.reset(Op386ANDLmodifyidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ANDLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem)
@@ -2530,10 +2421,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool {
v.reset(Op386ANDLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ANDLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem)
@@ -2555,9 +2443,7 @@ func rewriteValue386_Op386ANDLmodifyidx4(v *Value) bool {
v.reset(Op386ANDLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -2605,8 +2491,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool {
}
v.reset(Op386InvertFlags)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -2629,9 +2514,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool {
v.reset(Op386CMPBload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPB x l:(MOVBload {sym} [off] ptr mem))
@@ -2654,9 +2537,7 @@ func rewriteValue386_Op386CMPB(v *Value) bool {
v0 := b.NewValue0(l.Pos, Op386CMPBload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -2772,8 +2653,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool {
break
}
v.reset(Op386TESTB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPBconst l:(ANDLconst [c] x) [0])
@@ -2805,8 +2685,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool {
}
x := v_0
v.reset(Op386TESTB)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPBconst l:(MOVBload {sym} [off] ptr mem) [c])
@@ -2831,8 +2710,7 @@ func rewriteValue386_Op386CMPBconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -2859,8 +2737,7 @@ func rewriteValue386_Op386CMPBload(v *Value) bool {
v.reset(Op386CMPBconstload)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2908,8 +2785,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool {
}
v.reset(Op386InvertFlags)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -2932,9 +2808,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool {
v.reset(Op386CMPLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPL x l:(MOVLload {sym} [off] ptr mem))
@@ -2957,9 +2831,7 @@ func rewriteValue386_Op386CMPL(v *Value) bool {
v0 := b.NewValue0(l.Pos, Op386CMPLload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -3090,8 +2962,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool {
break
}
v.reset(Op386TESTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPLconst l:(ANDLconst [c] x) [0])
@@ -3123,8 +2994,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool {
}
x := v_0
v.reset(Op386TESTL)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPLconst l:(MOVLload {sym} [off] ptr mem) [c])
@@ -3149,8 +3019,7 @@ func rewriteValue386_Op386CMPLconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -3177,8 +3046,7 @@ func rewriteValue386_Op386CMPLload(v *Value) bool {
v.reset(Op386CMPLconstload)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3226,8 +3094,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool {
}
v.reset(Op386InvertFlags)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -3250,9 +3117,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool {
v.reset(Op386CMPWload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPW x l:(MOVWload {sym} [off] ptr mem))
@@ -3275,9 +3140,7 @@ func rewriteValue386_Op386CMPW(v *Value) bool {
v0 := b.NewValue0(l.Pos, Op386CMPWload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -3393,8 +3256,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool {
break
}
v.reset(Op386TESTW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWconst l:(ANDLconst [c] x) [0])
@@ -3426,8 +3288,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool {
}
x := v_0
v.reset(Op386TESTW)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPWconst l:(MOVWload {sym} [off] ptr mem) [c])
@@ -3452,8 +3313,7 @@ func rewriteValue386_Op386CMPWconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -3480,8 +3340,7 @@ func rewriteValue386_Op386CMPWload(v *Value) bool {
v.reset(Op386CMPWconstload)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3510,9 +3369,7 @@ func rewriteValue386_Op386DIVSD(v *Value) bool {
v.reset(Op386DIVSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -3542,9 +3399,7 @@ func rewriteValue386_Op386DIVSDload(v *Value) bool {
v.reset(Op386DIVSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (DIVSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -3567,9 +3422,7 @@ func rewriteValue386_Op386DIVSDload(v *Value) bool {
v.reset(Op386DIVSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -3598,9 +3451,7 @@ func rewriteValue386_Op386DIVSS(v *Value) bool {
v.reset(Op386DIVSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -3630,9 +3481,7 @@ func rewriteValue386_Op386DIVSSload(v *Value) bool {
v.reset(Op386DIVSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (DIVSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -3655,9 +3504,7 @@ func rewriteValue386_Op386DIVSSload(v *Value) bool {
v.reset(Op386DIVSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -3705,8 +3552,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3751,8 +3597,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL [off1] {sym1} (LEAL2 [off2] {sym2} x y))
@@ -3774,8 +3619,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL [off1] {sym1} (LEAL4 [off2] {sym2} x y))
@@ -3797,8 +3641,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL [off1] {sym1} (LEAL8 [off2] {sym2} x y))
@@ -3820,8 +3663,7 @@ func rewriteValue386_Op386LEAL(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3848,8 +3690,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3868,8 +3709,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3888,8 +3728,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3908,8 +3747,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3934,8 +3772,7 @@ func rewriteValue386_Op386LEAL1(v *Value) bool {
v.reset(Op386LEAL1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3963,8 +3800,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (ADDLconst [d] y))
@@ -3985,8 +3821,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = c + 2*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (SHLLconst [1] y))
@@ -4002,8 +3837,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (SHLLconst [2] y))
@@ -4019,8 +3853,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [off1] {sym1} (LEAL [off2] {sym2} x) y)
@@ -4042,8 +3875,7 @@ func rewriteValue386_Op386LEAL2(v *Value) bool {
v.reset(Op386LEAL2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4069,8 +3901,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL4 [c] {s} x (ADDLconst [d] y))
@@ -4091,8 +3922,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = c + 4*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL4 [c] {s} x (SHLLconst [1] y))
@@ -4108,8 +3938,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL4 [off1] {sym1} (LEAL [off2] {sym2} x) y)
@@ -4131,8 +3960,7 @@ func rewriteValue386_Op386LEAL4(v *Value) bool {
v.reset(Op386LEAL4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4158,8 +3986,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL8 [c] {s} x (ADDLconst [d] y))
@@ -4180,8 +4007,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = c + 8*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL8 [off1] {sym1} (LEAL [off2] {sym2} x) y)
@@ -4203,8 +4029,7 @@ func rewriteValue386_Op386LEAL8(v *Value) bool {
v.reset(Op386LEAL8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4233,8 +4058,7 @@ func rewriteValue386_Op386MOVBLSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBLSX (ANDLconst [c] x))
@@ -4302,8 +4126,7 @@ func rewriteValue386_Op386MOVBLSXload(v *Value) bool {
v.reset(Op386MOVBLSXload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -4332,8 +4155,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBLZX x:(MOVBloadidx1 [off] {sym} ptr idx mem))
@@ -4358,9 +4180,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBLZX (ANDLconst [c] x))
@@ -4423,8 +4243,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool {
v.reset(Op386MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -4446,8 +4265,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool {
v.reset(Op386MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem)
@@ -4470,9 +4288,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool {
v.reset(Op386MOVBloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBload [off] {sym} (ADDL ptr idx) mem)
@@ -4497,9 +4313,7 @@ func rewriteValue386_Op386MOVBload(v *Value) bool {
v.reset(Op386MOVBloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -4539,9 +4353,7 @@ func rewriteValue386_Op386MOVBloadidx1(v *Value) bool {
v.reset(Op386MOVBloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -4562,9 +4374,7 @@ func rewriteValue386_Op386MOVBloadidx1(v *Value) bool {
v.reset(Op386MOVBloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -4591,9 +4401,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBLZX x) mem)
@@ -4610,9 +4418,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -4634,9 +4440,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -4657,8 +4461,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstoreconst)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -4681,9 +4484,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem)
@@ -4707,10 +4508,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVBstore [off] {sym} (ADDL ptr idx) val mem)
@@ -4736,10 +4534,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVBstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -4766,9 +4561,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRLconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -4793,9 +4586,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore {s} [i+1] p (SHRWconst [8] w) mem))
@@ -4821,9 +4612,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore {s} [i+1] p (SHRLconst [8] w) mem))
@@ -4849,9 +4638,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRLconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRLconst [j-8] w) mem))
@@ -4881,9 +4668,7 @@ func rewriteValue386_Op386MOVBstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -4911,8 +4696,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -4934,8 +4718,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem)
@@ -4958,9 +4741,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconst [x] {sym} (ADDL ptr idx) mem)
@@ -4977,9 +4758,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVBstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem))
@@ -5004,8 +4783,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVBstoreconst [a] {s} p x:(MOVBstoreconst [c] {s} p mem))
@@ -5030,8 +4808,7 @@ func rewriteValue386_Op386MOVBstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -5055,9 +4832,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool {
v.reset(Op386MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem)
@@ -5075,9 +4850,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool {
v.reset(Op386MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconstidx1 [c] {s} p i x:(MOVBstoreconstidx1 [a] {s} p i mem))
@@ -5103,9 +4876,7 @@ func rewriteValue386_Op386MOVBstoreconstidx1(v *Value) bool {
v.reset(Op386MOVWstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(i)
- v.AddArg(mem)
+ v.AddArg3(p, i, mem)
return true
}
return false
@@ -5132,10 +4903,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVBstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -5157,10 +4925,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVBstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -5192,10 +4957,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -5228,10 +4990,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -5265,10 +5024,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -5302,10 +5058,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -5343,10 +5096,7 @@ func rewriteValue386_Op386MOVBstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -5400,8 +5150,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
v.reset(Op386MOVLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -5423,8 +5172,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
v.reset(Op386MOVLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem)
@@ -5447,9 +5195,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
v.reset(Op386MOVLloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -5472,9 +5218,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
v.reset(Op386MOVLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLload [off] {sym} (ADDL ptr idx) mem)
@@ -5499,9 +5243,7 @@ func rewriteValue386_Op386MOVLload(v *Value) bool {
v.reset(Op386MOVLloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -5540,9 +5282,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool {
v.reset(Op386MOVLloadidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -5563,9 +5303,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool {
v.reset(Op386MOVLloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -5586,9 +5324,7 @@ func rewriteValue386_Op386MOVLloadidx1(v *Value) bool {
v.reset(Op386MOVLloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -5614,9 +5350,7 @@ func rewriteValue386_Op386MOVLloadidx4(v *Value) bool {
v.reset(Op386MOVLloadidx4)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -5634,9 +5368,7 @@ func rewriteValue386_Op386MOVLloadidx4(v *Value) bool {
v.reset(Op386MOVLloadidx4)
v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -5666,9 +5398,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -5689,8 +5419,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -5713,9 +5442,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem)
@@ -5739,10 +5466,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) val mem)
@@ -5766,10 +5490,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstoreidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstore [off] {sym} (ADDL ptr idx) val mem)
@@ -5795,10 +5516,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -5822,9 +5540,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ADDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ANDLload x [off] {sym} ptr mem) mem)
@@ -5846,9 +5562,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ANDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ORLload x [off] {sym} ptr mem) mem)
@@ -5870,9 +5584,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(XORLload x [off] {sym} ptr mem) mem)
@@ -5894,9 +5606,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386XORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ADDL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -5929,9 +5639,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ADDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -5959,9 +5667,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386SUBLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ANDL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -5994,9 +5700,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ANDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -6031,9 +5735,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -6068,9 +5770,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386XORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -6098,8 +5798,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ADDLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ANDLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem)
@@ -6125,8 +5824,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ANDLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ORLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem)
@@ -6152,8 +5850,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386ORLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(XORLconst [c] l:(MOVLload [off] {sym} ptr mem)) mem)
@@ -6179,8 +5876,7 @@ func rewriteValue386_Op386MOVLstore(v *Value) bool {
v.reset(Op386XORLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -6208,8 +5904,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -6231,8 +5926,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem)
@@ -6255,9 +5949,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconst [x] {sym1} (LEAL4 [off] {sym2} ptr idx) mem)
@@ -6280,9 +5972,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconst [x] {sym} (ADDL ptr idx) mem)
@@ -6299,9 +5989,7 @@ func rewriteValue386_Op386MOVLstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6324,9 +6012,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool {
v.reset(Op386MOVLstoreconstidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconstidx1 [x] {sym} (ADDLconst [c] ptr) idx mem)
@@ -6344,9 +6030,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem)
@@ -6364,9 +6048,7 @@ func rewriteValue386_Op386MOVLstoreconstidx1(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6390,9 +6072,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4(v *Value) bool {
v.reset(Op386MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconstidx4 [x] {sym} ptr (ADDLconst [c] idx) mem)
@@ -6410,9 +6090,7 @@ func rewriteValue386_Op386MOVLstoreconstidx4(v *Value) bool {
v.reset(Op386MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(4 * c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6438,10 +6116,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool {
v.reset(Op386MOVLstoreidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -6463,10 +6138,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -6488,10 +6160,7 @@ func rewriteValue386_Op386MOVLstoreidx1(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -6519,10 +6188,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386MOVLstoreidx4)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -6541,10 +6207,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386MOVLstoreidx4)
v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ADDLloadidx4 x [off] {sym} ptr idx mem) mem)
@@ -6567,10 +6230,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ADDLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDLloadidx4 x [off] {sym} ptr idx mem) mem)
@@ -6593,10 +6253,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ANDLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ORLloadidx4 x [off] {sym} ptr idx mem) mem)
@@ -6619,10 +6276,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ORLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(XORLloadidx4 x [off] {sym} ptr idx mem) mem)
@@ -6645,10 +6299,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386XORLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ADDL l:(MOVLloadidx4 [off] {sym} ptr idx mem) x) mem)
@@ -6682,10 +6333,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ADDLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
break
@@ -6714,10 +6362,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386SUBLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDL l:(MOVLloadidx4 [off] {sym} ptr idx mem) x) mem)
@@ -6751,10 +6396,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ANDLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
break
@@ -6790,10 +6432,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ORLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
break
@@ -6829,10 +6468,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386XORLmodifyidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
break
@@ -6861,9 +6497,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ANDLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem)
@@ -6890,9 +6524,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ANDLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(ORLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem)
@@ -6919,9 +6551,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386ORLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreidx4 {sym} [off] ptr idx y:(XORLconst [c] l:(MOVLloadidx4 [off] {sym} ptr idx mem)) mem)
@@ -6948,9 +6578,7 @@ func rewriteValue386_Op386MOVLstoreidx4(v *Value) bool {
v.reset(Op386XORLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6998,8 +6626,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool {
v.reset(Op386MOVSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -7021,8 +6648,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool {
v.reset(Op386MOVSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem)
@@ -7045,9 +6671,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool {
v.reset(Op386MOVSDloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAL8 [off2] {sym2} ptr idx) mem)
@@ -7070,9 +6694,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool {
v.reset(Op386MOVSDloadidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDload [off] {sym} (ADDL ptr idx) mem)
@@ -7097,9 +6719,7 @@ func rewriteValue386_Op386MOVSDload(v *Value) bool {
v.reset(Op386MOVSDloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -7125,9 +6745,7 @@ func rewriteValue386_Op386MOVSDloadidx1(v *Value) bool {
v.reset(Op386MOVSDloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -7145,9 +6763,7 @@ func rewriteValue386_Op386MOVSDloadidx1(v *Value) bool {
v.reset(Op386MOVSDloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7171,9 +6787,7 @@ func rewriteValue386_Op386MOVSDloadidx8(v *Value) bool {
v.reset(Op386MOVSDloadidx8)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx8 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -7191,9 +6805,7 @@ func rewriteValue386_Op386MOVSDloadidx8(v *Value) bool {
v.reset(Op386MOVSDloadidx8)
v.AuxInt = int64(int32(c + 8*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7223,9 +6835,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool {
v.reset(Op386MOVSDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -7248,9 +6858,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool {
v.reset(Op386MOVSDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem)
@@ -7274,10 +6882,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool {
v.reset(Op386MOVSDstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAL8 [off2] {sym2} ptr idx) val mem)
@@ -7301,10 +6906,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool {
v.reset(Op386MOVSDstoreidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstore [off] {sym} (ADDL ptr idx) val mem)
@@ -7330,10 +6932,7 @@ func rewriteValue386_Op386MOVSDstore(v *Value) bool {
v.reset(Op386MOVSDstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -7361,10 +6960,7 @@ func rewriteValue386_Op386MOVSDstoreidx1(v *Value) bool {
v.reset(Op386MOVSDstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -7383,10 +6979,7 @@ func rewriteValue386_Op386MOVSDstoreidx1(v *Value) bool {
v.reset(Op386MOVSDstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7412,10 +7005,7 @@ func rewriteValue386_Op386MOVSDstoreidx8(v *Value) bool {
v.reset(Op386MOVSDstoreidx8)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx8 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -7434,10 +7024,7 @@ func rewriteValue386_Op386MOVSDstoreidx8(v *Value) bool {
v.reset(Op386MOVSDstoreidx8)
v.AuxInt = int64(int32(c + 8*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7485,8 +7072,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool {
v.reset(Op386MOVSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -7508,8 +7094,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool {
v.reset(Op386MOVSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem)
@@ -7532,9 +7117,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool {
v.reset(Op386MOVSSloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -7557,9 +7140,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool {
v.reset(Op386MOVSSloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSload [off] {sym} (ADDL ptr idx) mem)
@@ -7584,9 +7165,7 @@ func rewriteValue386_Op386MOVSSload(v *Value) bool {
v.reset(Op386MOVSSloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -7612,9 +7191,7 @@ func rewriteValue386_Op386MOVSSloadidx1(v *Value) bool {
v.reset(Op386MOVSSloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -7632,9 +7209,7 @@ func rewriteValue386_Op386MOVSSloadidx1(v *Value) bool {
v.reset(Op386MOVSSloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7658,9 +7233,7 @@ func rewriteValue386_Op386MOVSSloadidx4(v *Value) bool {
v.reset(Op386MOVSSloadidx4)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -7678,9 +7251,7 @@ func rewriteValue386_Op386MOVSSloadidx4(v *Value) bool {
v.reset(Op386MOVSSloadidx4)
v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7710,9 +7281,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool {
v.reset(Op386MOVSSstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -7735,9 +7304,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool {
v.reset(Op386MOVSSstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem)
@@ -7761,10 +7328,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool {
v.reset(Op386MOVSSstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAL4 [off2] {sym2} ptr idx) val mem)
@@ -7788,10 +7352,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool {
v.reset(Op386MOVSSstoreidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstore [off] {sym} (ADDL ptr idx) val mem)
@@ -7817,10 +7378,7 @@ func rewriteValue386_Op386MOVSSstore(v *Value) bool {
v.reset(Op386MOVSSstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -7848,10 +7406,7 @@ func rewriteValue386_Op386MOVSSstoreidx1(v *Value) bool {
v.reset(Op386MOVSSstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -7870,10 +7425,7 @@ func rewriteValue386_Op386MOVSSstoreidx1(v *Value) bool {
v.reset(Op386MOVSSstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7899,10 +7451,7 @@ func rewriteValue386_Op386MOVSSstoreidx4(v *Value) bool {
v.reset(Op386MOVSSstoreidx4)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -7921,10 +7470,7 @@ func rewriteValue386_Op386MOVSSstoreidx4(v *Value) bool {
v.reset(Op386MOVSSstoreidx4)
v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7953,8 +7499,7 @@ func rewriteValue386_Op386MOVWLSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWLSX (ANDLconst [c] x))
@@ -8022,8 +7567,7 @@ func rewriteValue386_Op386MOVWLSXload(v *Value) bool {
v.reset(Op386MOVWLSXload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -8052,8 +7596,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWLZX x:(MOVWloadidx1 [off] {sym} ptr idx mem))
@@ -8078,9 +7621,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWLZX x:(MOVWloadidx2 [off] {sym} ptr idx mem))
@@ -8105,9 +7646,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWLZX (ANDLconst [c] x))
@@ -8170,8 +7709,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
v.reset(Op386MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -8193,8 +7731,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
v.reset(Op386MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) mem)
@@ -8217,9 +7754,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
v.reset(Op386MOVWloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAL2 [off2] {sym2} ptr idx) mem)
@@ -8242,9 +7777,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
v.reset(Op386MOVWloadidx2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off] {sym} (ADDL ptr idx) mem)
@@ -8269,9 +7802,7 @@ func rewriteValue386_Op386MOVWload(v *Value) bool {
v.reset(Op386MOVWloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -8310,9 +7841,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool {
v.reset(Op386MOVWloadidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -8333,9 +7862,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool {
v.reset(Op386MOVWloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -8356,9 +7883,7 @@ func rewriteValue386_Op386MOVWloadidx1(v *Value) bool {
v.reset(Op386MOVWloadidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -8384,9 +7909,7 @@ func rewriteValue386_Op386MOVWloadidx2(v *Value) bool {
v.reset(Op386MOVWloadidx2)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx2 [c] {sym} ptr (ADDLconst [d] idx) mem)
@@ -8404,9 +7927,7 @@ func rewriteValue386_Op386MOVWloadidx2(v *Value) bool {
v.reset(Op386MOVWloadidx2)
v.AuxInt = int64(int32(c + 2*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -8431,9 +7952,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWLZX x) mem)
@@ -8450,9 +7969,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -8474,9 +7991,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -8497,8 +8012,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstoreconst)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -8521,9 +8035,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAL1 [off2] {sym2} ptr idx) val mem)
@@ -8547,10 +8059,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAL2 [off2] {sym2} ptr idx) val mem)
@@ -8574,10 +8083,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstoreidx2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off] {sym} (ADDL ptr idx) val mem)
@@ -8603,10 +8109,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -8633,9 +8136,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVWstore [i] {s} p (SHRLconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRLconst [j-16] w) mem))
@@ -8665,9 +8166,7 @@ func rewriteValue386_Op386MOVWstore(v *Value) bool {
v.reset(Op386MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -8695,8 +8194,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -8718,8 +8216,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstoreconst [x] {sym1} (LEAL1 [off] {sym2} ptr idx) mem)
@@ -8742,9 +8239,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [x] {sym1} (LEAL2 [off] {sym2} ptr idx) mem)
@@ -8767,9 +8262,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [x] {sym} (ADDL ptr idx) mem)
@@ -8786,9 +8279,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVWstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [c] {s} p x:(MOVWstoreconst [a] {s} p mem))
@@ -8813,8 +8304,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVWstoreconst [a] {s} p x:(MOVWstoreconst [c] {s} p mem))
@@ -8839,8 +8329,7 @@ func rewriteValue386_Op386MOVWstoreconst(v *Value) bool {
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -8863,9 +8352,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool {
v.reset(Op386MOVWstoreconstidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx1 [x] {sym} (ADDLconst [c] ptr) idx mem)
@@ -8883,9 +8370,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool {
v.reset(Op386MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx1 [x] {sym} ptr (ADDLconst [c] idx) mem)
@@ -8903,9 +8388,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool {
v.reset(Op386MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx1 [c] {s} p i x:(MOVWstoreconstidx1 [a] {s} p i mem))
@@ -8931,9 +8414,7 @@ func rewriteValue386_Op386MOVWstoreconstidx1(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(i)
- v.AddArg(mem)
+ v.AddArg3(p, i, mem)
return true
}
return false
@@ -8958,9 +8439,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool {
v.reset(Op386MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx2 [x] {sym} ptr (ADDLconst [c] idx) mem)
@@ -8978,9 +8457,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool {
v.reset(Op386MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(2 * c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx2 [c] {s} p i x:(MOVWstoreconstidx2 [a] {s} p i mem))
@@ -9006,12 +8483,10 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value) bool {
v.reset(Op386MOVLstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, Op386SHLLconst, i.Type)
v0.AuxInt = 1
v0.AddArg(i)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
return false
@@ -9037,10 +8512,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -9062,10 +8534,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -9087,10 +8556,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool {
v.reset(Op386MOVWstoreidx1)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -9122,10 +8588,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -9163,10 +8626,7 @@ func rewriteValue386_Op386MOVWstoreidx1(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -9196,10 +8656,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool {
v.reset(Op386MOVWstoreidx2)
v.AuxInt = int64(int32(c + d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx2 [c] {sym} ptr (ADDLconst [d] idx) val mem)
@@ -9218,10 +8675,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool {
v.reset(Op386MOVWstoreidx2)
v.AuxInt = int64(int32(c + 2*d))
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem))
@@ -9247,13 +8701,10 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type)
v0.AuxInt = 1
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [j] w) x:(MOVWstoreidx2 [i-2] {s} p idx w0:(SHRLconst [j-16] w) mem))
@@ -9284,13 +8735,10 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value) bool {
v.reset(Op386MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type)
v0.AuxInt = 1
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w0, mem)
return true
}
return false
@@ -9334,9 +8782,7 @@ func rewriteValue386_Op386MULL(v *Value) bool {
v.reset(Op386MULLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -9362,10 +8808,7 @@ func rewriteValue386_Op386MULL(v *Value) bool {
v.reset(Op386MULLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
break
@@ -9398,8 +8841,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386NEGL)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9412,8 +8854,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386NEGL)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9426,8 +8867,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386NEGL)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9472,8 +8912,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL2)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [5] x)
@@ -9484,8 +8923,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL4)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [7] x)
@@ -9496,11 +8934,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [9] x)
@@ -9511,8 +8947,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL8)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [11] x)
@@ -9523,11 +8958,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [13] x)
@@ -9538,11 +8971,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [19] x)
@@ -9553,11 +8984,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [21] x)
@@ -9568,11 +8997,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [25] x)
@@ -9583,11 +9010,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [27] x)
@@ -9599,13 +9024,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [37] x)
@@ -9616,11 +9038,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [41] x)
@@ -9631,11 +9051,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [45] x)
@@ -9647,13 +9065,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [73] x)
@@ -9664,11 +9079,9 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
}
x := v_0
v.reset(Op386LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [81] x)
@@ -9680,13 +9093,10 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
x := v_0
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [c] x)
@@ -9702,8 +9112,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
v0.AuxInt = log2(c + 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -9719,8 +9128,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
v0.AuxInt = log2(c - 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -9736,8 +9144,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
v0.AuxInt = log2(c - 2)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -9753,8 +9160,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
v0.AuxInt = log2(c - 4)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -9770,8 +9176,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
v0.AuxInt = log2(c - 8)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -9786,8 +9191,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v.reset(Op386SHLLconst)
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9803,8 +9207,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v.reset(Op386SHLLconst)
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9820,8 +9223,7 @@ func rewriteValue386_Op386MULLconst(v *Value) bool {
v.reset(Op386SHLLconst)
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -9864,9 +9266,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool {
v.reset(Op386MULLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -9889,9 +9289,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool {
v.reset(Op386MULLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -9915,10 +9313,7 @@ func rewriteValue386_Op386MULLload(v *Value) bool {
v.reset(Op386MULLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -9950,10 +9345,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool {
v.reset(Op386MULLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (MULLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -9976,10 +9368,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool {
v.reset(Op386MULLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (MULLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -10003,10 +9392,7 @@ func rewriteValue386_Op386MULLloadidx4(v *Value) bool {
v.reset(Op386MULLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -10036,9 +9422,7 @@ func rewriteValue386_Op386MULSD(v *Value) bool {
v.reset(Op386MULSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -10070,9 +9454,7 @@ func rewriteValue386_Op386MULSDload(v *Value) bool {
v.reset(Op386MULSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -10095,9 +9477,7 @@ func rewriteValue386_Op386MULSDload(v *Value) bool {
v.reset(Op386MULSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -10127,9 +9507,7 @@ func rewriteValue386_Op386MULSS(v *Value) bool {
v.reset(Op386MULSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -10161,9 +9539,7 @@ func rewriteValue386_Op386MULSSload(v *Value) bool {
v.reset(Op386MULSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -10186,9 +9562,7 @@ func rewriteValue386_Op386MULSSload(v *Value) bool {
v.reset(Op386MULSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -10338,9 +9712,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.reset(Op386ORLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -10366,10 +9738,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.reset(Op386ORLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
break
@@ -10421,8 +9790,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -10486,8 +9854,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
}
@@ -10535,9 +9902,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -10613,9 +9978,7 @@ func rewriteValue386_Op386ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -10691,8 +10054,7 @@ func rewriteValue386_Op386ORLconstmodify(v *Value) bool {
v.reset(Op386ORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ORLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -10714,8 +10076,7 @@ func rewriteValue386_Op386ORLconstmodify(v *Value) bool {
v.reset(Op386ORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -10745,9 +10106,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool {
v.reset(Op386ORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ORLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem)
@@ -10769,9 +10128,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool {
v.reset(Op386ORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2 * 4)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (ORLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem)
@@ -10794,9 +10151,7 @@ func rewriteValue386_Op386ORLconstmodifyidx4(v *Value) bool {
v.reset(Op386ORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
return false
@@ -10826,9 +10181,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool {
v.reset(Op386ORLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ORLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -10851,9 +10204,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool {
v.reset(Op386ORLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ORLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -10877,10 +10228,7 @@ func rewriteValue386_Op386ORLload(v *Value) bool {
v.reset(Op386ORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -10912,10 +10260,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool {
v.reset(Op386ORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ORLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -10938,10 +10283,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool {
v.reset(Op386ORLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (ORLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -10965,10 +10307,7 @@ func rewriteValue386_Op386ORLloadidx4(v *Value) bool {
v.reset(Op386ORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -10998,9 +10337,7 @@ func rewriteValue386_Op386ORLmodify(v *Value) bool {
v.reset(Op386ORLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ORLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -11023,9 +10360,7 @@ func rewriteValue386_Op386ORLmodify(v *Value) bool {
v.reset(Op386ORLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -11057,10 +10392,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool {
v.reset(Op386ORLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ORLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem)
@@ -11083,10 +10415,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool {
v.reset(Op386ORLmodifyidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ORLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem)
@@ -11110,10 +10439,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool {
v.reset(Op386ORLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (ORLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem)
@@ -11135,9 +10461,7 @@ func rewriteValue386_Op386ORLmodifyidx4(v *Value) bool {
v.reset(Op386ORLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -11303,8 +10627,7 @@ func rewriteValue386_Op386SARL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -11398,8 +10721,7 @@ func rewriteValue386_Op386SBBL(v *Value) bool {
f := v_2
v.reset(Op386SBBLconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(f)
+ v.AddArg2(x, f)
return true
}
return false
@@ -12133,8 +11455,7 @@ func rewriteValue386_Op386SHLL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12233,8 +11554,7 @@ func rewriteValue386_Op386SHRL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(Op386SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12359,9 +11679,7 @@ func rewriteValue386_Op386SUBL(v *Value) bool {
v.reset(Op386SUBLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
// match: (SUBL x l:(MOVLloadidx4 [off] {sym} ptr idx mem))
@@ -12384,10 +11702,7 @@ func rewriteValue386_Op386SUBL(v *Value) bool {
v.reset(Op386SUBLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
// match: (SUBL x x)
@@ -12473,9 +11788,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool {
v.reset(Op386SUBLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -12498,9 +11811,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool {
v.reset(Op386SUBLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -12524,10 +11835,7 @@ func rewriteValue386_Op386SUBLload(v *Value) bool {
v.reset(Op386SUBLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -12559,10 +11867,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool {
v.reset(Op386SUBLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (SUBLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -12585,10 +11890,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool {
v.reset(Op386SUBLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (SUBLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -12612,10 +11914,7 @@ func rewriteValue386_Op386SUBLloadidx4(v *Value) bool {
v.reset(Op386SUBLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -12645,9 +11944,7 @@ func rewriteValue386_Op386SUBLmodify(v *Value) bool {
v.reset(Op386SUBLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SUBLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -12670,9 +11967,7 @@ func rewriteValue386_Op386SUBLmodify(v *Value) bool {
v.reset(Op386SUBLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -12704,10 +11999,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool {
v.reset(Op386SUBLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (SUBLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem)
@@ -12730,10 +12022,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool {
v.reset(Op386SUBLmodifyidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (SUBLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem)
@@ -12757,10 +12046,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool {
v.reset(Op386SUBLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (SUBLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem)
@@ -12782,9 +12068,7 @@ func rewriteValue386_Op386SUBLmodifyidx4(v *Value) bool {
v.reset(Op386ADDLconstmodifyidx4)
v.AuxInt = makeValAndOff(-c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -12813,9 +12097,7 @@ func rewriteValue386_Op386SUBSD(v *Value) bool {
v.reset(Op386SUBSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -12845,9 +12127,7 @@ func rewriteValue386_Op386SUBSDload(v *Value) bool {
v.reset(Op386SUBSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSDload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -12870,9 +12150,7 @@ func rewriteValue386_Op386SUBSDload(v *Value) bool {
v.reset(Op386SUBSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -12901,9 +12179,7 @@ func rewriteValue386_Op386SUBSS(v *Value) bool {
v.reset(Op386SUBSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -12933,9 +12209,7 @@ func rewriteValue386_Op386SUBSSload(v *Value) bool {
v.reset(Op386SUBSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSSload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -12958,9 +12232,7 @@ func rewriteValue386_Op386SUBSSload(v *Value) bool {
v.reset(Op386SUBSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -13078,9 +12350,7 @@ func rewriteValue386_Op386XORL(v *Value) bool {
v.reset(Op386XORLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -13106,10 +12376,7 @@ func rewriteValue386_Op386XORL(v *Value) bool {
v.reset(Op386XORLloadidx4)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(x, ptr, idx, mem)
return true
}
break
@@ -13194,8 +12461,7 @@ func rewriteValue386_Op386XORLconstmodify(v *Value) bool {
v.reset(Op386XORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (XORLconstmodify [valoff1] {sym1} (LEAL [off2] {sym2} base) mem)
@@ -13217,8 +12483,7 @@ func rewriteValue386_Op386XORLconstmodify(v *Value) bool {
v.reset(Op386XORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -13248,9 +12513,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool {
v.reset(Op386XORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (XORLconstmodifyidx4 [valoff1] {sym} base (ADDLconst [off2] idx) mem)
@@ -13272,9 +12535,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool {
v.reset(Op386XORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2 * 4)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
// match: (XORLconstmodifyidx4 [valoff1] {sym1} (LEAL [off2] {sym2} base) idx mem)
@@ -13297,9 +12558,7 @@ func rewriteValue386_Op386XORLconstmodifyidx4(v *Value) bool {
v.reset(Op386XORLconstmodifyidx4)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(base, idx, mem)
return true
}
return false
@@ -13329,9 +12588,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool {
v.reset(Op386XORLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORLload [off1] {sym1} val (LEAL [off2] {sym2} base) mem)
@@ -13354,9 +12611,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool {
v.reset(Op386XORLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORLload [off1] {sym1} val (LEAL4 [off2] {sym2} ptr idx) mem)
@@ -13380,10 +12635,7 @@ func rewriteValue386_Op386XORLload(v *Value) bool {
v.reset(Op386XORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, ptr, idx, mem)
return true
}
return false
@@ -13415,10 +12667,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool {
v.reset(Op386XORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (XORLloadidx4 [off1] {sym} val base (ADDLconst [off2] idx) mem)
@@ -13441,10 +12690,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool {
v.reset(Op386XORLloadidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
// match: (XORLloadidx4 [off1] {sym1} val (LEAL [off2] {sym2} base) idx mem)
@@ -13468,10 +12714,7 @@ func rewriteValue386_Op386XORLloadidx4(v *Value) bool {
v.reset(Op386XORLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg4(val, base, idx, mem)
return true
}
return false
@@ -13501,9 +12744,7 @@ func rewriteValue386_Op386XORLmodify(v *Value) bool {
v.reset(Op386XORLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (XORLmodify [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -13526,9 +12767,7 @@ func rewriteValue386_Op386XORLmodify(v *Value) bool {
v.reset(Op386XORLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -13560,10 +12799,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool {
v.reset(Op386XORLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (XORLmodifyidx4 [off1] {sym} base (ADDLconst [off2] idx) val mem)
@@ -13586,10 +12822,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool {
v.reset(Op386XORLmodifyidx4)
v.AuxInt = off1 + off2*4
v.Aux = sym
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (XORLmodifyidx4 [off1] {sym1} (LEAL [off2] {sym2} base) idx val mem)
@@ -13613,10 +12846,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool {
v.reset(Op386XORLmodifyidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(base, idx, val, mem)
return true
}
// match: (XORLmodifyidx4 [off] {sym} ptr idx (MOVLconst [c]) mem)
@@ -13638,9 +12868,7 @@ func rewriteValue386_Op386XORLmodifyidx4(v *Value) bool {
v.reset(Op386XORLconstmodifyidx4)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -13683,10 +12911,9 @@ func rewriteValue386_OpDiv8(v *Value) bool {
v.reset(Op386DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13703,10 +12930,9 @@ func rewriteValue386_OpDiv8u(v *Value) bool {
v.reset(Op386DIVWU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13721,8 +12947,7 @@ func rewriteValue386_OpEq16(v *Value) bool {
y := v_1
v.reset(Op386SETEQ)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13738,8 +12963,7 @@ func rewriteValue386_OpEq32(v *Value) bool {
y := v_1
v.reset(Op386SETEQ)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13755,8 +12979,7 @@ func rewriteValue386_OpEq32F(v *Value) bool {
y := v_1
v.reset(Op386SETEQF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13772,8 +12995,7 @@ func rewriteValue386_OpEq64F(v *Value) bool {
y := v_1
v.reset(Op386SETEQF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13789,8 +13011,7 @@ func rewriteValue386_OpEq8(v *Value) bool {
y := v_1
v.reset(Op386SETEQ)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13806,8 +13027,7 @@ func rewriteValue386_OpEqB(v *Value) bool {
y := v_1
v.reset(Op386SETEQ)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13823,8 +13043,7 @@ func rewriteValue386_OpEqPtr(v *Value) bool {
y := v_1
v.reset(Op386SETEQ)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13840,8 +13059,7 @@ func rewriteValue386_OpGeq32F(v *Value) bool {
y := v_1
v.reset(Op386SETGEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13857,8 +13075,7 @@ func rewriteValue386_OpGeq64F(v *Value) bool {
y := v_1
v.reset(Op386SETGEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13874,8 +13091,7 @@ func rewriteValue386_OpGreater32F(v *Value) bool {
y := v_1
v.reset(Op386SETGF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13891,8 +13107,7 @@ func rewriteValue386_OpGreater64F(v *Value) bool {
y := v_1
v.reset(Op386SETGF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13908,8 +13123,7 @@ func rewriteValue386_OpIsInBounds(v *Value) bool {
len := v_1
v.reset(Op386SETB)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -13923,8 +13137,7 @@ func rewriteValue386_OpIsNonNil(v *Value) bool {
p := v_0
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386TESTL, types.TypeFlags)
- v0.AddArg(p)
- v0.AddArg(p)
+ v0.AddArg2(p, p)
v.AddArg(v0)
return true
}
@@ -13940,8 +13153,7 @@ func rewriteValue386_OpIsSliceInBounds(v *Value) bool {
len := v_1
v.reset(Op386SETBE)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -13957,8 +13169,7 @@ func rewriteValue386_OpLeq16(v *Value) bool {
y := v_1
v.reset(Op386SETLE)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13974,8 +13185,7 @@ func rewriteValue386_OpLeq16U(v *Value) bool {
y := v_1
v.reset(Op386SETBE)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13991,8 +13201,7 @@ func rewriteValue386_OpLeq32(v *Value) bool {
y := v_1
v.reset(Op386SETLE)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14008,8 +13217,7 @@ func rewriteValue386_OpLeq32F(v *Value) bool {
y := v_1
v.reset(Op386SETGEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -14025,8 +13233,7 @@ func rewriteValue386_OpLeq32U(v *Value) bool {
y := v_1
v.reset(Op386SETBE)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14042,8 +13249,7 @@ func rewriteValue386_OpLeq64F(v *Value) bool {
y := v_1
v.reset(Op386SETGEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -14059,8 +13265,7 @@ func rewriteValue386_OpLeq8(v *Value) bool {
y := v_1
v.reset(Op386SETLE)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14076,8 +13281,7 @@ func rewriteValue386_OpLeq8U(v *Value) bool {
y := v_1
v.reset(Op386SETBE)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14093,8 +13297,7 @@ func rewriteValue386_OpLess16(v *Value) bool {
y := v_1
v.reset(Op386SETL)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14110,8 +13313,7 @@ func rewriteValue386_OpLess16U(v *Value) bool {
y := v_1
v.reset(Op386SETB)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14127,8 +13329,7 @@ func rewriteValue386_OpLess32(v *Value) bool {
y := v_1
v.reset(Op386SETL)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14144,8 +13345,7 @@ func rewriteValue386_OpLess32F(v *Value) bool {
y := v_1
v.reset(Op386SETGF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -14161,8 +13361,7 @@ func rewriteValue386_OpLess32U(v *Value) bool {
y := v_1
v.reset(Op386SETB)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14178,8 +13377,7 @@ func rewriteValue386_OpLess64F(v *Value) bool {
y := v_1
v.reset(Op386SETGF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -14195,8 +13393,7 @@ func rewriteValue386_OpLess8(v *Value) bool {
y := v_1
v.reset(Op386SETL)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14212,8 +13409,7 @@ func rewriteValue386_OpLess8U(v *Value) bool {
y := v_1
v.reset(Op386SETB)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14232,8 +13428,7 @@ func rewriteValue386_OpLoad(v *Value) bool {
break
}
v.reset(Op386MOVLload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -14247,8 +13442,7 @@ func rewriteValue386_OpLoad(v *Value) bool {
break
}
v.reset(Op386MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -14262,8 +13456,7 @@ func rewriteValue386_OpLoad(v *Value) bool {
break
}
v.reset(Op386MOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -14277,8 +13470,7 @@ func rewriteValue386_OpLoad(v *Value) bool {
break
}
v.reset(Op386MOVSSload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -14292,8 +13484,7 @@ func rewriteValue386_OpLoad(v *Value) bool {
break
}
v.reset(Op386MOVSDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -14327,15 +13518,13 @@ func rewriteValue386_OpLsh16x16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x16 x y)
@@ -14350,8 +13539,7 @@ func rewriteValue386_OpLsh16x16(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14372,15 +13560,13 @@ func rewriteValue386_OpLsh16x32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x32 x y)
@@ -14395,8 +13581,7 @@ func rewriteValue386_OpLsh16x32(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14454,15 +13639,13 @@ func rewriteValue386_OpLsh16x8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x8 x y)
@@ -14477,8 +13660,7 @@ func rewriteValue386_OpLsh16x8(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14499,15 +13681,13 @@ func rewriteValue386_OpLsh32x16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x16 x y)
@@ -14522,8 +13702,7 @@ func rewriteValue386_OpLsh32x16(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14544,15 +13723,13 @@ func rewriteValue386_OpLsh32x32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x32 x y)
@@ -14567,8 +13744,7 @@ func rewriteValue386_OpLsh32x32(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14626,15 +13802,13 @@ func rewriteValue386_OpLsh32x8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x8 x y)
@@ -14649,8 +13823,7 @@ func rewriteValue386_OpLsh32x8(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14671,15 +13844,13 @@ func rewriteValue386_OpLsh8x16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x16 x y)
@@ -14694,8 +13865,7 @@ func rewriteValue386_OpLsh8x16(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14716,15 +13886,13 @@ func rewriteValue386_OpLsh8x32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x32 x y)
@@ -14739,8 +13907,7 @@ func rewriteValue386_OpLsh8x32(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14798,15 +13965,13 @@ func rewriteValue386_OpLsh8x8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x8 x y)
@@ -14821,8 +13986,7 @@ func rewriteValue386_OpLsh8x8(v *Value) bool {
}
v.reset(Op386SHLL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14840,10 +14004,9 @@ func rewriteValue386_OpMod8(v *Value) bool {
v.reset(Op386MODW)
v0 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14860,10 +14023,9 @@ func rewriteValue386_OpMod8u(v *Value) bool {
v.reset(Op386MODWU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14896,12 +14058,9 @@ func rewriteValue386_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(Op386MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -14914,12 +14073,9 @@ func rewriteValue386_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(Op386MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -14932,12 +14088,9 @@ func rewriteValue386_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(Op386MOVLstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [3] dst src mem)
@@ -14951,20 +14104,14 @@ func rewriteValue386_OpMove(v *Value) bool {
mem := v_2
v.reset(Op386MOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, Op386MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [5] dst src mem)
@@ -14978,20 +14125,14 @@ func rewriteValue386_OpMove(v *Value) bool {
mem := v_2
v.reset(Op386MOVBstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] dst src mem)
@@ -15005,20 +14146,14 @@ func rewriteValue386_OpMove(v *Value) bool {
mem := v_2
v.reset(Op386MOVWstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [7] dst src mem)
@@ -15032,20 +14167,14 @@ func rewriteValue386_OpMove(v *Value) bool {
mem := v_2
v.reset(Op386MOVLstore)
v.AuxInt = 3
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
v0.AuxInt = 3
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [8] dst src mem)
@@ -15059,20 +14188,14 @@ func rewriteValue386_OpMove(v *Value) bool {
mem := v_2
v.reset(Op386MOVLstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -15091,19 +14214,14 @@ func rewriteValue386_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386ADDLconst, dst.Type)
v0.AuxInt = s % 4
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, Op386ADDLconst, src.Type)
v1.AuxInt = s % 4
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, Op386MOVLstore, types.TypeMem)
- v2.AddArg(dst)
v3 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
- v3.AddArg(src)
- v3.AddArg(mem)
- v2.AddArg(v3)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v3.AddArg2(src, mem)
+ v2.AddArg3(dst, v3, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [s] dst src mem)
@@ -15119,9 +14237,7 @@ func rewriteValue386_OpMove(v *Value) bool {
}
v.reset(Op386DUFFCOPY)
v.AuxInt = 10 * (128 - s/4)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] dst src mem)
@@ -15136,12 +14252,9 @@ func rewriteValue386_OpMove(v *Value) bool {
break
}
v.reset(Op386REPMOVSL)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32)
v0.AuxInt = s / 4
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -15160,10 +14273,9 @@ func rewriteValue386_OpNeg32F(v *Value) bool {
break
}
v.reset(Op386PXOR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386MOVSSconst, typ.Float32)
v0.AuxInt = auxFrom32F(float32(math.Copysign(0, -1)))
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Neg32F x)
@@ -15194,10 +14306,9 @@ func rewriteValue386_OpNeg64F(v *Value) bool {
break
}
v.reset(Op386PXOR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386MOVSDconst, typ.Float64)
v0.AuxInt = auxFrom64F(math.Copysign(0, -1))
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Neg64F x)
@@ -15225,8 +14336,7 @@ func rewriteValue386_OpNeq16(v *Value) bool {
y := v_1
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15242,8 +14352,7 @@ func rewriteValue386_OpNeq32(v *Value) bool {
y := v_1
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15259,8 +14368,7 @@ func rewriteValue386_OpNeq32F(v *Value) bool {
y := v_1
v.reset(Op386SETNEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15276,8 +14384,7 @@ func rewriteValue386_OpNeq64F(v *Value) bool {
y := v_1
v.reset(Op386SETNEF)
v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15293,8 +14400,7 @@ func rewriteValue386_OpNeq8(v *Value) bool {
y := v_1
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15310,8 +14416,7 @@ func rewriteValue386_OpNeqB(v *Value) bool {
y := v_1
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15327,8 +14432,7 @@ func rewriteValue386_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(Op386SETNE)
v0 := b.NewValue0(v.Pos, Op386CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15362,9 +14466,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool {
}
v.reset(Op386LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -15380,9 +14482,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool {
}
v.reset(Op386LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -15398,9 +14498,7 @@ func rewriteValue386_OpPanicBounds(v *Value) bool {
}
v.reset(Op386LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -15424,10 +14522,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool {
}
v.reset(Op386LoweredPanicExtendA)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -15444,10 +14539,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool {
}
v.reset(Op386LoweredPanicExtendB)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -15464,10 +14556,7 @@ func rewriteValue386_OpPanicExtend(v *Value) bool {
}
v.reset(Op386LoweredPanicExtendC)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
return false
@@ -15542,15 +14631,13 @@ func rewriteValue386_OpRsh16Ux16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux16 x y)
@@ -15565,8 +14652,7 @@ func rewriteValue386_OpRsh16Ux16(v *Value) bool {
}
v.reset(Op386SHRW)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15587,15 +14673,13 @@ func rewriteValue386_OpRsh16Ux32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux32 x y)
@@ -15610,8 +14694,7 @@ func rewriteValue386_OpRsh16Ux32(v *Value) bool {
}
v.reset(Op386SHRW)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15669,15 +14752,13 @@ func rewriteValue386_OpRsh16Ux8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux8 x y)
@@ -15692,8 +14773,7 @@ func rewriteValue386_OpRsh16Ux8(v *Value) bool {
}
v.reset(Op386SHRW)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15714,9 +14794,7 @@ func rewriteValue386_OpRsh16x16(v *Value) bool {
}
v.reset(Op386SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
@@ -15724,8 +14802,8 @@ func rewriteValue386_OpRsh16x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x16 x y)
@@ -15738,8 +14816,7 @@ func rewriteValue386_OpRsh16x16(v *Value) bool {
break
}
v.reset(Op386SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15760,9 +14837,7 @@ func rewriteValue386_OpRsh16x32(v *Value) bool {
}
v.reset(Op386SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
@@ -15770,8 +14845,8 @@ func rewriteValue386_OpRsh16x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x32 x y)
@@ -15784,8 +14859,7 @@ func rewriteValue386_OpRsh16x32(v *Value) bool {
break
}
v.reset(Op386SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15845,9 +14919,7 @@ func rewriteValue386_OpRsh16x8(v *Value) bool {
}
v.reset(Op386SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
@@ -15855,8 +14927,8 @@ func rewriteValue386_OpRsh16x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x8 x y)
@@ -15869,8 +14941,7 @@ func rewriteValue386_OpRsh16x8(v *Value) bool {
break
}
v.reset(Op386SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15891,15 +14962,13 @@ func rewriteValue386_OpRsh32Ux16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux16 x y)
@@ -15914,8 +14983,7 @@ func rewriteValue386_OpRsh32Ux16(v *Value) bool {
}
v.reset(Op386SHRL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -15936,15 +15004,13 @@ func rewriteValue386_OpRsh32Ux32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux32 x y)
@@ -15959,8 +15025,7 @@ func rewriteValue386_OpRsh32Ux32(v *Value) bool {
}
v.reset(Op386SHRL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16018,15 +15083,13 @@ func rewriteValue386_OpRsh32Ux8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux8 x y)
@@ -16041,8 +15104,7 @@ func rewriteValue386_OpRsh32Ux8(v *Value) bool {
}
v.reset(Op386SHRL)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16063,9 +15125,7 @@ func rewriteValue386_OpRsh32x16(v *Value) bool {
}
v.reset(Op386SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
@@ -16073,8 +15133,8 @@ func rewriteValue386_OpRsh32x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x16 x y)
@@ -16087,8 +15147,7 @@ func rewriteValue386_OpRsh32x16(v *Value) bool {
break
}
v.reset(Op386SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16109,9 +15168,7 @@ func rewriteValue386_OpRsh32x32(v *Value) bool {
}
v.reset(Op386SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
@@ -16119,8 +15176,8 @@ func rewriteValue386_OpRsh32x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x32 x y)
@@ -16133,8 +15190,7 @@ func rewriteValue386_OpRsh32x32(v *Value) bool {
break
}
v.reset(Op386SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16194,9 +15250,7 @@ func rewriteValue386_OpRsh32x8(v *Value) bool {
}
v.reset(Op386SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
@@ -16204,8 +15258,8 @@ func rewriteValue386_OpRsh32x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x8 x y)
@@ -16218,8 +15272,7 @@ func rewriteValue386_OpRsh32x8(v *Value) bool {
break
}
v.reset(Op386SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16240,15 +15293,13 @@ func rewriteValue386_OpRsh8Ux16(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux16 x y)
@@ -16263,8 +15314,7 @@ func rewriteValue386_OpRsh8Ux16(v *Value) bool {
}
v.reset(Op386SHRB)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16285,15 +15335,13 @@ func rewriteValue386_OpRsh8Ux32(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux32 x y)
@@ -16308,8 +15356,7 @@ func rewriteValue386_OpRsh8Ux32(v *Value) bool {
}
v.reset(Op386SHRB)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16367,15 +15414,13 @@ func rewriteValue386_OpRsh8Ux8(v *Value) bool {
}
v.reset(Op386ANDL)
v0 := b.NewValue0(v.Pos, Op386SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux8 x y)
@@ -16390,8 +15435,7 @@ func rewriteValue386_OpRsh8Ux8(v *Value) bool {
}
v.reset(Op386SHRB)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16412,9 +15456,7 @@ func rewriteValue386_OpRsh8x16(v *Value) bool {
}
v.reset(Op386SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPWconst, types.TypeFlags)
@@ -16422,8 +15464,8 @@ func rewriteValue386_OpRsh8x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x16 x y)
@@ -16436,8 +15478,7 @@ func rewriteValue386_OpRsh8x16(v *Value) bool {
break
}
v.reset(Op386SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16458,9 +15499,7 @@ func rewriteValue386_OpRsh8x32(v *Value) bool {
}
v.reset(Op386SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPLconst, types.TypeFlags)
@@ -16468,8 +15507,8 @@ func rewriteValue386_OpRsh8x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x32 x y)
@@ -16482,8 +15521,7 @@ func rewriteValue386_OpRsh8x32(v *Value) bool {
break
}
v.reset(Op386SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16543,9 +15581,7 @@ func rewriteValue386_OpRsh8x8(v *Value) bool {
}
v.reset(Op386SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, Op386CMPBconst, types.TypeFlags)
@@ -16553,8 +15589,8 @@ func rewriteValue386_OpRsh8x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x8 x y)
@@ -16567,8 +15603,7 @@ func rewriteValue386_OpRsh8x8(v *Value) bool {
break
}
v.reset(Op386SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -16588,8 +15623,7 @@ func rewriteValue386_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt32
v0 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -16610,8 +15644,7 @@ func rewriteValue386_OpSelect1(v *Value) bool {
v.reset(Op386SETO)
v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v1 := b.NewValue0(v.Pos, Op386MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -16662,9 +15695,7 @@ func rewriteValue386_OpStore(v *Value) bool {
break
}
v.reset(Op386MOVSDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -16679,9 +15710,7 @@ func rewriteValue386_OpStore(v *Value) bool {
break
}
v.reset(Op386MOVSSstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -16696,9 +15725,7 @@ func rewriteValue386_OpStore(v *Value) bool {
break
}
v.reset(Op386MOVLstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -16713,9 +15740,7 @@ func rewriteValue386_OpStore(v *Value) bool {
break
}
v.reset(Op386MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -16730,9 +15755,7 @@ func rewriteValue386_OpStore(v *Value) bool {
break
}
v.reset(Op386MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -16765,8 +15788,7 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVBstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [2] destptr mem)
@@ -16779,8 +15801,7 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVWstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [4] destptr mem)
@@ -16793,8 +15814,7 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVLstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [3] destptr mem)
@@ -16807,12 +15827,10 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVBstoreconst)
v.AuxInt = makeValAndOff(0, 2)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVWstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [5] destptr mem)
@@ -16825,12 +15843,10 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVBstoreconst)
v.AuxInt = makeValAndOff(0, 4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [6] destptr mem)
@@ -16843,12 +15859,10 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVWstoreconst)
v.AuxInt = makeValAndOff(0, 4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [7] destptr mem)
@@ -16861,12 +15875,10 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(0, 3)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] destptr mem)
@@ -16884,12 +15896,10 @@ func rewriteValue386_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386ADDLconst, typ.UInt32)
v0.AuxInt = s % 4
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg2(destptr, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [8] destptr mem)
@@ -16902,12 +15912,10 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(0, 4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [12] destptr mem)
@@ -16920,16 +15928,13 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(0, 8)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = makeValAndOff(0, 4)
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(destptr, mem)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [16] destptr mem)
@@ -16942,20 +15947,16 @@ func rewriteValue386_OpZero(v *Value) bool {
mem := v_1
v.reset(Op386MOVLstoreconst)
v.AuxInt = makeValAndOff(0, 12)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v0.AuxInt = makeValAndOff(0, 8)
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v1.AuxInt = makeValAndOff(0, 4)
- v1.AddArg(destptr)
v2 := b.NewValue0(v.Pos, Op386MOVLstoreconst, types.TypeMem)
v2.AuxInt = 0
- v2.AddArg(destptr)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v2.AddArg2(destptr, mem)
+ v1.AddArg2(destptr, v2)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] destptr mem)
@@ -16970,11 +15971,9 @@ func rewriteValue386_OpZero(v *Value) bool {
}
v.reset(Op386DUFFZERO)
v.AuxInt = 1 * (128 - s/4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(destptr, v0, mem)
return true
}
// match: (Zero [s] destptr mem)
@@ -16988,14 +15987,11 @@ func rewriteValue386_OpZero(v *Value) bool {
break
}
v.reset(Op386REPSTOSL)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32)
v0.AuxInt = s / 4
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, Op386MOVLconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
- v.AddArg(mem)
+ v.AddArg4(destptr, v0, v1, mem)
return true
}
return false
@@ -17292,8 +16288,7 @@ func rewriteBlock386(b *Block) bool {
cond := b.Controls[0]
b.Reset(Block386NE)
v0 := b.NewValue0(cond.Pos, Op386TESTB, types.TypeFlags)
- v0.AddArg(cond)
- v0.AddArg(cond)
+ v0.AddArg2(cond, cond)
b.AddControl(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewrite386splitload.go b/src/cmd/compile/internal/ssa/rewrite386splitload.go
index cce1b2d05a..f82eae99ab 100644
--- a/src/cmd/compile/internal/ssa/rewrite386splitload.go
+++ b/src/cmd/compile/internal/ssa/rewrite386splitload.go
@@ -37,8 +37,7 @@ func rewriteValue386splitload_Op386CMPBconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -61,10 +60,8 @@ func rewriteValue386splitload_Op386CMPBload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVBload, typ.UInt8)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
@@ -85,8 +82,7 @@ func rewriteValue386splitload_Op386CMPLconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -109,10 +105,8 @@ func rewriteValue386splitload_Op386CMPLload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVLload, typ.UInt32)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
@@ -133,8 +127,7 @@ func rewriteValue386splitload_Op386CMPWconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -157,10 +150,8 @@ func rewriteValue386splitload_Op386CMPWload(v *Value) bool {
v0 := b.NewValue0(v.Pos, Op386MOVWload, typ.UInt16)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go
index c0329c1528..566a7aaf66 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go
@@ -1265,8 +1265,7 @@ func rewriteValueAMD64_OpAMD64ADCQ(v *Value) bool {
}
v.reset(OpAMD64ADCQconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(carry)
+ v.AddArg2(x, carry)
return true
}
break
@@ -1280,8 +1279,7 @@ func rewriteValueAMD64_OpAMD64ADCQ(v *Value) bool {
break
}
v.reset(OpAMD64ADDQcarry)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -1407,8 +1405,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAL8)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1423,8 +1420,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAL4)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1439,8 +1435,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1458,8 +1453,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
continue
}
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1481,8 +1475,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
}
y := v_1_1
v.reset(OpAMD64LEAL2)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1500,8 +1493,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
y := v_1
v.reset(OpAMD64LEAL1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1524,8 +1516,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
v.reset(OpAMD64LEAL1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1540,8 +1531,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64SUBL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1566,9 +1556,7 @@ func rewriteValueAMD64_OpAMD64ADDL(v *Value) bool {
v.reset(OpAMD64ADDLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -1588,8 +1576,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
x := v_0.Args[0]
v.reset(OpAMD64LEAL1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (SHLLconst [1] x))
@@ -1602,8 +1589,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
x := v_0.Args[0]
v.reset(OpAMD64LEAL1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (ADDLconst [c] (LEAL [d] {s} x))
@@ -1644,8 +1630,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
v.reset(OpAMD64LEAL1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL2 [d] {s} x y))
@@ -1666,8 +1651,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
v.reset(OpAMD64LEAL2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL4 [d] {s} x y))
@@ -1688,8 +1672,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
v.reset(OpAMD64LEAL4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] (LEAL8 [d] {s} x y))
@@ -1710,8 +1693,7 @@ func rewriteValueAMD64_OpAMD64ADDLconst(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDLconst [c] x)
@@ -1790,8 +1772,7 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify(v *Value) bool {
v.reset(OpAMD64ADDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ADDLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -1813,8 +1794,7 @@ func rewriteValueAMD64_OpAMD64ADDLconstmodify(v *Value) bool {
v.reset(OpAMD64ADDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -1844,9 +1824,7 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool {
v.reset(OpAMD64ADDLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -1869,9 +1847,7 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool {
v.reset(OpAMD64ADDLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _))
@@ -1890,10 +1866,9 @@ func rewriteValueAMD64_OpAMD64ADDLload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ADDL)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -1921,9 +1896,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify(v *Value) bool {
v.reset(OpAMD64ADDLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ADDLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -1946,9 +1919,7 @@ func rewriteValueAMD64_OpAMD64ADDLmodify(v *Value) bool {
v.reset(OpAMD64ADDLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2030,8 +2001,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAQ8)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2046,8 +2016,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAQ4)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2062,8 +2031,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2081,8 +2049,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
continue
}
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2104,8 +2071,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
}
y := v_1_1
v.reset(OpAMD64LEAQ2)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -2123,8 +2089,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
y := v_1
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2147,8 +2112,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2163,8 +2127,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64SUBQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2189,9 +2152,7 @@ func rewriteValueAMD64_OpAMD64ADDQ(v *Value) bool {
v.reset(OpAMD64ADDQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -2236,8 +2197,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
x := v_0.Args[0]
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDQconst [c] (SHLQconst [1] x))
@@ -2250,8 +2210,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
x := v_0.Args[0]
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (ADDQconst [c] (LEAQ [d] {s} x))
@@ -2292,8 +2251,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDQconst [c] (LEAQ2 [d] {s} x y))
@@ -2314,8 +2272,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDQconst [c] (LEAQ4 [d] {s} x y))
@@ -2336,8 +2293,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDQconst [c] (LEAQ8 [d] {s} x y))
@@ -2358,8 +2314,7 @@ func rewriteValueAMD64_OpAMD64ADDQconst(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDQconst [0] x)
@@ -2440,8 +2395,7 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify(v *Value) bool {
v.reset(OpAMD64ADDQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ADDQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -2463,8 +2417,7 @@ func rewriteValueAMD64_OpAMD64ADDQconstmodify(v *Value) bool {
v.reset(OpAMD64ADDQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2494,9 +2447,7 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool {
v.reset(OpAMD64ADDQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -2519,9 +2470,7 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool {
v.reset(OpAMD64ADDQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _))
@@ -2540,10 +2489,9 @@ func rewriteValueAMD64_OpAMD64ADDQload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ADDQ)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -2571,9 +2519,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify(v *Value) bool {
v.reset(OpAMD64ADDQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ADDQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -2596,9 +2542,7 @@ func rewriteValueAMD64_OpAMD64ADDQmodify(v *Value) bool {
v.reset(OpAMD64ADDQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2626,9 +2570,7 @@ func rewriteValueAMD64_OpAMD64ADDSD(v *Value) bool {
v.reset(OpAMD64ADDSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -2660,9 +2602,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool {
v.reset(OpAMD64ADDSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -2685,9 +2625,7 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool {
v.reset(OpAMD64ADDSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _))
@@ -2706,10 +2644,9 @@ func rewriteValueAMD64_OpAMD64ADDSDload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ADDSD)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -2737,9 +2674,7 @@ func rewriteValueAMD64_OpAMD64ADDSS(v *Value) bool {
v.reset(OpAMD64ADDSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -2771,9 +2706,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool {
v.reset(OpAMD64ADDSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -2796,9 +2729,7 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool {
v.reset(OpAMD64ADDSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ADDSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _))
@@ -2817,10 +2748,9 @@ func rewriteValueAMD64_OpAMD64ADDSSload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ADDSS)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -2846,8 +2776,7 @@ func rewriteValueAMD64_OpAMD64ANDL(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2920,9 +2849,7 @@ func rewriteValueAMD64_OpAMD64ANDL(v *Value) bool {
v.reset(OpAMD64ANDLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -3056,8 +2983,7 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify(v *Value) bool {
v.reset(OpAMD64ANDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ANDLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -3079,8 +3005,7 @@ func rewriteValueAMD64_OpAMD64ANDLconstmodify(v *Value) bool {
v.reset(OpAMD64ANDLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -3110,9 +3035,7 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool {
v.reset(OpAMD64ANDLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -3135,9 +3058,7 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool {
v.reset(OpAMD64ANDLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _))
@@ -3156,10 +3077,9 @@ func rewriteValueAMD64_OpAMD64ANDLload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ANDL)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -3187,9 +3107,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify(v *Value) bool {
v.reset(OpAMD64ANDLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ANDLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -3212,9 +3130,7 @@ func rewriteValueAMD64_OpAMD64ANDLmodify(v *Value) bool {
v.reset(OpAMD64ANDLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -3240,8 +3156,7 @@ func rewriteValueAMD64_OpAMD64ANDQ(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3318,9 +3233,7 @@ func rewriteValueAMD64_OpAMD64ANDQ(v *Value) bool {
v.reset(OpAMD64ANDQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -3461,8 +3374,7 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify(v *Value) bool {
v.reset(OpAMD64ANDQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ANDQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -3484,8 +3396,7 @@ func rewriteValueAMD64_OpAMD64ANDQconstmodify(v *Value) bool {
v.reset(OpAMD64ANDQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -3515,9 +3426,7 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool {
v.reset(OpAMD64ANDQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -3540,9 +3449,7 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool {
v.reset(OpAMD64ANDQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ANDQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _))
@@ -3561,10 +3468,9 @@ func rewriteValueAMD64_OpAMD64ANDQload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ANDQ)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -3592,9 +3498,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify(v *Value) bool {
v.reset(OpAMD64ANDQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ANDQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -3617,9 +3521,7 @@ func rewriteValueAMD64_OpAMD64ANDQmodify(v *Value) bool {
v.reset(OpAMD64ANDQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -3738,8 +3640,7 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify(v *Value) bool {
v.reset(OpAMD64BTCLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTCLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -3761,8 +3662,7 @@ func rewriteValueAMD64_OpAMD64BTCLconstmodify(v *Value) bool {
v.reset(OpAMD64BTCLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -3790,9 +3690,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify(v *Value) bool {
v.reset(OpAMD64BTCLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTCLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -3815,9 +3713,7 @@ func rewriteValueAMD64_OpAMD64BTCLmodify(v *Value) bool {
v.reset(OpAMD64BTCLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -3887,8 +3783,7 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify(v *Value) bool {
v.reset(OpAMD64BTCQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTCQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -3910,8 +3805,7 @@ func rewriteValueAMD64_OpAMD64BTCQconstmodify(v *Value) bool {
v.reset(OpAMD64BTCQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -3939,9 +3833,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify(v *Value) bool {
v.reset(OpAMD64BTCQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTCQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -3964,9 +3856,7 @@ func rewriteValueAMD64_OpAMD64BTCQmodify(v *Value) bool {
v.reset(OpAMD64BTCQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -4022,8 +3912,7 @@ func rewriteValueAMD64_OpAMD64BTLconst(v *Value) bool {
y := s.Args[1]
x := s.Args[0]
v.reset(OpAMD64BTQ)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
// match: (BTLconst [c] (SHRLconst [d] x))
@@ -4075,8 +3964,7 @@ func rewriteValueAMD64_OpAMD64BTLconst(v *Value) bool {
y := s.Args[1]
x := s.Args[0]
v.reset(OpAMD64BTL)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -4132,8 +4020,7 @@ func rewriteValueAMD64_OpAMD64BTQconst(v *Value) bool {
y := s.Args[1]
x := s.Args[0]
v.reset(OpAMD64BTQ)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -4229,8 +4116,7 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify(v *Value) bool {
v.reset(OpAMD64BTRLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTRLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -4252,8 +4138,7 @@ func rewriteValueAMD64_OpAMD64BTRLconstmodify(v *Value) bool {
v.reset(OpAMD64BTRLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -4281,9 +4166,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify(v *Value) bool {
v.reset(OpAMD64BTRLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTRLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -4306,9 +4189,7 @@ func rewriteValueAMD64_OpAMD64BTRLmodify(v *Value) bool {
v.reset(OpAMD64BTRLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -4404,8 +4285,7 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify(v *Value) bool {
v.reset(OpAMD64BTRQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTRQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -4427,8 +4307,7 @@ func rewriteValueAMD64_OpAMD64BTRQconstmodify(v *Value) bool {
v.reset(OpAMD64BTRQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -4456,9 +4335,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify(v *Value) bool {
v.reset(OpAMD64BTRQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTRQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -4481,9 +4358,7 @@ func rewriteValueAMD64_OpAMD64BTRQmodify(v *Value) bool {
v.reset(OpAMD64BTRQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -4579,8 +4454,7 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify(v *Value) bool {
v.reset(OpAMD64BTSLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTSLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -4602,8 +4476,7 @@ func rewriteValueAMD64_OpAMD64BTSLconstmodify(v *Value) bool {
v.reset(OpAMD64BTSLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -4631,9 +4504,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify(v *Value) bool {
v.reset(OpAMD64BTSLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTSLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -4656,9 +4527,7 @@ func rewriteValueAMD64_OpAMD64BTSLmodify(v *Value) bool {
v.reset(OpAMD64BTSLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -4754,8 +4623,7 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify(v *Value) bool {
v.reset(OpAMD64BTSQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (BTSQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -4777,8 +4645,7 @@ func rewriteValueAMD64_OpAMD64BTSQconstmodify(v *Value) bool {
v.reset(OpAMD64BTSQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -4806,9 +4673,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify(v *Value) bool {
v.reset(OpAMD64BTSQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (BTSQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -4831,9 +4696,7 @@ func rewriteValueAMD64_OpAMD64BTSQmodify(v *Value) bool {
v.reset(OpAMD64BTSQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -4852,9 +4715,7 @@ func rewriteValueAMD64_OpAMD64CMOVLCC(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLLS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLCC _ x (FlagEQ))
@@ -4933,9 +4794,7 @@ func rewriteValueAMD64_OpAMD64CMOVLCS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLHI)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLCS y _ (FlagEQ))
@@ -5014,9 +4873,7 @@ func rewriteValueAMD64_OpAMD64CMOVLEQ(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLEQ)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLEQ _ x (FlagEQ))
@@ -5095,9 +4952,7 @@ func rewriteValueAMD64_OpAMD64CMOVLGE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLLE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLGE _ x (FlagEQ))
@@ -5176,9 +5031,7 @@ func rewriteValueAMD64_OpAMD64CMOVLGT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLLT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLGT y _ (FlagEQ))
@@ -5257,9 +5110,7 @@ func rewriteValueAMD64_OpAMD64CMOVLHI(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLCS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLHI y _ (FlagEQ))
@@ -5338,9 +5189,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLGE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLLE _ x (FlagEQ))
@@ -5419,9 +5268,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLCC)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLLS _ x (FlagEQ))
@@ -5500,9 +5347,7 @@ func rewriteValueAMD64_OpAMD64CMOVLLT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLGT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLLT y _ (FlagEQ))
@@ -5581,9 +5426,7 @@ func rewriteValueAMD64_OpAMD64CMOVLNE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVLNE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVLNE y _ (FlagEQ))
@@ -5662,9 +5505,7 @@ func rewriteValueAMD64_OpAMD64CMOVQCC(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQLS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQCC _ x (FlagEQ))
@@ -5743,9 +5584,7 @@ func rewriteValueAMD64_OpAMD64CMOVQCS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQHI)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQCS y _ (FlagEQ))
@@ -5824,9 +5663,7 @@ func rewriteValueAMD64_OpAMD64CMOVQEQ(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQEQ)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQEQ _ x (FlagEQ))
@@ -5930,9 +5767,7 @@ func rewriteValueAMD64_OpAMD64CMOVQGE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQLE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQGE _ x (FlagEQ))
@@ -6011,9 +5846,7 @@ func rewriteValueAMD64_OpAMD64CMOVQGT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQLT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQGT y _ (FlagEQ))
@@ -6092,9 +5925,7 @@ func rewriteValueAMD64_OpAMD64CMOVQHI(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQCS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQHI y _ (FlagEQ))
@@ -6173,9 +6004,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQGE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQLE _ x (FlagEQ))
@@ -6254,9 +6083,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQCC)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQLS _ x (FlagEQ))
@@ -6335,9 +6162,7 @@ func rewriteValueAMD64_OpAMD64CMOVQLT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQGT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQLT y _ (FlagEQ))
@@ -6416,9 +6241,7 @@ func rewriteValueAMD64_OpAMD64CMOVQNE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVQNE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVQNE y _ (FlagEQ))
@@ -6497,9 +6320,7 @@ func rewriteValueAMD64_OpAMD64CMOVWCC(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWLS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWCC _ x (FlagEQ))
@@ -6578,9 +6399,7 @@ func rewriteValueAMD64_OpAMD64CMOVWCS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWHI)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWCS y _ (FlagEQ))
@@ -6659,9 +6478,7 @@ func rewriteValueAMD64_OpAMD64CMOVWEQ(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWEQ)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWEQ _ x (FlagEQ))
@@ -6740,9 +6557,7 @@ func rewriteValueAMD64_OpAMD64CMOVWGE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWLE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWGE _ x (FlagEQ))
@@ -6821,9 +6636,7 @@ func rewriteValueAMD64_OpAMD64CMOVWGT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWLT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWGT y _ (FlagEQ))
@@ -6902,9 +6715,7 @@ func rewriteValueAMD64_OpAMD64CMOVWHI(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWCS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWHI y _ (FlagEQ))
@@ -6983,9 +6794,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWGE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWLE _ x (FlagEQ))
@@ -7064,9 +6873,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLS(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWCC)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWLS _ x (FlagEQ))
@@ -7145,9 +6952,7 @@ func rewriteValueAMD64_OpAMD64CMOVWLT(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWGT)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWLT y _ (FlagEQ))
@@ -7226,9 +7031,7 @@ func rewriteValueAMD64_OpAMD64CMOVWNE(v *Value) bool {
}
cond := v_2.Args[0]
v.reset(OpAMD64CMOVWNE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cond)
+ v.AddArg3(x, y, cond)
return true
}
// match: (CMOVWNE y _ (FlagEQ))
@@ -7336,8 +7139,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool {
}
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -7360,9 +7162,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool {
v.reset(OpAMD64CMPBload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPB x l:(MOVBload {sym} [off] ptr mem))
@@ -7385,9 +7185,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value) bool {
v0 := b.NewValue0(l.Pos, OpAMD64CMPBload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -7495,8 +7293,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpAMD64TESTB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPBconst (ANDLconst [c] x) [0])
@@ -7520,8 +7317,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64TESTB)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPBconst l:(MOVBload {sym} [off] ptr mem) [c])
@@ -7546,8 +7342,7 @@ func rewriteValueAMD64_OpAMD64CMPBconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -7573,8 +7368,7 @@ func rewriteValueAMD64_OpAMD64CMPBconstload(v *Value) bool {
v.reset(OpAMD64CMPBconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (CMPBconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -7596,8 +7390,7 @@ func rewriteValueAMD64_OpAMD64CMPBconstload(v *Value) bool {
v.reset(OpAMD64CMPBconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -7625,9 +7418,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool {
v.reset(OpAMD64CMPBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPBload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -7650,9 +7441,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool {
v.reset(OpAMD64CMPBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPBload {sym} [off] ptr (MOVLconst [c]) mem)
@@ -7673,8 +7462,7 @@ func rewriteValueAMD64_OpAMD64CMPBload(v *Value) bool {
v.reset(OpAMD64CMPBconstload)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -7722,8 +7510,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool {
}
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -7746,9 +7533,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool {
v.reset(OpAMD64CMPLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPL x l:(MOVLload {sym} [off] ptr mem))
@@ -7771,9 +7556,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value) bool {
v0 := b.NewValue0(l.Pos, OpAMD64CMPLload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -7896,8 +7679,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpAMD64TESTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPLconst (ANDLconst [c] x) [0])
@@ -7921,8 +7703,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64TESTL)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPLconst l:(MOVLload {sym} [off] ptr mem) [c])
@@ -7947,8 +7728,7 @@ func rewriteValueAMD64_OpAMD64CMPLconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -7974,8 +7754,7 @@ func rewriteValueAMD64_OpAMD64CMPLconstload(v *Value) bool {
v.reset(OpAMD64CMPLconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (CMPLconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -7997,8 +7776,7 @@ func rewriteValueAMD64_OpAMD64CMPLconstload(v *Value) bool {
v.reset(OpAMD64CMPLconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -8026,9 +7804,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool {
v.reset(OpAMD64CMPLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPLload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -8051,9 +7827,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool {
v.reset(OpAMD64CMPLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPLload {sym} [off] ptr (MOVLconst [c]) mem)
@@ -8074,8 +7848,7 @@ func rewriteValueAMD64_OpAMD64CMPLload(v *Value) bool {
v.reset(OpAMD64CMPLconstload)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -8131,8 +7904,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool {
}
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -8245,9 +8017,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool {
v.reset(OpAMD64CMPQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPQ x l:(MOVQload {sym} [off] ptr mem))
@@ -8270,9 +8040,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value) bool {
v0 := b.NewValue0(l.Pos, OpAMD64CMPQload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -8477,8 +8245,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpAMD64TESTQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPQconst (ANDQconst [c] x) [0])
@@ -8502,8 +8269,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64TESTQ)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPQconst l:(MOVQload {sym} [off] ptr mem) [c])
@@ -8528,8 +8294,7 @@ func rewriteValueAMD64_OpAMD64CMPQconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -8555,8 +8320,7 @@ func rewriteValueAMD64_OpAMD64CMPQconstload(v *Value) bool {
v.reset(OpAMD64CMPQconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (CMPQconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -8578,8 +8342,7 @@ func rewriteValueAMD64_OpAMD64CMPQconstload(v *Value) bool {
v.reset(OpAMD64CMPQconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -8607,9 +8370,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool {
v.reset(OpAMD64CMPQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPQload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -8632,9 +8393,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool {
v.reset(OpAMD64CMPQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPQload {sym} [off] ptr (MOVQconst [c]) mem)
@@ -8655,8 +8414,7 @@ func rewriteValueAMD64_OpAMD64CMPQload(v *Value) bool {
v.reset(OpAMD64CMPQconstload)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -8704,8 +8462,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool {
}
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -8728,9 +8485,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool {
v.reset(OpAMD64CMPWload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (CMPW x l:(MOVWload {sym} [off] ptr mem))
@@ -8753,9 +8508,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value) bool {
v0 := b.NewValue0(l.Pos, OpAMD64CMPWload, types.TypeFlags)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(x)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, x, mem)
v.AddArg(v0)
return true
}
@@ -8863,8 +8616,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpAMD64TESTW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWconst (ANDLconst [c] x) [0])
@@ -8888,8 +8640,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64TESTW)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (CMPWconst l:(MOVWload {sym} [off] ptr mem) [c])
@@ -8914,8 +8665,7 @@ func rewriteValueAMD64_OpAMD64CMPWconst(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(c, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -8941,8 +8691,7 @@ func rewriteValueAMD64_OpAMD64CMPWconstload(v *Value) bool {
v.reset(OpAMD64CMPWconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (CMPWconstload [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -8964,8 +8713,7 @@ func rewriteValueAMD64_OpAMD64CMPWconstload(v *Value) bool {
v.reset(OpAMD64CMPWconstload)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -8993,9 +8741,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool {
v.reset(OpAMD64CMPWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPWload [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -9018,9 +8764,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool {
v.reset(OpAMD64CMPWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (CMPWload {sym} [off] ptr (MOVLconst [c]) mem)
@@ -9041,8 +8785,7 @@ func rewriteValueAMD64_OpAMD64CMPWload(v *Value) bool {
v.reset(OpAMD64CMPWconstload)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -9072,10 +8815,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGLlock(v *Value) bool {
v.reset(OpAMD64CMPXCHGLlock)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(old)
- v.AddArg(new_)
- v.AddArg(mem)
+ v.AddArg4(ptr, old, new_, mem)
return true
}
return false
@@ -9105,10 +8845,7 @@ func rewriteValueAMD64_OpAMD64CMPXCHGQlock(v *Value) bool {
v.reset(OpAMD64CMPXCHGQlock)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(old)
- v.AddArg(new_)
- v.AddArg(mem)
+ v.AddArg4(ptr, old, new_, mem)
return true
}
return false
@@ -9135,9 +8872,7 @@ func rewriteValueAMD64_OpAMD64DIVSD(v *Value) bool {
v.reset(OpAMD64DIVSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -9165,9 +8900,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload(v *Value) bool {
v.reset(OpAMD64DIVSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (DIVSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -9190,9 +8923,7 @@ func rewriteValueAMD64_OpAMD64DIVSDload(v *Value) bool {
v.reset(OpAMD64DIVSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -9219,9 +8950,7 @@ func rewriteValueAMD64_OpAMD64DIVSS(v *Value) bool {
v.reset(OpAMD64DIVSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -9249,9 +8978,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload(v *Value) bool {
v.reset(OpAMD64DIVSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (DIVSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -9274,9 +9001,7 @@ func rewriteValueAMD64_OpAMD64DIVSSload(v *Value) bool {
v.reset(OpAMD64DIVSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
return false
@@ -9294,8 +9019,7 @@ func rewriteValueAMD64_OpAMD64HMULL(v *Value) bool {
break
}
v.reset(OpAMD64HMULL)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -9313,8 +9037,7 @@ func rewriteValueAMD64_OpAMD64HMULLU(v *Value) bool {
break
}
v.reset(OpAMD64HMULLU)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -9332,8 +9055,7 @@ func rewriteValueAMD64_OpAMD64HMULQ(v *Value) bool {
break
}
v.reset(OpAMD64HMULQ)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -9351,8 +9073,7 @@ func rewriteValueAMD64_OpAMD64HMULQU(v *Value) bool {
break
}
v.reset(OpAMD64HMULQU)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -9400,8 +9121,7 @@ func rewriteValueAMD64_OpAMD64LEAL(v *Value) bool {
v.reset(OpAMD64LEAL1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9430,8 +9150,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool {
v.reset(OpAMD64LEAL1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9450,8 +9169,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool {
v.reset(OpAMD64LEAL2)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9470,8 +9188,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool {
v.reset(OpAMD64LEAL4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9490,8 +9207,7 @@ func rewriteValueAMD64_OpAMD64LEAL1(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9519,8 +9235,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool {
v.reset(OpAMD64LEAL2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (ADDLconst [d] y))
@@ -9541,8 +9256,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool {
v.reset(OpAMD64LEAL2)
v.AuxInt = c + 2*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (SHLLconst [1] y))
@@ -9558,8 +9272,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool {
v.reset(OpAMD64LEAL4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL2 [c] {s} x (SHLLconst [2] y))
@@ -9575,8 +9288,7 @@ func rewriteValueAMD64_OpAMD64LEAL2(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9602,8 +9314,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool {
v.reset(OpAMD64LEAL4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL4 [c] {s} x (ADDLconst [d] y))
@@ -9624,8 +9335,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool {
v.reset(OpAMD64LEAL4)
v.AuxInt = c + 4*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL4 [c] {s} x (SHLLconst [1] y))
@@ -9641,8 +9351,7 @@ func rewriteValueAMD64_OpAMD64LEAL4(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9668,8 +9377,7 @@ func rewriteValueAMD64_OpAMD64LEAL8(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAL8 [c] {s} x (ADDLconst [d] y))
@@ -9690,8 +9398,7 @@ func rewriteValueAMD64_OpAMD64LEAL8(v *Value) bool {
v.reset(OpAMD64LEAL8)
v.AuxInt = c + 8*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9739,8 +9446,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9785,8 +9491,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ [off1] {sym1} (LEAQ2 [off2] {sym2} x y))
@@ -9808,8 +9513,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ [off1] {sym1} (LEAQ4 [off2] {sym2} x y))
@@ -9831,8 +9535,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ [off1] {sym1} (LEAQ8 [off2] {sym2} x y))
@@ -9854,8 +9557,7 @@ func rewriteValueAMD64_OpAMD64LEAQ(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9882,8 +9584,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9902,8 +9603,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9922,8 +9622,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9942,8 +9641,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9968,8 +9666,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
v.reset(OpAMD64LEAQ1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9987,8 +9684,7 @@ func rewriteValueAMD64_OpAMD64LEAQ1(v *Value) bool {
break
}
v.reset(OpAMD64ADDQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10014,8 +9710,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ2 [c] {s} x (ADDQconst [d] y))
@@ -10036,8 +9731,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = c + 2*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ2 [c] {s} x (SHLQconst [1] y))
@@ -10053,8 +9747,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ2 [c] {s} x (SHLQconst [2] y))
@@ -10070,8 +9763,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ2 [off1] {sym1} (LEAQ [off2] {sym2} x) y)
@@ -10093,8 +9785,7 @@ func rewriteValueAMD64_OpAMD64LEAQ2(v *Value) bool {
v.reset(OpAMD64LEAQ2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10120,8 +9811,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ4 [c] {s} x (ADDQconst [d] y))
@@ -10142,8 +9832,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = c + 4*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ4 [c] {s} x (SHLQconst [1] y))
@@ -10159,8 +9848,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ4 [off1] {sym1} (LEAQ [off2] {sym2} x) y)
@@ -10182,8 +9870,7 @@ func rewriteValueAMD64_OpAMD64LEAQ4(v *Value) bool {
v.reset(OpAMD64LEAQ4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10209,8 +9896,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ8 [c] {s} x (ADDQconst [d] y))
@@ -10231,8 +9917,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = c + 8*d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (LEAQ8 [off1] {sym1} (LEAQ [off2] {sym2} x) y)
@@ -10254,8 +9939,7 @@ func rewriteValueAMD64_OpAMD64LEAQ8(v *Value) bool {
v.reset(OpAMD64LEAQ8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10284,8 +9968,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQSX x:(MOVWload [off] {sym} ptr mem))
@@ -10309,8 +9992,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQSX x:(MOVLload [off] {sym} ptr mem))
@@ -10334,8 +10016,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQSX x:(MOVQload [off] {sym} ptr mem))
@@ -10359,8 +10040,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQSX (ANDLconst [c] x))
@@ -10437,8 +10117,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSXload(v *Value) bool {
v.reset(OpAMD64MOVBQSXload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -10467,8 +10146,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQZX x:(MOVWload [off] {sym} ptr mem))
@@ -10492,8 +10170,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQZX x:(MOVLload [off] {sym} ptr mem))
@@ -10517,8 +10194,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQZX x:(MOVQload [off] {sym} ptr mem))
@@ -10542,8 +10218,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBQZX x)
@@ -10581,9 +10256,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBQZX (ANDLconst [c] x))
@@ -10633,8 +10306,7 @@ func rewriteValueAMD64_OpAMD64MOVBatomicload(v *Value) bool {
v.reset(OpAMD64MOVBatomicload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem)
@@ -10656,8 +10328,7 @@ func rewriteValueAMD64_OpAMD64MOVBatomicload(v *Value) bool {
v.reset(OpAMD64MOVBatomicload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -10705,8 +10376,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -10728,8 +10398,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -10752,9 +10421,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBload [off] {sym} (ADDQ ptr idx) mem)
@@ -10779,9 +10446,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10805,8 +10470,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBload [off1] {sym} (ADDLconst [off2] ptr) mem)
@@ -10827,8 +10491,7 @@ func rewriteValueAMD64_OpAMD64MOVBload(v *Value) bool {
v.reset(OpAMD64MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off] {sym} (SB) _)
@@ -10870,9 +10533,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool {
v.reset(OpAMD64MOVBloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10897,9 +10558,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool {
v.reset(OpAMD64MOVBloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10923,8 +10582,7 @@ func rewriteValueAMD64_OpAMD64MOVBloadidx1(v *Value) bool {
v.reset(OpAMD64MOVBload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
break
@@ -10956,9 +10614,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETLstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETLE x) mem)
@@ -10980,9 +10636,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETLEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETG x) mem)
@@ -11004,9 +10658,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETGstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETGE x) mem)
@@ -11028,9 +10680,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETGEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETEQ x) mem)
@@ -11052,9 +10702,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETNE x) mem)
@@ -11076,9 +10724,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETB x) mem)
@@ -11100,9 +10746,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETBE x) mem)
@@ -11124,9 +10768,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETBEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETA x) mem)
@@ -11148,9 +10790,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETAstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr y:(SETAE x) mem)
@@ -11172,9 +10812,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBQSX x) mem)
@@ -11191,9 +10829,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBQZX x) mem)
@@ -11210,9 +10846,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off1] {sym} (ADDQconst [off2] ptr) val mem)
@@ -11234,9 +10868,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -11257,8 +10889,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVQconst [c]) mem)
@@ -11279,8 +10910,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -11303,9 +10933,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -11329,10 +10957,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVBstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -11358,10 +10983,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -11389,12 +11011,10 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x0.Pos, OpAMD64ROLWconst, w.Type)
v0.AuxInt = 8
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [i] {s} p w x2:(MOVBstore [i-1] {s} p (SHRLconst [8] w) x1:(MOVBstore [i-2] {s} p (SHRLconst [16] w) x0:(MOVBstore [i-3] {s} p (SHRLconst [24] w) mem))))
@@ -11444,11 +11064,9 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 3
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x0.Pos, OpAMD64BSWAPL, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [i] {s} p w x6:(MOVBstore [i-1] {s} p (SHRQconst [8] w) x5:(MOVBstore [i-2] {s} p (SHRQconst [16] w) x4:(MOVBstore [i-3] {s} p (SHRQconst [24] w) x3:(MOVBstore [i-4] {s} p (SHRQconst [32] w) x2:(MOVBstore [i-5] {s} p (SHRQconst [40] w) x1:(MOVBstore [i-6] {s} p (SHRQconst [48] w) x0:(MOVBstore [i-7] {s} p (SHRQconst [56] w) mem))))))))
@@ -11546,11 +11164,9 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i - 7
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x0.Pos, OpAMD64BSWAPQ, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRWconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -11575,9 +11191,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRLconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -11602,9 +11216,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRQconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -11629,9 +11241,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRWconst [8] w) mem))
@@ -11657,9 +11267,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRLconst [8] w) mem))
@@ -11685,9 +11293,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore [i+1] {s} p (SHRQconst [8] w) mem))
@@ -11713,9 +11319,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRLconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRLconst [j-8] w) mem))
@@ -11745,9 +11349,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVBstore [i] {s} p (SHRQconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SHRQconst [j-8] w) mem))
@@ -11777,9 +11379,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVBstore [i] {s} p x1:(MOVBload [j] {s2} p2 mem) mem2:(MOVBstore [i-1] {s} p x2:(MOVBload [j-1] {s2} p2 mem) mem))
@@ -11816,14 +11416,11 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x2.Pos, OpAMD64MOVWload, typ.UInt16)
v0.AuxInt = j - 1
v0.Aux = s2
- v0.AddArg(p2)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(p2, mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -11846,9 +11443,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVBstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -11870,9 +11465,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -11898,8 +11491,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem)
@@ -11921,8 +11513,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem)
@@ -11945,9 +11536,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconst [x] {sym} (ADDQ ptr idx) mem)
@@ -11964,9 +11553,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem))
@@ -11991,8 +11578,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVBstoreconst [a] {s} p x:(MOVBstoreconst [c] {s} p mem))
@@ -12017,8 +11603,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVBstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -12040,8 +11625,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [sc] {s} (ADDLconst [off] ptr) mem)
@@ -12062,8 +11646,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconst(v *Value) bool {
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -12092,9 +11675,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -12119,9 +11700,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -12153,9 +11732,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xff|ValAndOff(c).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(i)
- v.AddArg(mem)
+ v.AddArg3(p, i, mem)
return true
}
}
@@ -12190,10 +11767,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVBstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -12219,10 +11793,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVBstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -12255,13 +11826,10 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpAMD64ROLWconst, w.Type)
v0.AuxInt = 8
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, v0, mem)
return true
}
}
@@ -12325,12 +11893,9 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 3
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpAMD64BSWAPL, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, v0, mem)
return true
}
}
@@ -12456,12 +12021,9 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = i - 7
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpAMD64BSWAPQ, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, v0, mem)
return true
}
}
@@ -12500,10 +12062,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -12536,10 +12095,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -12572,10 +12128,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -12613,10 +12166,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -12654,10 +12204,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -12683,9 +12230,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
break
@@ -12709,9 +12254,7 @@ func rewriteValueAMD64_OpAMD64MOVBstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -12740,8 +12283,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVLQSX x:(MOVQload [off] {sym} ptr mem))
@@ -12765,8 +12307,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVLQSX (ANDLconst [c] x))
@@ -12865,8 +12406,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSXload(v *Value) bool {
v.reset(OpAMD64MOVLQSXload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -12895,8 +12435,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVLQZX x:(MOVQload [off] {sym} ptr mem))
@@ -12920,8 +12459,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVLQZX x)
@@ -12959,9 +12497,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLQZX x:(MOVLloadidx4 [off] {sym} ptr idx mem))
@@ -12986,9 +12522,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLQZX (ANDLconst [c] x))
@@ -13060,8 +12594,7 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload(v *Value) bool {
v.reset(OpAMD64MOVLatomicload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem)
@@ -13083,8 +12616,7 @@ func rewriteValueAMD64_OpAMD64MOVLatomicload(v *Value) bool {
v.reset(OpAMD64MOVLatomicload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -13188,8 +12720,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -13211,8 +12742,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -13235,9 +12765,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) mem)
@@ -13260,9 +12788,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem)
@@ -13285,9 +12811,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLloadidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLload [off] {sym} (ADDQ ptr idx) mem)
@@ -13312,9 +12836,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -13338,8 +12860,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVLload [off1] {sym} (ADDLconst [off2] ptr) mem)
@@ -13360,8 +12881,7 @@ func rewriteValueAMD64_OpAMD64MOVLload(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLload [off] {sym} ptr (MOVSSstore [off] {sym} ptr val _))
@@ -13416,9 +12936,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool {
v.reset(OpAMD64MOVLloadidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -13438,9 +12956,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool {
v.reset(OpAMD64MOVLloadidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -13465,9 +12981,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool {
v.reset(OpAMD64MOVLloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -13492,9 +13006,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool {
v.reset(OpAMD64MOVLloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -13518,8 +13030,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx1(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
break
@@ -13549,9 +13060,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool {
v.reset(OpAMD64MOVLloadidx4)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLloadidx4 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -13573,9 +13082,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool {
v.reset(OpAMD64MOVLloadidx4)
v.AuxInt = c + 4*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLloadidx4 [i] {s} p (MOVQconst [c]) mem)
@@ -13596,8 +13103,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx4(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = i + 4*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -13625,9 +13131,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool {
v.reset(OpAMD64MOVLloadidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -13649,9 +13153,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool {
v.reset(OpAMD64MOVLloadidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLloadidx8 [i] {s} p (MOVQconst [c]) mem)
@@ -13672,8 +13174,7 @@ func rewriteValueAMD64_OpAMD64MOVLloadidx8(v *Value) bool {
v.reset(OpAMD64MOVLload)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -13698,9 +13199,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr (MOVLQZX x) mem)
@@ -13717,9 +13216,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore [off1] {sym} (ADDQconst [off2] ptr) val mem)
@@ -13741,9 +13238,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -13764,8 +13259,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr (MOVQconst [c]) mem)
@@ -13786,8 +13280,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -13810,9 +13303,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -13836,10 +13327,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) val mem)
@@ -13863,10 +13351,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem)
@@ -13890,10 +13375,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -13919,10 +13401,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -13949,9 +13428,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVLstore [i] {s} p (SHRQconst [j] w) x:(MOVLstore [i-4] {s} p w0:(SHRQconst [j-32] w) mem))
@@ -13981,9 +13458,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVLstore [i] {s} p x1:(MOVLload [j] {s2} p2 mem) mem2:(MOVLstore [i-4] {s} p x2:(MOVLload [j-4] {s2} p2 mem) mem))
@@ -14020,14 +13495,11 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x2.Pos, OpAMD64MOVQload, typ.UInt64)
v0.AuxInt = j - 4
v0.Aux = s2
- v0.AddArg(p2)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(p2, mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVLstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -14050,9 +13522,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVLstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -14074,9 +13544,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ADDLload x [off] {sym} ptr mem) mem)
@@ -14098,9 +13566,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ADDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ANDLload x [off] {sym} ptr mem) mem)
@@ -14122,9 +13588,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ANDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ORLload x [off] {sym} ptr mem) mem)
@@ -14146,9 +13610,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(XORLload x [off] {sym} ptr mem) mem)
@@ -14170,9 +13632,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64XORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ADDL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -14205,9 +13665,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ADDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -14235,9 +13693,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64SUBLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(ANDL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -14270,9 +13726,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ANDLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -14307,9 +13761,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -14344,9 +13796,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64XORLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -14374,9 +13824,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTCLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(BTRL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -14402,9 +13850,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTRLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore {sym} [off] ptr y:(BTSL l:(MOVLload [off] {sym} ptr mem) x) mem)
@@ -14430,9 +13876,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTSLmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(ADDLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14459,8 +13903,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ADDLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(ANDLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14487,8 +13930,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ANDLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(ORLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14515,8 +13957,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64ORLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(XORLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14543,8 +13984,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64XORLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(BTCLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14571,8 +14011,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTCLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(BTRLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14599,8 +14038,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTRLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr a:(BTSLconst [c] l:(MOVLload [off] {sym} ptr2 mem)) mem)
@@ -14627,8 +14065,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64BTSLconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstore [off] {sym} ptr (MOVLf2i val) mem)
@@ -14645,9 +14082,7 @@ func rewriteValueAMD64_OpAMD64MOVLstore(v *Value) bool {
v.reset(OpAMD64MOVSSstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -14675,8 +14110,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem)
@@ -14698,8 +14132,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem)
@@ -14722,9 +14155,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconst [x] {sym1} (LEAQ4 [off] {sym2} ptr idx) mem)
@@ -14747,9 +14178,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconst [x] {sym} (ADDQ ptr idx) mem)
@@ -14766,9 +14195,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconst [c] {s} p x:(MOVLstoreconst [a] {s} p mem))
@@ -14793,11 +14220,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = ValAndOff(a).Off()
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVLstoreconst [a] {s} p x:(MOVLstoreconst [c] {s} p mem))
@@ -14822,11 +14247,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = ValAndOff(a).Off()
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVLstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -14848,8 +14271,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVLstoreconst [sc] {s} (ADDLconst [off] ptr) mem)
@@ -14870,8 +14292,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -14897,9 +14318,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -14924,9 +14343,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -14951,9 +14368,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -14985,12 +14400,9 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = ValAndOff(a).Off()
v.Aux = s
- v.AddArg(p)
- v.AddArg(i)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(p, i, v0, mem)
return true
}
}
@@ -15023,9 +14435,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconstidx4 [x] {sym} ptr (ADDQconst [c] idx) mem)
@@ -15047,9 +14457,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(4 * c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVLstoreconstidx4 [c] {s} p i x:(MOVLstoreconstidx4 [a] {s} p i mem))
@@ -15075,15 +14483,12 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = ValAndOff(a).Off()
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type)
v0.AuxInt = 2
v0.AddArg(i)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v1.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
- v.AddArg(v1)
- v.AddArg(mem)
+ v.AddArg4(p, v0, v1, mem)
return true
}
return false
@@ -15109,10 +14514,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -15133,10 +14535,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -15162,10 +14561,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -15191,10 +14587,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -15226,10 +14619,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -15267,10 +14657,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -15296,9 +14683,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
break
@@ -15322,9 +14707,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -15355,10 +14738,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx4)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx4 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -15381,10 +14761,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx4)
v.AuxInt = c + 4*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx4 [i] {s} p idx (SHRQconst [32] w) x:(MOVLstoreidx4 [i-4] {s} p idx w mem))
@@ -15410,13 +14787,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
v0.AuxInt = 2
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w, mem)
return true
}
// match: (MOVLstoreidx4 [i] {s} p idx (SHRQconst [j] w) x:(MOVLstoreidx4 [i-4] {s} p idx w0:(SHRQconst [j-32] w) mem))
@@ -15447,13 +14821,10 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
v0.AuxInt = 2
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w0, mem)
return true
}
// match: (MOVLstoreidx4 [i] {s} p (MOVQconst [c]) w mem)
@@ -15475,9 +14846,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i + 4*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVLstoreidx4 [off] {s} ptr idx (MOVQconst [c]) mem)
@@ -15499,9 +14868,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = makeValAndOff(int64(int32(c)), off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -15531,10 +14898,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -15557,10 +14921,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVLstoreidx8 [i] {s} p (MOVQconst [c]) w mem)
@@ -15582,9 +14943,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -15610,8 +14969,7 @@ func rewriteValueAMD64_OpAMD64MOVOload(v *Value) bool {
v.reset(OpAMD64MOVOload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVOload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -15633,8 +14991,7 @@ func rewriteValueAMD64_OpAMD64MOVOload(v *Value) bool {
v.reset(OpAMD64MOVOload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -15665,9 +15022,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool {
v.reset(OpAMD64MOVOstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVOstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -15690,9 +15045,7 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool {
v.reset(OpAMD64MOVOstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVOstore [dstOff] {dstSym} ptr (MOVOload [srcOff] {srcSym} (SB) _) mem)
@@ -15719,19 +15072,15 @@ func rewriteValueAMD64_OpAMD64MOVOstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = dstOff + 8
v.Aux = dstSym
- v.AddArg(ptr)
v0 := b.NewValue0(v_1.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = int64(read64(srcSym, srcOff+8, config.ctxt.Arch.ByteOrder))
- v.AddArg(v0)
v1 := b.NewValue0(v_1.Pos, OpAMD64MOVQstore, types.TypeMem)
v1.AuxInt = dstOff
v1.Aux = dstSym
- v1.AddArg(ptr)
v2 := b.NewValue0(v_1.Pos, OpAMD64MOVQconst, typ.UInt64)
v2.AuxInt = int64(read64(srcSym, srcOff, config.ctxt.Arch.ByteOrder))
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
return false
@@ -15757,8 +15106,7 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload(v *Value) bool {
v.reset(OpAMD64MOVQatomicload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQatomicload [off1] {sym1} (LEAQ [off2] {sym2} ptr) mem)
@@ -15780,8 +15128,7 @@ func rewriteValueAMD64_OpAMD64MOVQatomicload(v *Value) bool {
v.reset(OpAMD64MOVQatomicload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -15886,8 +15233,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -15909,8 +15255,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVQload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -15933,9 +15278,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem)
@@ -15958,9 +15301,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQloadidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQload [off] {sym} (ADDQ ptr idx) mem)
@@ -15985,9 +15326,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -16011,8 +15350,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVQload [off1] {sym} (ADDLconst [off2] ptr) mem)
@@ -16033,8 +15371,7 @@ func rewriteValueAMD64_OpAMD64MOVQload(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQload [off] {sym} ptr (MOVSDstore [off] {sym} ptr val _))
@@ -16089,9 +15426,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool {
v.reset(OpAMD64MOVQloadidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -16116,9 +15451,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool {
v.reset(OpAMD64MOVQloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -16143,9 +15476,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool {
v.reset(OpAMD64MOVQloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -16169,8 +15500,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx1(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
break
@@ -16200,9 +15530,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool {
v.reset(OpAMD64MOVQloadidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -16224,9 +15552,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool {
v.reset(OpAMD64MOVQloadidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQloadidx8 [i] {s} p (MOVQconst [c]) mem)
@@ -16247,8 +15573,7 @@ func rewriteValueAMD64_OpAMD64MOVQloadidx8(v *Value) bool {
v.reset(OpAMD64MOVQload)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -16276,9 +15601,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr (MOVQconst [c]) mem)
@@ -16299,8 +15622,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -16323,9 +15645,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVQstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -16349,10 +15669,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVQstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem)
@@ -16376,10 +15693,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVQstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -16405,10 +15719,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -16433,9 +15744,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVQstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -16457,9 +15766,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(ADDQload x [off] {sym} ptr mem) mem)
@@ -16481,9 +15788,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ADDQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(ANDQload x [off] {sym} ptr mem) mem)
@@ -16505,9 +15810,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ANDQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(ORQload x [off] {sym} ptr mem) mem)
@@ -16529,9 +15832,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ORQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(XORQload x [off] {sym} ptr mem) mem)
@@ -16553,9 +15854,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64XORQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(ADDQ l:(MOVQload [off] {sym} ptr mem) x) mem)
@@ -16588,9 +15887,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ADDQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -16618,9 +15915,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64SUBQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(ANDQ l:(MOVQload [off] {sym} ptr mem) x) mem)
@@ -16653,9 +15948,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ANDQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -16690,9 +15983,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ORQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -16727,9 +16018,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64XORQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
break
@@ -16757,9 +16046,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTCQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(BTRQ l:(MOVQload [off] {sym} ptr mem) x) mem)
@@ -16785,9 +16072,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTRQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore {sym} [off] ptr y:(BTSQ l:(MOVQload [off] {sym} ptr mem) x) mem)
@@ -16813,9 +16098,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTSQmodify)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(ADDQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16842,8 +16125,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ADDQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(ANDQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16870,8 +16152,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ANDQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(ORQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16898,8 +16179,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64ORQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(XORQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16926,8 +16206,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64XORQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(BTCQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16954,8 +16233,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTCQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(BTRQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -16982,8 +16260,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTRQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr a:(BTSQconst [c] l:(MOVQload [off] {sym} ptr2 mem)) mem)
@@ -17010,8 +16287,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64BTSQconstmodify)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstore [off] {sym} ptr (MOVQf2i val) mem)
@@ -17028,9 +16304,7 @@ func rewriteValueAMD64_OpAMD64MOVQstore(v *Value) bool {
v.reset(OpAMD64MOVSDstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -17058,8 +16332,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem)
@@ -17081,8 +16354,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem)
@@ -17105,9 +16377,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQstoreconst [x] {sym1} (LEAQ8 [off] {sym2} ptr idx) mem)
@@ -17130,9 +16400,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQstoreconst [x] {sym} (ADDQ ptr idx) mem)
@@ -17149,9 +16417,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQstoreconst [c] {s} p x:(MOVQstoreconst [c2] {s} p mem))
@@ -17176,11 +16442,9 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVOstore)
v.AuxInt = ValAndOff(c2).Off()
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x.Pos, OpAMD64MOVOconst, types.TypeInt128)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVQstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -17202,8 +16466,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstoreconst [sc] {s} (ADDLconst [off] ptr) mem)
@@ -17224,8 +16487,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconst(v *Value) bool {
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -17249,9 +16511,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17276,9 +16536,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17303,9 +16561,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17335,9 +16591,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVQstoreconstidx8 [x] {sym} ptr (ADDQconst [c] idx) mem)
@@ -17359,9 +16613,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreconstidx8(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = ValAndOff(x).add(8 * c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -17387,10 +16639,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -17416,10 +16665,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -17445,10 +16691,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -17473,9 +16716,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
break
@@ -17499,9 +16740,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx1)
v.AuxInt = makeValAndOff(c, off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -17531,10 +16770,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVQstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -17557,10 +16793,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVQstoreidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVQstoreidx8 [i] {s} p (MOVQconst [c]) w mem)
@@ -17582,9 +16815,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVQstoreidx8 [off] {s} ptr idx (MOVQconst [c]) mem)
@@ -17606,9 +16837,7 @@ func rewriteValueAMD64_OpAMD64MOVQstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = makeValAndOff(c, off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -17634,8 +16863,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
v.reset(OpAMD64MOVSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -17657,8 +16885,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
v.reset(OpAMD64MOVSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -17681,9 +16908,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDload [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) mem)
@@ -17706,9 +16931,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDload [off] {sym} (ADDQ ptr idx) mem)
@@ -17733,9 +16956,7 @@ func rewriteValueAMD64_OpAMD64MOVSDload(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17778,9 +16999,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx1 [c] {sym} (ADDQconst [d] ptr) idx mem)
@@ -17802,9 +17021,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx1 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -17826,9 +17043,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx1 [i] {s} p (MOVQconst [c]) mem)
@@ -17849,8 +17064,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSDload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -17878,9 +17092,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx8 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -17902,9 +17114,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool {
v.reset(OpAMD64MOVSDloadidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSDloadidx8 [i] {s} p (MOVQconst [c]) mem)
@@ -17925,8 +17135,7 @@ func rewriteValueAMD64_OpAMD64MOVSDloadidx8(v *Value) bool {
v.reset(OpAMD64MOVSDload)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -17954,9 +17163,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVSDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -17979,9 +17186,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVSDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -18005,10 +17210,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstore [off1] {sym1} (LEAQ8 [off2] {sym2} ptr idx) val mem)
@@ -18032,10 +17234,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx8)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -18061,10 +17260,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -18083,9 +17279,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstore(v *Value) bool {
v.reset(OpAMD64MOVQstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -18110,10 +17304,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx8)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx1 [c] {sym} (ADDQconst [d] ptr) idx val mem)
@@ -18136,10 +17327,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx1 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -18162,10 +17350,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx1 [i] {s} p (MOVQconst [c]) w mem)
@@ -18187,9 +17372,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSDstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -18219,10 +17402,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx8)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx8 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -18245,10 +17425,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVSDstoreidx8)
v.AuxInt = c + 8*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSDstoreidx8 [i] {s} p (MOVQconst [c]) w mem)
@@ -18270,9 +17447,7 @@ func rewriteValueAMD64_OpAMD64MOVSDstoreidx8(v *Value) bool {
v.reset(OpAMD64MOVSDstore)
v.AuxInt = i + 8*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -18298,8 +17473,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
v.reset(OpAMD64MOVSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -18321,8 +17495,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
v.reset(OpAMD64MOVSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -18345,9 +17518,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSload [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) mem)
@@ -18370,9 +17541,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSload [off] {sym} (ADDQ ptr idx) mem)
@@ -18397,9 +17566,7 @@ func rewriteValueAMD64_OpAMD64MOVSSload(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -18442,9 +17609,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx1 [c] {sym} (ADDQconst [d] ptr) idx mem)
@@ -18466,9 +17631,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx1 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -18490,9 +17653,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx1 [i] {s} p (MOVQconst [c]) mem)
@@ -18513,8 +17674,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx1(v *Value) bool {
v.reset(OpAMD64MOVSSload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -18542,9 +17702,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx4)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx4 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -18566,9 +17724,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool {
v.reset(OpAMD64MOVSSloadidx4)
v.AuxInt = c + 4*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVSSloadidx4 [i] {s} p (MOVQconst [c]) mem)
@@ -18589,8 +17745,7 @@ func rewriteValueAMD64_OpAMD64MOVSSloadidx4(v *Value) bool {
v.reset(OpAMD64MOVSSload)
v.AuxInt = i + 4*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -18618,9 +17773,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVSSstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -18643,9 +17796,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVSSstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -18669,10 +17820,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstore [off1] {sym1} (LEAQ4 [off2] {sym2} ptr idx) val mem)
@@ -18696,10 +17844,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx4)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -18725,10 +17870,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -18747,9 +17889,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -18774,10 +17914,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx4)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx1 [c] {sym} (ADDQconst [d] ptr) idx val mem)
@@ -18800,10 +17937,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx1 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -18826,10 +17960,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx1 [i] {s} p (MOVQconst [c]) w mem)
@@ -18851,9 +17982,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVSSstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -18883,10 +18012,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx4)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx4 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -18909,10 +18035,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVSSstoreidx4)
v.AuxInt = c + 4*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVSSstoreidx4 [i] {s} p (MOVQconst [c]) w mem)
@@ -18934,9 +18057,7 @@ func rewriteValueAMD64_OpAMD64MOVSSstoreidx4(v *Value) bool {
v.reset(OpAMD64MOVSSstore)
v.AuxInt = i + 4*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -18965,8 +18086,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQSX x:(MOVLload [off] {sym} ptr mem))
@@ -18990,8 +18110,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQSX x:(MOVQload [off] {sym} ptr mem))
@@ -19015,8 +18134,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQSX (ANDLconst [c] x))
@@ -19104,8 +18222,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSXload(v *Value) bool {
v.reset(OpAMD64MOVWQSXload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -19134,8 +18251,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQZX x:(MOVLload [off] {sym} ptr mem))
@@ -19159,8 +18275,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQZX x:(MOVQload [off] {sym} ptr mem))
@@ -19184,8 +18299,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVWQZX x)
@@ -19223,9 +18337,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWQZX x:(MOVWloadidx2 [off] {sym} ptr idx mem))
@@ -19250,9 +18362,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWQZX (ANDLconst [c] x))
@@ -19337,8 +18447,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -19360,8 +18469,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) mem)
@@ -19384,9 +18492,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWloadidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off1] {sym1} (LEAQ2 [off2] {sym2} ptr idx) mem)
@@ -19409,9 +18515,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWloadidx2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off] {sym} (ADDQ ptr idx) mem)
@@ -19436,9 +18540,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWloadidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -19462,8 +18564,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVWload [off1] {sym} (ADDLconst [off2] ptr) mem)
@@ -19484,8 +18585,7 @@ func rewriteValueAMD64_OpAMD64MOVWload(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off] {sym} (SB) _)
@@ -19522,9 +18622,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool {
v.reset(OpAMD64MOVWloadidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -19549,9 +18647,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool {
v.reset(OpAMD64MOVWloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -19576,9 +18672,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool {
v.reset(OpAMD64MOVWloadidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -19602,8 +18696,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx1(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
break
@@ -19633,9 +18726,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool {
v.reset(OpAMD64MOVWloadidx2)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx2 [c] {sym} ptr (ADDQconst [d] idx) mem)
@@ -19657,9 +18748,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool {
v.reset(OpAMD64MOVWloadidx2)
v.AuxInt = c + 2*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx2 [i] {s} p (MOVQconst [c]) mem)
@@ -19680,8 +18769,7 @@ func rewriteValueAMD64_OpAMD64MOVWloadidx2(v *Value) bool {
v.reset(OpAMD64MOVWload)
v.AuxInt = i + 2*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -19706,9 +18794,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWQZX x) mem)
@@ -19725,9 +18811,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off1] {sym} (ADDQconst [off2] ptr) val mem)
@@ -19749,9 +18833,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVLconst [c]) mem)
@@ -19772,8 +18854,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVQconst [c]) mem)
@@ -19794,8 +18875,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -19818,9 +18898,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAQ1 [off2] {sym2} ptr idx) val mem)
@@ -19844,10 +18922,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAQ2 [off2] {sym2} ptr idx) val mem)
@@ -19871,10 +18946,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx2)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off] {sym} (ADDQ ptr idx) val mem)
@@ -19900,10 +18972,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -19930,9 +18999,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVWstore [i] {s} p (SHRQconst [16] w) x:(MOVWstore [i-2] {s} p w mem))
@@ -19957,9 +19024,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVWstore [i] {s} p (SHRLconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRLconst [j-16] w) mem))
@@ -19989,9 +19054,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVWstore [i] {s} p (SHRQconst [j] w) x:(MOVWstore [i-2] {s} p w0:(SHRQconst [j-16] w) mem))
@@ -20021,9 +19084,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVWstore [i] {s} p x1:(MOVWload [j] {s2} p2 mem) mem2:(MOVWstore [i-2] {s} p x2:(MOVWload [j-2] {s2} p2 mem) mem))
@@ -20060,14 +19121,11 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVLstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x2.Pos, OpAMD64MOVLload, typ.UInt32)
v0.AuxInt = j - 2
v0.Aux = s2
- v0.AddArg(p2)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(p2, mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (LEAL [off2] {sym2} base) val mem)
@@ -20090,9 +19148,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVWstore [off1] {sym} (ADDLconst [off2] ptr) val mem)
@@ -20114,9 +19170,7 @@ func rewriteValueAMD64_OpAMD64MOVWstore(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -20142,8 +19196,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstoreconst [sc] {sym1} (LEAQ [off] {sym2} ptr) mem)
@@ -20165,8 +19218,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstoreconst [x] {sym1} (LEAQ1 [off] {sym2} ptr idx) mem)
@@ -20189,9 +19241,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [x] {sym1} (LEAQ2 [off] {sym2} ptr idx) mem)
@@ -20214,9 +19264,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [x] {sym} (ADDQ ptr idx) mem)
@@ -20233,9 +19281,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = x
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconst [c] {s} p x:(MOVWstoreconst [a] {s} p mem))
@@ -20260,8 +19306,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVWstoreconst [a] {s} p x:(MOVWstoreconst [c] {s} p mem))
@@ -20286,8 +19331,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
// match: (MOVWstoreconst [sc] {sym1} (LEAL [off] {sym2} ptr) mem)
@@ -20309,8 +19353,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstoreconst [sc] {s} (ADDLconst [off] ptr) mem)
@@ -20331,8 +19374,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconst(v *Value) bool {
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -20356,9 +19398,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -20383,9 +19423,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -20410,9 +19448,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -20444,9 +19480,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(i)
- v.AddArg(mem)
+ v.AddArg3(p, i, mem)
return true
}
}
@@ -20478,9 +19512,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx2 [x] {sym} ptr (ADDQconst [c] idx) mem)
@@ -20502,9 +19534,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(2 * c)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreconstidx2 [c] {s} p i x:(MOVWstoreconstidx2 [a] {s} p i mem))
@@ -20530,12 +19560,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value) bool {
v.reset(OpAMD64MOVLstoreconstidx1)
v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type)
v0.AuxInt = 1
v0.AddArg(i)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
return false
@@ -20561,10 +19589,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx2)
v.AuxInt = c
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -20590,10 +19615,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -20619,10 +19641,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx1)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -20654,10 +19673,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -20690,10 +19706,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -20731,10 +19744,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -20772,10 +19782,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -20801,9 +19808,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i + c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
break
@@ -20827,9 +19832,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx1(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx1)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -20860,10 +19863,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx2)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx2 [c] {sym} ptr (ADDQconst [d] idx) val mem)
@@ -20886,10 +19886,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVWstoreidx2)
v.AuxInt = c + 2*d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p idx (SHRLconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem))
@@ -20915,13 +19912,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
v0.AuxInt = 1
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p idx (SHRQconst [16] w) x:(MOVWstoreidx2 [i-2] {s} p idx w mem))
@@ -20947,13 +19941,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
v0.AuxInt = 1
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p idx (SHRQconst [j] w) x:(MOVWstoreidx2 [i-2] {s} p idx w0:(SHRQconst [j-16] w) mem))
@@ -20984,13 +19975,10 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVLstoreidx1)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
v0.AuxInt = 1
v0.AddArg(idx)
- v.AddArg(v0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, v0, w0, mem)
return true
}
// match: (MOVWstoreidx2 [i] {s} p (MOVQconst [c]) w mem)
@@ -21012,9 +20000,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVWstore)
v.AuxInt = i + 2*c
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVWstoreidx2 [off] {s} ptr idx (MOVLconst [c]) mem)
@@ -21036,9 +20022,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value) bool {
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -21090,8 +20074,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGL)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21104,8 +20087,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGL)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21118,8 +20100,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGL)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21164,8 +20145,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [ 5] x)
@@ -21176,8 +20156,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL4)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [ 7] x)
@@ -21188,11 +20167,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [ 9] x)
@@ -21203,8 +20180,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL8)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULLconst [11] x)
@@ -21215,11 +20191,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [13] x)
@@ -21230,11 +20204,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [19] x)
@@ -21245,11 +20217,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [21] x)
@@ -21260,11 +20230,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [25] x)
@@ -21275,11 +20243,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [27] x)
@@ -21291,13 +20257,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [37] x)
@@ -21308,11 +20271,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [41] x)
@@ -21323,11 +20284,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [45] x)
@@ -21339,13 +20298,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [73] x)
@@ -21356,11 +20312,9 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAL8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULLconst [81] x)
@@ -21372,13 +20326,10 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULLconst [c] x)
@@ -21394,8 +20345,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type)
v0.AuxInt = log2(c + 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -21411,8 +20361,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type)
v0.AuxInt = log2(c - 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -21428,8 +20377,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type)
v0.AuxInt = log2(c - 2)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -21445,8 +20393,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type)
v0.AuxInt = log2(c - 4)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -21462,8 +20409,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLLconst, v.Type)
v0.AuxInt = log2(c - 8)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULLconst [c] x)
@@ -21478,8 +20424,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v.reset(OpAMD64SHLLconst)
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21495,8 +20440,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v.reset(OpAMD64SHLLconst)
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21512,8 +20456,7 @@ func rewriteValueAMD64_OpAMD64MULLconst(v *Value) bool {
v.reset(OpAMD64SHLLconst)
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21586,8 +20529,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGQ)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21600,8 +20542,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGQ)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21614,8 +20555,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64NEGQ)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21660,8 +20600,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULQconst [ 5] x)
@@ -21672,8 +20611,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ4)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULQconst [ 7] x)
@@ -21684,11 +20622,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [ 9] x)
@@ -21699,8 +20635,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ8)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
// match: (MULQconst [11] x)
@@ -21711,11 +20646,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [13] x)
@@ -21726,11 +20659,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [19] x)
@@ -21741,11 +20672,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ2)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [21] x)
@@ -21756,11 +20685,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [25] x)
@@ -21771,11 +20698,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [27] x)
@@ -21787,13 +20712,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULQconst [37] x)
@@ -21804,11 +20726,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ4)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [41] x)
@@ -21819,11 +20739,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [45] x)
@@ -21835,13 +20753,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULQconst [73] x)
@@ -21852,11 +20767,9 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
}
x := v_0
v.reset(OpAMD64LEAQ8)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(x, v0)
return true
}
// match: (MULQconst [81] x)
@@ -21868,13 +20781,10 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
x := v_0
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
v1 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v1.AddArg(x)
- v1.AddArg(x)
- v.AddArg(v1)
+ v1.AddArg2(x, x)
+ v.AddArg2(v0, v1)
return true
}
// match: (MULQconst [c] x)
@@ -21890,8 +20800,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
v0.AuxInt = log2(c + 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULQconst [c] x)
@@ -21907,8 +20816,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
v0.AuxInt = log2(c - 1)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULQconst [c] x)
@@ -21924,8 +20832,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
v0.AuxInt = log2(c - 2)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULQconst [c] x)
@@ -21941,8 +20848,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
v0.AuxInt = log2(c - 4)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULQconst [c] x)
@@ -21958,8 +20864,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
v0.AuxInt = log2(c - 8)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
// match: (MULQconst [c] x)
@@ -21974,8 +20879,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v.reset(OpAMD64SHLQconst)
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -21991,8 +20895,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v.reset(OpAMD64SHLQconst)
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -22008,8 +20911,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value) bool {
v.reset(OpAMD64SHLQconst)
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -22067,9 +20969,7 @@ func rewriteValueAMD64_OpAMD64MULSD(v *Value) bool {
v.reset(OpAMD64MULSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -22101,9 +21001,7 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool {
v.reset(OpAMD64MULSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -22126,9 +21024,7 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool {
v.reset(OpAMD64MULSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _))
@@ -22147,10 +21043,9 @@ func rewriteValueAMD64_OpAMD64MULSDload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64MULSD)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -22178,9 +21073,7 @@ func rewriteValueAMD64_OpAMD64MULSS(v *Value) bool {
v.reset(OpAMD64MULSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -22212,9 +21105,7 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool {
v.reset(OpAMD64MULSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -22237,9 +21128,7 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool {
v.reset(OpAMD64MULSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (MULSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _))
@@ -22258,10 +21147,9 @@ func rewriteValueAMD64_OpAMD64MULSSload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64MULSS)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -22294,8 +21182,7 @@ func rewriteValueAMD64_OpAMD64NEGL(v *Value) bool {
break
}
v.reset(OpAMD64SUBL)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
// match: (NEGL (MOVLconst [c]))
@@ -22339,8 +21226,7 @@ func rewriteValueAMD64_OpAMD64NEGQ(v *Value) bool {
break
}
v.reset(OpAMD64SUBQ)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
// match: (NEGQ (MOVQconst [c]))
@@ -22426,8 +21312,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTSL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -22586,8 +21471,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22637,8 +21521,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22688,8 +21571,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22739,8 +21621,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22804,8 +21685,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22869,8 +21749,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -22911,8 +21790,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -22952,8 +21830,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -23016,8 +21893,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -23081,8 +21957,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64ROLB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -23123,8 +21998,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -23164,8 +22038,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
continue
}
v.reset(OpAMD64RORB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -23217,8 +22090,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -23258,8 +22130,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -23320,11 +22191,9 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v2 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(mem)
+ v2.AddArg2(p, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -23372,9 +22241,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -23423,9 +22290,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -23495,12 +22360,9 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(idx)
- v2.AddArg(mem)
+ v2.AddArg3(p, idx, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -23545,8 +22407,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v1 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -23596,8 +22457,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v1 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -23661,12 +22521,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v3 := b.NewValue0(x1.Pos, OpAMD64MOVWload, typ.UInt16)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(mem)
+ v3.AddArg2(p, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -23716,9 +22574,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(p, idx, mem)
v0.AddArg(v1)
return true
}
@@ -23777,9 +22633,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(p, idx, mem)
v0.AddArg(v1)
return true
}
@@ -23852,13 +22706,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v3 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(idx)
- v3.AddArg(mem)
+ v3.AddArg3(p, idx, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -23886,9 +22737,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value) bool {
v.reset(OpAMD64ORLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -24000,8 +22849,7 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify(v *Value) bool {
v.reset(OpAMD64ORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ORLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -24023,8 +22871,7 @@ func rewriteValueAMD64_OpAMD64ORLconstmodify(v *Value) bool {
v.reset(OpAMD64ORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -24054,9 +22901,7 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool {
v.reset(OpAMD64ORLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ORLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -24079,9 +22924,7 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool {
v.reset(OpAMD64ORLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: ( ORLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _))
@@ -24100,10 +22943,9 @@ func rewriteValueAMD64_OpAMD64ORLload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ORL)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -24131,9 +22973,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify(v *Value) bool {
v.reset(OpAMD64ORLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ORLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -24156,9 +22996,7 @@ func rewriteValueAMD64_OpAMD64ORLmodify(v *Value) bool {
v.reset(OpAMD64ORLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -24182,8 +23020,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTSQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -24312,8 +23149,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
continue
}
v.reset(OpAMD64ROLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -24363,8 +23199,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
continue
}
v.reset(OpAMD64ROLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -24414,8 +23249,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
continue
}
v.reset(OpAMD64RORQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -24465,8 +23299,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
continue
}
v.reset(OpAMD64RORQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -24537,8 +23370,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -24578,8 +23410,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -24619,8 +23450,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -24681,11 +23511,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v2 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(mem)
+ v2.AddArg2(p, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -24747,11 +23575,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v2 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(mem)
+ v2.AddArg2(p, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -24799,9 +23625,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -24850,9 +23674,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -24901,9 +23723,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(p, idx, mem)
return true
}
}
@@ -24973,12 +23793,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(idx)
- v2.AddArg(mem)
+ v2.AddArg3(p, idx, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25049,12 +23866,9 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32)
v2.AuxInt = i0
v2.Aux = s
- v2.AddArg(p)
- v2.AddArg(idx)
- v2.AddArg(mem)
+ v2.AddArg3(p, idx, mem)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25099,8 +23913,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(x0.Pos, OpAMD64MOVWload, typ.UInt16)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -25150,8 +23963,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(x0.Pos, OpAMD64MOVLload, typ.UInt32)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -25201,8 +24013,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(x0.Pos, OpAMD64MOVQload, typ.UInt64)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -25266,12 +24077,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v3 := b.NewValue0(x1.Pos, OpAMD64MOVWload, typ.UInt16)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(mem)
+ v3.AddArg2(p, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25342,12 +24151,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v3 := b.NewValue0(x1.Pos, OpAMD64MOVLload, typ.UInt32)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(mem)
+ v3.AddArg2(p, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25397,9 +24204,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(p, idx, mem)
v0.AddArg(v1)
return true
}
@@ -25458,9 +24263,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(p, idx, mem)
v0.AddArg(v1)
return true
}
@@ -25519,9 +24322,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64MOVQloadidx1, typ.UInt64)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(p, idx, mem)
v0.AddArg(v1)
return true
}
@@ -25594,13 +24395,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v3 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, typ.UInt16)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(idx)
- v3.AddArg(mem)
+ v3.AddArg3(p, idx, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25680,13 +24478,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v3 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, typ.UInt32)
v3.AuxInt = i0
v3.Aux = s
- v3.AddArg(p)
- v3.AddArg(idx)
- v3.AddArg(mem)
+ v3.AddArg3(p, idx, mem)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
+ v0.AddArg2(v1, y)
return true
}
}
@@ -25714,9 +24509,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value) bool {
v.reset(OpAMD64ORQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -25824,8 +24617,7 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify(v *Value) bool {
v.reset(OpAMD64ORQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (ORQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -25847,8 +24639,7 @@ func rewriteValueAMD64_OpAMD64ORQconstmodify(v *Value) bool {
v.reset(OpAMD64ORQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -25878,9 +24669,7 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool {
v.reset(OpAMD64ORQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (ORQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -25903,9 +24692,7 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool {
v.reset(OpAMD64ORQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: ( ORQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _))
@@ -25924,10 +24711,9 @@ func rewriteValueAMD64_OpAMD64ORQload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64ORQ)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -25955,9 +24741,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify(v *Value) bool {
v.reset(OpAMD64ORQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (ORQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -25980,9 +24764,7 @@ func rewriteValueAMD64_OpAMD64ORQmodify(v *Value) bool {
v.reset(OpAMD64ORQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -25999,8 +24781,7 @@ func rewriteValueAMD64_OpAMD64ROLB(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLB x (NEGL y))
@@ -26012,8 +24793,7 @@ func rewriteValueAMD64_OpAMD64ROLB(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLB x (MOVQconst [c]))
@@ -26086,8 +24866,7 @@ func rewriteValueAMD64_OpAMD64ROLL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLL x (NEGL y))
@@ -26099,8 +24878,7 @@ func rewriteValueAMD64_OpAMD64ROLL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLL x (MOVQconst [c]))
@@ -26173,8 +24951,7 @@ func rewriteValueAMD64_OpAMD64ROLQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLQ x (NEGL y))
@@ -26186,8 +24963,7 @@ func rewriteValueAMD64_OpAMD64ROLQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLQ x (MOVQconst [c]))
@@ -26260,8 +25036,7 @@ func rewriteValueAMD64_OpAMD64ROLW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLW x (NEGL y))
@@ -26273,8 +25048,7 @@ func rewriteValueAMD64_OpAMD64ROLW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ROLW x (MOVQconst [c]))
@@ -26347,8 +25121,7 @@ func rewriteValueAMD64_OpAMD64RORB(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORB x (NEGL y))
@@ -26360,8 +25133,7 @@ func rewriteValueAMD64_OpAMD64RORB(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORB x (MOVQconst [c]))
@@ -26404,8 +25176,7 @@ func rewriteValueAMD64_OpAMD64RORL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORL x (NEGL y))
@@ -26417,8 +25188,7 @@ func rewriteValueAMD64_OpAMD64RORL(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORL x (MOVQconst [c]))
@@ -26461,8 +25231,7 @@ func rewriteValueAMD64_OpAMD64RORQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORQ x (NEGL y))
@@ -26474,8 +25243,7 @@ func rewriteValueAMD64_OpAMD64RORQ(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORQ x (MOVQconst [c]))
@@ -26518,8 +25286,7 @@ func rewriteValueAMD64_OpAMD64RORW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORW x (NEGL y))
@@ -26531,8 +25298,7 @@ func rewriteValueAMD64_OpAMD64RORW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpAMD64ROLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RORW x (MOVQconst [c]))
@@ -26666,8 +25432,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARL x (NEGQ (ADDQconst [c] y)))
@@ -26689,10 +25454,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARL x (ANDQconst [c] y))
@@ -26709,8 +25473,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARL x (NEGQ (ANDQconst [c] y)))
@@ -26732,10 +25495,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARL x (ADDLconst [c] y))
@@ -26752,8 +25514,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARL x (NEGL (ADDLconst [c] y)))
@@ -26775,10 +25536,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARL x (ANDLconst [c] y))
@@ -26795,8 +25555,7 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARL x (NEGL (ANDLconst [c] y)))
@@ -26818,10 +25577,9 @@ func rewriteValueAMD64_OpAMD64SARL(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -26898,8 +25656,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARQ x (NEGQ (ADDQconst [c] y)))
@@ -26921,10 +25678,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARQ x (ANDQconst [c] y))
@@ -26941,8 +25697,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARQ x (NEGQ (ANDQconst [c] y)))
@@ -26964,10 +25719,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARQ x (ADDLconst [c] y))
@@ -26984,8 +25738,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARQ x (NEGL (ADDLconst [c] y)))
@@ -27007,10 +25760,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SARQ x (ANDLconst [c] y))
@@ -27027,8 +25779,7 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SARQ x (NEGL (ANDLconst [c] y)))
@@ -27050,10 +25801,9 @@ func rewriteValueAMD64_OpAMD64SARQ(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -27218,8 +25968,7 @@ func rewriteValueAMD64_OpAMD64SBBQ(v *Value) bool {
}
v.reset(OpAMD64SBBQconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(borrow)
+ v.AddArg2(x, borrow)
return true
}
// match: (SBBQ x y (FlagEQ))
@@ -27231,8 +25980,7 @@ func rewriteValueAMD64_OpAMD64SBBQ(v *Value) bool {
break
}
v.reset(OpAMD64SUBQborrow)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -27515,9 +26263,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64SETBEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETAEstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -27539,9 +26285,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETAEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -27564,9 +26308,7 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETAEstore [off] {sym} ptr (FlagEQ) mem)
@@ -27582,11 +26324,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAEstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -27602,11 +26342,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAEstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -27622,11 +26360,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAEstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -27642,11 +26378,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAEstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -27662,11 +26396,9 @@ func rewriteValueAMD64_OpAMD64SETAEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -27691,9 +26423,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETAstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -27715,9 +26445,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64SETAstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETAstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -27740,9 +26468,7 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64SETAstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETAstore [off] {sym} ptr (FlagEQ) mem)
@@ -27758,11 +26484,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -27778,11 +26502,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -27798,11 +26520,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -27818,11 +26538,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETAstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -27838,11 +26556,9 @@ func rewriteValueAMD64_OpAMD64SETAstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -28053,9 +26769,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETBEstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -28077,9 +26791,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64SETBEstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETBEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -28102,9 +26814,7 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64SETBEstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETBEstore [off] {sym} ptr (FlagEQ) mem)
@@ -28120,11 +26830,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBEstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -28140,11 +26848,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBEstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -28160,11 +26866,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBEstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -28180,11 +26884,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBEstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -28200,11 +26902,9 @@ func rewriteValueAMD64_OpAMD64SETBEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -28229,9 +26929,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64SETAstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETBstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -28253,9 +26951,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETBstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -28278,9 +26974,7 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETBstore [off] {sym} ptr (FlagEQ) mem)
@@ -28296,11 +26990,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -28316,11 +27008,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -28336,11 +27026,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -28356,11 +27044,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETBstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -28376,11 +27062,9 @@ func rewriteValueAMD64_OpAMD64SETBstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -28409,8 +27093,7 @@ func rewriteValueAMD64_OpAMD64SETEQ(v *Value) bool {
y := v_0_1
v.reset(OpAMD64SETAE)
v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -28437,8 +27120,7 @@ func rewriteValueAMD64_OpAMD64SETEQ(v *Value) bool {
y := v_0_1
v.reset(OpAMD64SETAE)
v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -28829,12 +27511,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(x, y)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -28865,12 +27544,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(x, y)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -28894,12 +27570,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = log2uint32(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (TESTQconst [c] x) mem)
@@ -28921,12 +27595,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (TESTQ (MOVQconst [c]) x) mem)
@@ -28955,12 +27627,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -28982,12 +27652,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(s)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (CMPQconst [1] s:(ANDQconst [1] _)) mem)
@@ -29007,12 +27675,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(s)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2) mem)
@@ -29046,12 +27712,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29087,12 +27751,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29128,12 +27790,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29169,12 +27829,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29206,12 +27864,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29243,12 +27899,10 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETAEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -29267,9 +27921,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETEQstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -29291,9 +27943,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETEQstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -29316,9 +27966,7 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (FlagEQ) mem)
@@ -29334,11 +27982,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -29354,11 +28000,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -29374,11 +28018,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -29394,11 +28036,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETEQstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -29414,11 +28054,9 @@ func rewriteValueAMD64_OpAMD64SETEQstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -29573,9 +28211,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64SETLEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETGEstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -29597,9 +28233,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64SETGEstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETGEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -29622,9 +28256,7 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64SETGEstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETGEstore [off] {sym} ptr (FlagEQ) mem)
@@ -29640,11 +28272,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGEstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -29660,11 +28290,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGEstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -29680,11 +28308,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGEstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -29700,11 +28326,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGEstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -29720,11 +28344,9 @@ func rewriteValueAMD64_OpAMD64SETGEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -29749,9 +28371,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64SETLstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETGstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -29773,9 +28393,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64SETGstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETGstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -29798,9 +28416,7 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64SETGstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETGstore [off] {sym} ptr (FlagEQ) mem)
@@ -29816,11 +28432,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -29836,11 +28450,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -29856,11 +28468,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -29876,11 +28486,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETGstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -29896,11 +28504,9 @@ func rewriteValueAMD64_OpAMD64SETGstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -30055,9 +28661,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64SETGEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETLEstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -30079,9 +28683,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64SETLEstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETLEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -30104,9 +28706,7 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64SETLEstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETLEstore [off] {sym} ptr (FlagEQ) mem)
@@ -30122,11 +28722,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLEstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -30142,11 +28740,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLEstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -30162,11 +28758,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLEstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -30182,11 +28776,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLEstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -30202,11 +28794,9 @@ func rewriteValueAMD64_OpAMD64SETLEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -30231,9 +28821,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64SETGstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETLstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -30255,9 +28843,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64SETLstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETLstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -30280,9 +28866,7 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64SETLstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETLstore [off] {sym} ptr (FlagEQ) mem)
@@ -30298,11 +28882,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -30318,11 +28900,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -30338,11 +28918,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -30358,11 +28936,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETLstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -30378,11 +28954,9 @@ func rewriteValueAMD64_OpAMD64SETLstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -30411,8 +28985,7 @@ func rewriteValueAMD64_OpAMD64SETNE(v *Value) bool {
y := v_0_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -30439,8 +29012,7 @@ func rewriteValueAMD64_OpAMD64SETNE(v *Value) bool {
y := v_0_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -30831,12 +29403,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(x, y)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -30867,12 +29436,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(x, y)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -30896,12 +29462,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = log2uint32(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (TESTQconst [c] x) mem)
@@ -30923,12 +29487,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (TESTQ (MOVQconst [c]) x) mem)
@@ -30957,12 +29519,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -30984,12 +29544,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(s)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (CMPQconst [1] s:(ANDQconst [1] _)) mem)
@@ -31009,12 +29567,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETEQstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(s)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (TESTQ z1:(SHLQconst [63] (SHRQconst [63] x)) z2) mem)
@@ -31048,12 +29604,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31089,12 +29643,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31130,12 +29682,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31171,12 +29721,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31208,12 +29756,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTQconst, types.TypeFlags)
v0.AuxInt = 63
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31245,12 +29791,10 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64BTLconst, types.TypeFlags)
v0.AuxInt = 31
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
break
@@ -31269,9 +29813,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (SETNEstore [off1] {sym} (ADDQconst [off2] base) val mem)
@@ -31293,9 +29835,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETNEstore [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -31318,9 +29858,7 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64SETNEstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (FlagEQ) mem)
@@ -31336,11 +29874,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (FlagLT_ULT) mem)
@@ -31356,11 +29892,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (FlagLT_UGT) mem)
@@ -31376,11 +29910,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (FlagGT_ULT) mem)
@@ -31396,11 +29928,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (SETNEstore [off] {sym} ptr (FlagGT_UGT) mem)
@@ -31416,11 +29946,9 @@ func rewriteValueAMD64_OpAMD64SETNEstore(v *Value) bool {
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -31469,8 +29997,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLL x (NEGQ (ADDQconst [c] y)))
@@ -31492,10 +30019,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLL x (ANDQconst [c] y))
@@ -31512,8 +30038,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLL x (NEGQ (ANDQconst [c] y)))
@@ -31535,10 +30060,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLL x (ADDLconst [c] y))
@@ -31555,8 +30079,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLL x (NEGL (ADDLconst [c] y)))
@@ -31578,10 +30101,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLL x (ANDLconst [c] y))
@@ -31598,8 +30120,7 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLL x (NEGL (ANDLconst [c] y)))
@@ -31621,10 +30142,9 @@ func rewriteValueAMD64_OpAMD64SHLL(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -31713,8 +30233,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLQ x (NEGQ (ADDQconst [c] y)))
@@ -31736,10 +30255,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLQ x (ANDQconst [c] y))
@@ -31756,8 +30274,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLQ x (NEGQ (ANDQconst [c] y)))
@@ -31779,10 +30296,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLQ x (ADDLconst [c] y))
@@ -31799,8 +30315,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLQ x (NEGL (ADDLconst [c] y)))
@@ -31822,10 +30337,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHLQ x (ANDLconst [c] y))
@@ -31842,8 +30356,7 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHLQ x (NEGL (ANDLconst [c] y)))
@@ -31865,10 +30378,9 @@ func rewriteValueAMD64_OpAMD64SHLQ(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -32054,8 +30566,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRL x (NEGQ (ADDQconst [c] y)))
@@ -32077,10 +30588,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRL x (ANDQconst [c] y))
@@ -32097,8 +30607,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRL x (NEGQ (ANDQconst [c] y)))
@@ -32120,10 +30629,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRL x (ADDLconst [c] y))
@@ -32140,8 +30648,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRL x (NEGL (ADDLconst [c] y)))
@@ -32163,10 +30670,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRL x (ANDLconst [c] y))
@@ -32183,8 +30689,7 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRL x (NEGL (ANDLconst [c] y)))
@@ -32206,10 +30711,9 @@ func rewriteValueAMD64_OpAMD64SHRL(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -32286,8 +30790,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRQ x (NEGQ (ADDQconst [c] y)))
@@ -32309,10 +30812,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRQ x (ANDQconst [c] y))
@@ -32329,8 +30831,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRQ x (NEGQ (ANDQconst [c] y)))
@@ -32352,10 +30853,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRQ x (ADDLconst [c] y))
@@ -32372,8 +30872,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRQ x (NEGL (ADDLconst [c] y)))
@@ -32395,10 +30894,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (SHRQ x (ANDLconst [c] y))
@@ -32415,8 +30913,7 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SHRQ x (NEGL (ANDLconst [c] y)))
@@ -32438,10 +30935,9 @@ func rewriteValueAMD64_OpAMD64SHRQ(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64NEGL, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -32621,9 +31117,7 @@ func rewriteValueAMD64_OpAMD64SUBL(v *Value) bool {
v.reset(OpAMD64SUBLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -32680,9 +31174,7 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool {
v.reset(OpAMD64SUBLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -32705,9 +31197,7 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool {
v.reset(OpAMD64SUBLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _))
@@ -32726,10 +31216,9 @@ func rewriteValueAMD64_OpAMD64SUBLload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64SUBL)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -32757,9 +31246,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify(v *Value) bool {
v.reset(OpAMD64SUBLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SUBLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -32782,9 +31269,7 @@ func rewriteValueAMD64_OpAMD64SUBLmodify(v *Value) bool {
v.reset(OpAMD64SUBLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -32859,9 +31344,7 @@ func rewriteValueAMD64_OpAMD64SUBQ(v *Value) bool {
v.reset(OpAMD64SUBQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -32973,9 +31456,7 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool {
v.reset(OpAMD64SUBQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -32998,9 +31479,7 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool {
v.reset(OpAMD64SUBQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _))
@@ -33019,10 +31498,9 @@ func rewriteValueAMD64_OpAMD64SUBQload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64SUBQ)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -33050,9 +31528,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify(v *Value) bool {
v.reset(OpAMD64SUBQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (SUBQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -33075,9 +31551,7 @@ func rewriteValueAMD64_OpAMD64SUBQmodify(v *Value) bool {
v.reset(OpAMD64SUBQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -33104,9 +31578,7 @@ func rewriteValueAMD64_OpAMD64SUBSD(v *Value) bool {
v.reset(OpAMD64SUBSDload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -33136,9 +31608,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool {
v.reset(OpAMD64SUBSDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSDload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -33161,9 +31631,7 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool {
v.reset(OpAMD64SUBSDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSDload x [off] {sym} ptr (MOVQstore [off] {sym} ptr y _))
@@ -33182,10 +31650,9 @@ func rewriteValueAMD64_OpAMD64SUBSDload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64SUBSD)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQi2f, typ.Float64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -33212,9 +31679,7 @@ func rewriteValueAMD64_OpAMD64SUBSS(v *Value) bool {
v.reset(OpAMD64SUBSSload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -33244,9 +31709,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool {
v.reset(OpAMD64SUBSSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSSload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -33269,9 +31732,7 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool {
v.reset(OpAMD64SUBSSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (SUBSSload x [off] {sym} ptr (MOVLstore [off] {sym} ptr y _))
@@ -33290,10 +31751,9 @@ func rewriteValueAMD64_OpAMD64SUBSSload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64SUBSS)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLi2f, typ.Float32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -33341,8 +31801,7 @@ func rewriteValueAMD64_OpAMD64TESTB(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(0, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
break
@@ -33363,8 +31822,7 @@ func rewriteValueAMD64_OpAMD64TESTBconst(v *Value) bool {
break
}
v.reset(OpAMD64TESTB)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
return false
@@ -33412,8 +31870,7 @@ func rewriteValueAMD64_OpAMD64TESTL(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(0, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
break
@@ -33444,8 +31901,7 @@ func rewriteValueAMD64_OpAMD64TESTLconst(v *Value) bool {
break
}
v.reset(OpAMD64TESTL)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
return false
@@ -33497,8 +31953,7 @@ func rewriteValueAMD64_OpAMD64TESTQ(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(0, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
break
@@ -33529,8 +31984,7 @@ func rewriteValueAMD64_OpAMD64TESTQconst(v *Value) bool {
break
}
v.reset(OpAMD64TESTQ)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
return false
@@ -33578,8 +32032,7 @@ func rewriteValueAMD64_OpAMD64TESTW(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = makeValAndOff(0, off)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
break
@@ -33600,8 +32053,7 @@ func rewriteValueAMD64_OpAMD64TESTWconst(v *Value) bool {
break
}
v.reset(OpAMD64TESTW)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
return false
@@ -33629,9 +32081,7 @@ func rewriteValueAMD64_OpAMD64XADDLlock(v *Value) bool {
v.reset(OpAMD64XADDLlock)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
return false
@@ -33659,9 +32109,7 @@ func rewriteValueAMD64_OpAMD64XADDQlock(v *Value) bool {
v.reset(OpAMD64XADDQlock)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
return false
@@ -33689,9 +32137,7 @@ func rewriteValueAMD64_OpAMD64XCHGL(v *Value) bool {
v.reset(OpAMD64XCHGL)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
// match: (XCHGL [off1] {sym1} val (LEAQ [off2] {sym2} ptr) mem)
@@ -33714,9 +32160,7 @@ func rewriteValueAMD64_OpAMD64XCHGL(v *Value) bool {
v.reset(OpAMD64XCHGL)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
return false
@@ -33744,9 +32188,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ(v *Value) bool {
v.reset(OpAMD64XCHGQ)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
// match: (XCHGQ [off1] {sym1} val (LEAQ [off2] {sym2} ptr) mem)
@@ -33769,9 +32211,7 @@ func rewriteValueAMD64_OpAMD64XCHGQ(v *Value) bool {
v.reset(OpAMD64XCHGQ)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
return false
@@ -33793,8 +32233,7 @@ func rewriteValueAMD64_OpAMD64XORL(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTCL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -33940,9 +32379,7 @@ func rewriteValueAMD64_OpAMD64XORL(v *Value) bool {
v.reset(OpAMD64XORLload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -34152,8 +32589,7 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify(v *Value) bool {
v.reset(OpAMD64XORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (XORLconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -34175,8 +32611,7 @@ func rewriteValueAMD64_OpAMD64XORLconstmodify(v *Value) bool {
v.reset(OpAMD64XORLconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -34206,9 +32641,7 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool {
v.reset(OpAMD64XORLload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORLload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -34231,9 +32664,7 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool {
v.reset(OpAMD64XORLload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORLload x [off] {sym} ptr (MOVSSstore [off] {sym} ptr y _))
@@ -34252,10 +32683,9 @@ func rewriteValueAMD64_OpAMD64XORLload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64XORL)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVLf2i, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -34283,9 +32713,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify(v *Value) bool {
v.reset(OpAMD64XORLmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (XORLmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -34308,9 +32736,7 @@ func rewriteValueAMD64_OpAMD64XORLmodify(v *Value) bool {
v.reset(OpAMD64XORLmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -34332,8 +32758,7 @@ func rewriteValueAMD64_OpAMD64XORQ(v *Value) bool {
}
x := v_1
v.reset(OpAMD64BTCQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -34433,9 +32858,7 @@ func rewriteValueAMD64_OpAMD64XORQ(v *Value) bool {
v.reset(OpAMD64XORQload)
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -34533,8 +32956,7 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify(v *Value) bool {
v.reset(OpAMD64XORQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (XORQconstmodify [valoff1] {sym1} (LEAQ [off2] {sym2} base) mem)
@@ -34556,8 +32978,7 @@ func rewriteValueAMD64_OpAMD64XORQconstmodify(v *Value) bool {
v.reset(OpAMD64XORQconstmodify)
v.AuxInt = ValAndOff(valoff1).add(off2)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -34587,9 +33008,7 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool {
v.reset(OpAMD64XORQload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORQload [off1] {sym1} val (LEAQ [off2] {sym2} base) mem)
@@ -34612,9 +33031,7 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool {
v.reset(OpAMD64XORQload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(val)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg3(val, base, mem)
return true
}
// match: (XORQload x [off] {sym} ptr (MOVSDstore [off] {sym} ptr y _))
@@ -34633,10 +33050,9 @@ func rewriteValueAMD64_OpAMD64XORQload(v *Value) bool {
}
y := v_2.Args[1]
v.reset(OpAMD64XORQ)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpAMD64MOVQf2i, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
return false
@@ -34664,9 +33080,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify(v *Value) bool {
v.reset(OpAMD64XORQmodify)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (XORQmodify [off1] {sym1} (LEAQ [off2] {sym2} base) val mem)
@@ -34689,9 +33103,7 @@ func rewriteValueAMD64_OpAMD64XORQmodify(v *Value) bool {
v.reset(OpAMD64XORQmodify)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -34709,12 +33121,9 @@ func rewriteValueAMD64_OpAtomicAdd32(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpAMD64AddTupleFirst32)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpAMD64XADDLlock, types.NewTuple(typ.UInt32, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg3(val, ptr, mem)
+ v.AddArg2(val, v0)
return true
}
}
@@ -34731,12 +33140,9 @@ func rewriteValueAMD64_OpAtomicAdd64(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpAMD64AddTupleFirst64)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpAMD64XADDQlock, types.NewTuple(typ.UInt64, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg3(val, ptr, mem)
+ v.AddArg2(val, v0)
return true
}
}
@@ -34751,9 +33157,7 @@ func rewriteValueAMD64_OpAtomicExchange32(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpAMD64XCHGL)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
}
@@ -34768,9 +33172,7 @@ func rewriteValueAMD64_OpAtomicExchange64(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpAMD64XCHGQ)
- v.AddArg(val)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(val, ptr, mem)
return true
}
}
@@ -34788,9 +33190,7 @@ func rewriteValueAMD64_OpAtomicStore32(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64XCHGL, types.NewTuple(typ.UInt32, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg3(val, ptr, mem)
v.AddArg(v0)
return true
}
@@ -34809,9 +33209,7 @@ func rewriteValueAMD64_OpAtomicStore64(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, types.NewTuple(typ.UInt64, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg3(val, ptr, mem)
v.AddArg(v0)
return true
}
@@ -34830,9 +33228,7 @@ func rewriteValueAMD64_OpAtomicStore8(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64XCHGB, types.NewTuple(typ.UInt8, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg3(val, ptr, mem)
v.AddArg(v0)
return true
}
@@ -34851,9 +33247,7 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, types.NewTuple(typ.BytePtr, types.TypeMem))
- v0.AddArg(val)
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg3(val, ptr, mem)
v.AddArg(v0)
return true
}
@@ -34871,10 +33265,9 @@ func rewriteValueAMD64_OpBitLen16(v *Value) bool {
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
v2.AddArg(x)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -34893,10 +33286,9 @@ func rewriteValueAMD64_OpBitLen32(v *Value) bool {
v1.AuxInt = 1
v2 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
v3.AddArg(x)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -34918,15 +33310,13 @@ func rewriteValueAMD64_OpBitLen64(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v2.AddArg(x)
v1.AddArg(v2)
- v0.AddArg(v1)
v3 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
v3.AuxInt = -1
- v0.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v5 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v5.AddArg(x)
v4.AddArg(v5)
- v0.AddArg(v4)
+ v0.AddArg3(v1, v3, v4)
v.AddArg(v0)
return true
}
@@ -34944,10 +33334,9 @@ func rewriteValueAMD64_OpBitLen8(v *Value) bool {
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
v2.AddArg(x)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -34985,9 +33374,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQEQ)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNE cond))
@@ -35005,9 +33392,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQNE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETL cond))
@@ -35025,9 +33410,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQLT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETG cond))
@@ -35045,9 +33428,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQGT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETLE cond))
@@ -35065,9 +33446,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQLE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGE cond))
@@ -35085,9 +33464,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQGE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETA cond))
@@ -35105,9 +33482,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQHI)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETB cond))
@@ -35125,9 +33500,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQCS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETAE cond))
@@ -35145,9 +33518,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQCC)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETBE cond))
@@ -35165,9 +33536,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQLS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETEQF cond))
@@ -35185,9 +33554,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQEQF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNEF cond))
@@ -35205,9 +33572,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQNEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGF cond))
@@ -35225,9 +33590,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQGTF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGEF cond))
@@ -35245,9 +33608,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQGEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETEQ cond))
@@ -35265,9 +33626,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLEQ)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNE cond))
@@ -35285,9 +33644,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLNE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETL cond))
@@ -35305,9 +33662,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLLT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETG cond))
@@ -35325,9 +33680,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLGT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETLE cond))
@@ -35345,9 +33698,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLLE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGE cond))
@@ -35365,9 +33716,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLGE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETA cond))
@@ -35385,9 +33734,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLHI)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETB cond))
@@ -35405,9 +33752,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLCS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETAE cond))
@@ -35425,9 +33770,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLCC)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETBE cond))
@@ -35445,9 +33788,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLLS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETEQF cond))
@@ -35465,9 +33806,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLEQF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNEF cond))
@@ -35485,9 +33824,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLNEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGF cond))
@@ -35505,9 +33842,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLGTF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGEF cond))
@@ -35525,9 +33860,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLGEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETEQ cond))
@@ -35545,9 +33878,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWEQ)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNE cond))
@@ -35565,9 +33896,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWNE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETL cond))
@@ -35585,9 +33914,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWLT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETG cond))
@@ -35605,9 +33932,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWGT)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETLE cond))
@@ -35625,9 +33950,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWLE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGE cond))
@@ -35645,9 +33968,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWGE)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETA cond))
@@ -35665,9 +33986,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWHI)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETB cond))
@@ -35685,9 +34004,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWCS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETAE cond))
@@ -35705,9 +34022,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWCC)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETBE cond))
@@ -35725,9 +34040,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWLS)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETEQF cond))
@@ -35745,9 +34058,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWEQF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETNEF cond))
@@ -35765,9 +34076,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWNEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGF cond))
@@ -35785,9 +34094,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWGTF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y (SETGEF cond))
@@ -35805,9 +34112,7 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWGEF)
- v.AddArg(y)
- v.AddArg(x)
- v.AddArg(cond)
+ v.AddArg3(y, x, cond)
return true
}
// match: (CondSelect x y check)
@@ -35823,11 +34128,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
}
v.reset(OpCondSelect)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt64)
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
// match: (CondSelect x y check)
@@ -35843,11 +34146,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
}
v.reset(OpCondSelect)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt64)
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
// match: (CondSelect x y check)
@@ -35863,11 +34164,9 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
}
v.reset(OpCondSelect)
v.Type = t
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
// match: (CondSelect x y check)
@@ -35882,12 +34181,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVQNE)
- v.AddArg(y)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(y, x, v0)
return true
}
// match: (CondSelect x y check)
@@ -35902,12 +34199,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVLNE)
- v.AddArg(y)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(y, x, v0)
return true
}
// match: (CondSelect x y check)
@@ -35922,12 +34217,10 @@ func rewriteValueAMD64_OpCondSelect(v *Value) bool {
break
}
v.reset(OpAMD64CMOVWNE)
- v.AddArg(y)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(check)
- v.AddArg(v0)
+ v.AddArg3(y, x, v0)
return true
}
return false
@@ -35980,15 +34273,13 @@ func rewriteValueAMD64_OpCtz64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v1.AddArg(x)
v0.AddArg(v1)
- v.AddArg(v0)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
v2.AuxInt = 64
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v4 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v4.AddArg(x)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -36037,8 +34328,7 @@ func rewriteValueAMD64_OpDiv16(v *Value) bool {
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36055,8 +34345,7 @@ func rewriteValueAMD64_OpDiv16u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36075,8 +34364,7 @@ func rewriteValueAMD64_OpDiv32(v *Value) bool {
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36093,8 +34381,7 @@ func rewriteValueAMD64_OpDiv32u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36113,8 +34400,7 @@ func rewriteValueAMD64_OpDiv64(v *Value) bool {
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36131,8 +34417,7 @@ func rewriteValueAMD64_OpDiv64u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36151,10 +34436,9 @@ func rewriteValueAMD64_OpDiv8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -36173,10 +34457,9 @@ func rewriteValueAMD64_OpDiv8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -36192,8 +34475,7 @@ func rewriteValueAMD64_OpEq16(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36209,8 +34491,7 @@ func rewriteValueAMD64_OpEq32(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36226,8 +34507,7 @@ func rewriteValueAMD64_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36243,8 +34523,7 @@ func rewriteValueAMD64_OpEq64(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36260,8 +34539,7 @@ func rewriteValueAMD64_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36277,8 +34555,7 @@ func rewriteValueAMD64_OpEq8(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36294,8 +34571,7 @@ func rewriteValueAMD64_OpEqB(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36311,8 +34587,7 @@ func rewriteValueAMD64_OpEqPtr(v *Value) bool {
y := v_1
v.reset(OpAMD64SETEQ)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36328,9 +34603,7 @@ func rewriteValueAMD64_OpFMA(v *Value) bool {
y := v_1
z := v_2
v.reset(OpAMD64VFMADD231SD)
- v.AddArg(z)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(z, x, y)
return true
}
}
@@ -36357,8 +34630,7 @@ func rewriteValueAMD64_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36374,8 +34646,7 @@ func rewriteValueAMD64_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36391,8 +34662,7 @@ func rewriteValueAMD64_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36408,8 +34678,7 @@ func rewriteValueAMD64_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36425,8 +34694,7 @@ func rewriteValueAMD64_OpIsInBounds(v *Value) bool {
len := v_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -36440,8 +34708,7 @@ func rewriteValueAMD64_OpIsNonNil(v *Value) bool {
p := v_0
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64TESTQ, types.TypeFlags)
- v0.AddArg(p)
- v0.AddArg(p)
+ v0.AddArg2(p, p)
v.AddArg(v0)
return true
}
@@ -36457,8 +34724,7 @@ func rewriteValueAMD64_OpIsSliceInBounds(v *Value) bool {
len := v_1
v.reset(OpAMD64SETBE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -36474,8 +34740,7 @@ func rewriteValueAMD64_OpLeq16(v *Value) bool {
y := v_1
v.reset(OpAMD64SETLE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36491,8 +34756,7 @@ func rewriteValueAMD64_OpLeq16U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETBE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36508,8 +34772,7 @@ func rewriteValueAMD64_OpLeq32(v *Value) bool {
y := v_1
v.reset(OpAMD64SETLE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36525,8 +34788,7 @@ func rewriteValueAMD64_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -36542,8 +34804,7 @@ func rewriteValueAMD64_OpLeq32U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETBE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36559,8 +34820,7 @@ func rewriteValueAMD64_OpLeq64(v *Value) bool {
y := v_1
v.reset(OpAMD64SETLE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36576,8 +34836,7 @@ func rewriteValueAMD64_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -36593,8 +34852,7 @@ func rewriteValueAMD64_OpLeq64U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETBE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36610,8 +34868,7 @@ func rewriteValueAMD64_OpLeq8(v *Value) bool {
y := v_1
v.reset(OpAMD64SETLE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36627,8 +34884,7 @@ func rewriteValueAMD64_OpLeq8U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETBE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36644,8 +34900,7 @@ func rewriteValueAMD64_OpLess16(v *Value) bool {
y := v_1
v.reset(OpAMD64SETL)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36661,8 +34916,7 @@ func rewriteValueAMD64_OpLess16U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36678,8 +34932,7 @@ func rewriteValueAMD64_OpLess32(v *Value) bool {
y := v_1
v.reset(OpAMD64SETL)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36695,8 +34948,7 @@ func rewriteValueAMD64_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -36712,8 +34964,7 @@ func rewriteValueAMD64_OpLess32U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36729,8 +34980,7 @@ func rewriteValueAMD64_OpLess64(v *Value) bool {
y := v_1
v.reset(OpAMD64SETL)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36746,8 +34996,7 @@ func rewriteValueAMD64_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETGF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -36763,8 +35012,7 @@ func rewriteValueAMD64_OpLess64U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36780,8 +35028,7 @@ func rewriteValueAMD64_OpLess8(v *Value) bool {
y := v_1
v.reset(OpAMD64SETL)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36797,8 +35044,7 @@ func rewriteValueAMD64_OpLess8U(v *Value) bool {
y := v_1
v.reset(OpAMD64SETB)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -36817,8 +35063,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVQload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -36832,8 +35077,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVLload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -36847,8 +35091,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -36862,8 +35105,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -36877,8 +35119,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVSSload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -36892,8 +35133,7 @@ func rewriteValueAMD64_OpLoad(v *Value) bool {
break
}
v.reset(OpAMD64MOVSDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -36927,15 +35167,13 @@ func rewriteValueAMD64_OpLsh16x16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x16 x y)
@@ -36948,8 +35186,7 @@ func rewriteValueAMD64_OpLsh16x16(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -36970,15 +35207,13 @@ func rewriteValueAMD64_OpLsh16x32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x32 x y)
@@ -36991,8 +35226,7 @@ func rewriteValueAMD64_OpLsh16x32(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37013,15 +35247,13 @@ func rewriteValueAMD64_OpLsh16x64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x64 x y)
@@ -37034,8 +35266,7 @@ func rewriteValueAMD64_OpLsh16x64(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37056,15 +35287,13 @@ func rewriteValueAMD64_OpLsh16x8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh16x8 x y)
@@ -37077,8 +35306,7 @@ func rewriteValueAMD64_OpLsh16x8(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37099,15 +35327,13 @@ func rewriteValueAMD64_OpLsh32x16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x16 x y)
@@ -37120,8 +35346,7 @@ func rewriteValueAMD64_OpLsh32x16(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37142,15 +35367,13 @@ func rewriteValueAMD64_OpLsh32x32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x32 x y)
@@ -37163,8 +35386,7 @@ func rewriteValueAMD64_OpLsh32x32(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37185,15 +35407,13 @@ func rewriteValueAMD64_OpLsh32x64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x64 x y)
@@ -37206,8 +35426,7 @@ func rewriteValueAMD64_OpLsh32x64(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37228,15 +35447,13 @@ func rewriteValueAMD64_OpLsh32x8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh32x8 x y)
@@ -37249,8 +35466,7 @@ func rewriteValueAMD64_OpLsh32x8(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37271,15 +35487,13 @@ func rewriteValueAMD64_OpLsh64x16(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh64x16 x y)
@@ -37292,8 +35506,7 @@ func rewriteValueAMD64_OpLsh64x16(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37314,15 +35527,13 @@ func rewriteValueAMD64_OpLsh64x32(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh64x32 x y)
@@ -37335,8 +35546,7 @@ func rewriteValueAMD64_OpLsh64x32(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37357,15 +35567,13 @@ func rewriteValueAMD64_OpLsh64x64(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh64x64 x y)
@@ -37378,8 +35586,7 @@ func rewriteValueAMD64_OpLsh64x64(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37400,15 +35607,13 @@ func rewriteValueAMD64_OpLsh64x8(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh64x8 x y)
@@ -37421,8 +35626,7 @@ func rewriteValueAMD64_OpLsh64x8(v *Value) bool {
break
}
v.reset(OpAMD64SHLQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37443,15 +35647,13 @@ func rewriteValueAMD64_OpLsh8x16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x16 x y)
@@ -37464,8 +35666,7 @@ func rewriteValueAMD64_OpLsh8x16(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37486,15 +35687,13 @@ func rewriteValueAMD64_OpLsh8x32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x32 x y)
@@ -37507,8 +35706,7 @@ func rewriteValueAMD64_OpLsh8x32(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37529,15 +35727,13 @@ func rewriteValueAMD64_OpLsh8x64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x64 x y)
@@ -37550,8 +35746,7 @@ func rewriteValueAMD64_OpLsh8x64(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37572,15 +35767,13 @@ func rewriteValueAMD64_OpLsh8x8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Lsh8x8 x y)
@@ -37593,8 +35786,7 @@ func rewriteValueAMD64_OpLsh8x8(v *Value) bool {
break
}
v.reset(OpAMD64SHLL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -37613,8 +35805,7 @@ func rewriteValueAMD64_OpMod16(v *Value) bool {
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37631,8 +35822,7 @@ func rewriteValueAMD64_OpMod16u(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37651,8 +35841,7 @@ func rewriteValueAMD64_OpMod32(v *Value) bool {
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37669,8 +35858,7 @@ func rewriteValueAMD64_OpMod32u(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37689,8 +35877,7 @@ func rewriteValueAMD64_OpMod64(v *Value) bool {
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
v0.AuxInt = a
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37707,8 +35894,7 @@ func rewriteValueAMD64_OpMod64u(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -37727,10 +35913,9 @@ func rewriteValueAMD64_OpMod8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
v1 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to16, typ.Int16)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -37749,10 +35934,9 @@ func rewriteValueAMD64_OpMod8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, types.NewTuple(typ.UInt16, typ.UInt16))
v1 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to16, typ.UInt16)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -37786,12 +35970,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpAMD64MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -37804,12 +35985,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpAMD64MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -37822,12 +36000,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpAMD64MOVLstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] dst src mem)
@@ -37840,12 +36015,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpAMD64MOVQstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [16] dst src mem)
@@ -37862,12 +36034,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
break
}
v.reset(OpAMD64MOVOstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVOload, types.TypeInt128)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [16] dst src mem)
@@ -37885,20 +36054,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
}
v.reset(OpAMD64MOVQstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [32] dst src mem)
@@ -37915,17 +36078,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = 16
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = 16
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem)
v2.AuxInt = 16
- v2.AddArg(dst)
- v2.AddArg(src)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg3(dst, src, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [48] dst src mem)
@@ -37946,17 +36105,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = 16
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = 16
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem)
v2.AuxInt = 16
- v2.AddArg(dst)
- v2.AddArg(src)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg3(dst, src, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [64] dst src mem)
@@ -37977,17 +36132,13 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = 32
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = 32
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem)
v2.AuxInt = 32
- v2.AddArg(dst)
- v2.AddArg(src)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg3(dst, src, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [3] dst src mem)
@@ -38001,20 +36152,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [5] dst src mem)
@@ -38028,20 +36173,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVBstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] dst src mem)
@@ -38055,20 +36194,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVWstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [7] dst src mem)
@@ -38082,20 +36215,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVLstore)
v.AuxInt = 3
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
v0.AuxInt = 3
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [9] dst src mem)
@@ -38109,20 +36236,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVBstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [10] dst src mem)
@@ -38136,20 +36257,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVWstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [12] dst src mem)
@@ -38163,20 +36278,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpAMD64MOVLstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -38192,20 +36301,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
}
v.reset(OpAMD64MOVQstore)
v.AuxInt = s - 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
v0.AuxInt = s - 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -38224,19 +36327,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = s % 16
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = s % 16
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v2.AddArg(dst)
v3 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v3.AddArg(src)
- v3.AddArg(mem)
- v2.AddArg(v3)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v3.AddArg2(src, mem)
+ v2.AddArg3(dst, v3, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [s] dst src mem)
@@ -38255,19 +36353,14 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = s % 16
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = s % 16
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v2.AddArg(dst)
v3 := b.NewValue0(v.Pos, OpAMD64MOVOload, types.TypeInt128)
- v3.AddArg(src)
- v3.AddArg(mem)
- v2.AddArg(v3)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v3.AddArg2(src, mem)
+ v2.AddArg3(dst, v3, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [s] dst src mem)
@@ -38286,28 +36379,20 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = s % 16
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = s % 16
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
v2.AuxInt = 8
- v2.AddArg(dst)
v3 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
v3.AuxInt = 8
- v3.AddArg(src)
- v3.AddArg(mem)
- v2.AddArg(v3)
+ v3.AddArg2(src, mem)
v4 := b.NewValue0(v.Pos, OpAMD64MOVQstore, types.TypeMem)
- v4.AddArg(dst)
v5 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
- v5.AddArg(src)
- v5.AddArg(mem)
- v4.AddArg(v5)
- v4.AddArg(mem)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v5.AddArg2(src, mem)
+ v4.AddArg3(dst, v5, mem)
+ v2.AddArg3(dst, v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [s] dst src mem)
@@ -38323,9 +36408,7 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
}
v.reset(OpAMD64DUFFCOPY)
v.AuxInt = 14 * (64 - s/16)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] dst src mem)
@@ -38340,12 +36423,9 @@ func rewriteValueAMD64_OpMove(v *Value) bool {
break
}
v.reset(OpAMD64REPMOVSQ)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = s / 8
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -38359,10 +36439,9 @@ func rewriteValueAMD64_OpNeg32F(v *Value) bool {
for {
x := v_0
v.reset(OpAMD64PXOR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64MOVSSconst, typ.Float32)
v0.AuxInt = auxFrom32F(float32(math.Copysign(0, -1)))
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -38375,10 +36454,9 @@ func rewriteValueAMD64_OpNeg64F(v *Value) bool {
for {
x := v_0
v.reset(OpAMD64PXOR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64MOVSDconst, typ.Float64)
v0.AuxInt = auxFrom64F(math.Copysign(0, -1))
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -38393,8 +36471,7 @@ func rewriteValueAMD64_OpNeq16(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38410,8 +36487,7 @@ func rewriteValueAMD64_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38427,8 +36503,7 @@ func rewriteValueAMD64_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38444,8 +36519,7 @@ func rewriteValueAMD64_OpNeq64(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38461,8 +36535,7 @@ func rewriteValueAMD64_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNEF)
v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38478,8 +36551,7 @@ func rewriteValueAMD64_OpNeq8(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38495,8 +36567,7 @@ func rewriteValueAMD64_OpNeqB(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPB, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38512,8 +36583,7 @@ func rewriteValueAMD64_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpAMD64SETNE)
v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -38556,8 +36626,7 @@ func rewriteValueAMD64_OpOffPtr(v *Value) bool {
v.reset(OpAMD64ADDQ)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = off
- v.AddArg(v0)
- v.AddArg(ptr)
+ v.AddArg2(v0, ptr)
return true
}
}
@@ -38578,9 +36647,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool {
}
v.reset(OpAMD64LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -38596,9 +36663,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool {
}
v.reset(OpAMD64LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -38614,9 +36679,7 @@ func rewriteValueAMD64_OpPanicBounds(v *Value) bool {
}
v.reset(OpAMD64LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -38679,15 +36742,13 @@ func rewriteValueAMD64_OpRsh16Ux16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux16 x y)
@@ -38700,8 +36761,7 @@ func rewriteValueAMD64_OpRsh16Ux16(v *Value) bool {
break
}
v.reset(OpAMD64SHRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38722,15 +36782,13 @@ func rewriteValueAMD64_OpRsh16Ux32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux32 x y)
@@ -38743,8 +36801,7 @@ func rewriteValueAMD64_OpRsh16Ux32(v *Value) bool {
break
}
v.reset(OpAMD64SHRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38765,15 +36822,13 @@ func rewriteValueAMD64_OpRsh16Ux64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux64 x y)
@@ -38786,8 +36841,7 @@ func rewriteValueAMD64_OpRsh16Ux64(v *Value) bool {
break
}
v.reset(OpAMD64SHRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38808,15 +36862,13 @@ func rewriteValueAMD64_OpRsh16Ux8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 16
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh16Ux8 x y)
@@ -38829,8 +36881,7 @@ func rewriteValueAMD64_OpRsh16Ux8(v *Value) bool {
break
}
v.reset(OpAMD64SHRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38851,9 +36902,7 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool {
}
v.reset(OpAMD64SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
@@ -38861,8 +36910,8 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x16 x y)
@@ -38875,8 +36924,7 @@ func rewriteValueAMD64_OpRsh16x16(v *Value) bool {
break
}
v.reset(OpAMD64SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38897,9 +36945,7 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool {
}
v.reset(OpAMD64SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
@@ -38907,8 +36953,8 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x32 x y)
@@ -38921,8 +36967,7 @@ func rewriteValueAMD64_OpRsh16x32(v *Value) bool {
break
}
v.reset(OpAMD64SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38943,9 +36988,7 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool {
}
v.reset(OpAMD64SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
@@ -38953,8 +36996,8 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x64 x y)
@@ -38967,8 +37010,7 @@ func rewriteValueAMD64_OpRsh16x64(v *Value) bool {
break
}
v.reset(OpAMD64SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -38989,9 +37031,7 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool {
}
v.reset(OpAMD64SARW)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
@@ -38999,8 +37039,8 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh16x8 x y)
@@ -39013,8 +37053,7 @@ func rewriteValueAMD64_OpRsh16x8(v *Value) bool {
break
}
v.reset(OpAMD64SARW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39035,15 +37074,13 @@ func rewriteValueAMD64_OpRsh32Ux16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux16 x y)
@@ -39056,8 +37093,7 @@ func rewriteValueAMD64_OpRsh32Ux16(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39078,15 +37114,13 @@ func rewriteValueAMD64_OpRsh32Ux32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux32 x y)
@@ -39099,8 +37133,7 @@ func rewriteValueAMD64_OpRsh32Ux32(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39121,15 +37154,13 @@ func rewriteValueAMD64_OpRsh32Ux64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux64 x y)
@@ -39142,8 +37173,7 @@ func rewriteValueAMD64_OpRsh32Ux64(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39164,15 +37194,13 @@ func rewriteValueAMD64_OpRsh32Ux8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 32
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh32Ux8 x y)
@@ -39185,8 +37213,7 @@ func rewriteValueAMD64_OpRsh32Ux8(v *Value) bool {
break
}
v.reset(OpAMD64SHRL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39207,9 +37234,7 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool {
}
v.reset(OpAMD64SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
@@ -39217,8 +37242,8 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x16 x y)
@@ -39231,8 +37256,7 @@ func rewriteValueAMD64_OpRsh32x16(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39253,9 +37277,7 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool {
}
v.reset(OpAMD64SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
@@ -39263,8 +37285,8 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x32 x y)
@@ -39277,8 +37299,7 @@ func rewriteValueAMD64_OpRsh32x32(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39299,9 +37320,7 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool {
}
v.reset(OpAMD64SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
@@ -39309,8 +37328,8 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x64 x y)
@@ -39323,8 +37342,7 @@ func rewriteValueAMD64_OpRsh32x64(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39345,9 +37363,7 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool {
}
v.reset(OpAMD64SARL)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
@@ -39355,8 +37371,8 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x8 x y)
@@ -39369,8 +37385,7 @@ func rewriteValueAMD64_OpRsh32x8(v *Value) bool {
break
}
v.reset(OpAMD64SARL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39391,15 +37406,13 @@ func rewriteValueAMD64_OpRsh64Ux16(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh64Ux16 x y)
@@ -39412,8 +37425,7 @@ func rewriteValueAMD64_OpRsh64Ux16(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39434,15 +37446,13 @@ func rewriteValueAMD64_OpRsh64Ux32(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh64Ux32 x y)
@@ -39455,8 +37465,7 @@ func rewriteValueAMD64_OpRsh64Ux32(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39477,15 +37486,13 @@ func rewriteValueAMD64_OpRsh64Ux64(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh64Ux64 x y)
@@ -39498,8 +37505,7 @@ func rewriteValueAMD64_OpRsh64Ux64(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39520,15 +37526,13 @@ func rewriteValueAMD64_OpRsh64Ux8(v *Value) bool {
}
v.reset(OpAMD64ANDQ)
v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh64Ux8 x y)
@@ -39541,8 +37545,7 @@ func rewriteValueAMD64_OpRsh64Ux8(v *Value) bool {
break
}
v.reset(OpAMD64SHRQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39563,9 +37566,7 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool {
}
v.reset(OpAMD64SARQ)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
@@ -39573,8 +37574,8 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x16 x y)
@@ -39587,8 +37588,7 @@ func rewriteValueAMD64_OpRsh64x16(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39609,9 +37609,7 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool {
}
v.reset(OpAMD64SARQ)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
@@ -39619,8 +37617,8 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x32 x y)
@@ -39633,8 +37631,7 @@ func rewriteValueAMD64_OpRsh64x32(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39655,9 +37652,7 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool {
}
v.reset(OpAMD64SARQ)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
@@ -39665,8 +37660,8 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x64 x y)
@@ -39679,8 +37674,7 @@ func rewriteValueAMD64_OpRsh64x64(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39701,9 +37695,7 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool {
}
v.reset(OpAMD64SARQ)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
@@ -39711,8 +37703,8 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x8 x y)
@@ -39725,8 +37717,7 @@ func rewriteValueAMD64_OpRsh64x8(v *Value) bool {
break
}
v.reset(OpAMD64SARQ)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39747,15 +37738,13 @@ func rewriteValueAMD64_OpRsh8Ux16(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux16 x y)
@@ -39768,8 +37757,7 @@ func rewriteValueAMD64_OpRsh8Ux16(v *Value) bool {
break
}
v.reset(OpAMD64SHRB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39790,15 +37778,13 @@ func rewriteValueAMD64_OpRsh8Ux32(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux32 x y)
@@ -39811,8 +37797,7 @@ func rewriteValueAMD64_OpRsh8Ux32(v *Value) bool {
break
}
v.reset(OpAMD64SHRB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39833,15 +37818,13 @@ func rewriteValueAMD64_OpRsh8Ux64(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux64 x y)
@@ -39854,8 +37837,7 @@ func rewriteValueAMD64_OpRsh8Ux64(v *Value) bool {
break
}
v.reset(OpAMD64SHRB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39876,15 +37858,13 @@ func rewriteValueAMD64_OpRsh8Ux8(v *Value) bool {
}
v.reset(OpAMD64ANDL)
v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
v2.AuxInt = 8
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
// match: (Rsh8Ux8 x y)
@@ -39897,8 +37877,7 @@ func rewriteValueAMD64_OpRsh8Ux8(v *Value) bool {
break
}
v.reset(OpAMD64SHRB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39919,9 +37898,7 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool {
}
v.reset(OpAMD64SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, types.TypeFlags)
@@ -39929,8 +37906,8 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x16 x y)
@@ -39943,8 +37920,7 @@ func rewriteValueAMD64_OpRsh8x16(v *Value) bool {
break
}
v.reset(OpAMD64SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -39965,9 +37941,7 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool {
}
v.reset(OpAMD64SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, types.TypeFlags)
@@ -39975,8 +37949,8 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x32 x y)
@@ -39989,8 +37963,7 @@ func rewriteValueAMD64_OpRsh8x32(v *Value) bool {
break
}
v.reset(OpAMD64SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -40011,9 +37984,7 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool {
}
v.reset(OpAMD64SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, types.TypeFlags)
@@ -40021,8 +37992,8 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x64 x y)
@@ -40035,8 +38006,7 @@ func rewriteValueAMD64_OpRsh8x64(v *Value) bool {
break
}
v.reset(OpAMD64SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -40057,9 +38027,7 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool {
}
v.reset(OpAMD64SARB)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, types.TypeFlags)
@@ -40067,8 +38035,8 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh8x8 x y)
@@ -40081,8 +38049,7 @@ func rewriteValueAMD64_OpRsh8x8(v *Value) bool {
break
}
v.reset(OpAMD64SARB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -40102,8 +38069,7 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -40118,8 +38084,7 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt32
v0 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -40135,13 +38100,11 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpAMD64ADCQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags))
v2.AddArg(c)
v1.AddArg(v2)
- v0.AddArg(v1)
+ v0.AddArg3(x, y, v1)
v.AddArg(v0)
return true
}
@@ -40157,13 +38120,11 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpAMD64SBBQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags))
v2.AddArg(c)
v1.AddArg(v2)
- v0.AddArg(v1)
+ v0.AddArg3(x, y, v1)
v.AddArg(v0)
return true
}
@@ -40177,10 +38138,9 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
tuple := v_0.Args[1]
val := v_0.Args[0]
v.reset(OpAMD64ADDL)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpSelect0, t)
v0.AddArg(tuple)
- v.AddArg(v0)
+ v.AddArg2(val, v0)
return true
}
// match: (Select0 (AddTupleFirst64 val tuple))
@@ -40193,10 +38153,9 @@ func rewriteValueAMD64_OpSelect0(v *Value) bool {
tuple := v_0.Args[1]
val := v_0.Args[0]
v.reset(OpAMD64ADDQ)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpSelect0, t)
v0.AddArg(tuple)
- v.AddArg(v0)
+ v.AddArg2(val, v0)
return true
}
return false
@@ -40216,8 +38175,7 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool {
v.reset(OpAMD64SETO)
v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpAMD64MULQU, types.NewTuple(typ.UInt64, types.TypeFlags))
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -40233,8 +38191,7 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool {
v.reset(OpAMD64SETO)
v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpAMD64MULLU, types.NewTuple(typ.UInt32, types.TypeFlags))
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -40253,13 +38210,11 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpAMD64ADCQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v2.AddArg(x)
- v2.AddArg(y)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v4 := b.NewValue0(v.Pos, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags))
v4.AddArg(c)
v3.AddArg(v4)
- v2.AddArg(v3)
+ v2.AddArg3(x, y, v3)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -40279,13 +38234,11 @@ func rewriteValueAMD64_OpSelect1(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpAMD64SBBQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v2.AddArg(x)
- v2.AddArg(y)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v4 := b.NewValue0(v.Pos, OpAMD64NEGLflags, types.NewTuple(typ.UInt32, types.TypeFlags))
v4.AddArg(c)
v3.AddArg(v4)
- v2.AddArg(v3)
+ v2.AddArg3(x, y, v3)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -40380,9 +38333,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVSDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -40397,9 +38348,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVSSstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -40414,9 +38363,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVQstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -40431,9 +38378,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVLstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -40448,9 +38393,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -40465,9 +38408,7 @@ func rewriteValueAMD64_OpStore(v *Value) bool {
break
}
v.reset(OpAMD64MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -40512,8 +38453,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [2] destptr mem)
@@ -40526,8 +38466,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [4] destptr mem)
@@ -40540,8 +38479,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [8] destptr mem)
@@ -40554,8 +38492,7 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = 0
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [3] destptr mem)
@@ -40568,12 +38505,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = makeValAndOff(0, 2)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVWstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [5] destptr mem)
@@ -40586,12 +38521,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVBstoreconst)
v.AuxInt = makeValAndOff(0, 4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [6] destptr mem)
@@ -40604,12 +38537,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVWstoreconst)
v.AuxInt = makeValAndOff(0, 4)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [7] destptr mem)
@@ -40622,12 +38553,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpAMD64MOVLstoreconst)
v.AuxInt = makeValAndOff(0, 3)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] destptr mem)
@@ -40645,12 +38574,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = s % 8
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg2(destptr, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [16] destptr mem)
@@ -40667,12 +38594,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
}
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = makeValAndOff(0, 8)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [24] destptr mem)
@@ -40689,16 +38614,13 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
}
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = makeValAndOff(0, 16)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v0.AuxInt = makeValAndOff(0, 8)
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(destptr, mem)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [32] destptr mem)
@@ -40715,20 +38637,16 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
}
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = makeValAndOff(0, 24)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v0.AuxInt = makeValAndOff(0, 16)
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v1.AuxInt = makeValAndOff(0, 8)
- v1.AddArg(destptr)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v2.AuxInt = 0
- v2.AddArg(destptr)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v2.AddArg2(destptr, mem)
+ v1.AddArg2(destptr, v2)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] destptr mem)
@@ -40743,12 +38661,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
}
v.reset(OpAMD64MOVQstoreconst)
v.AuxInt = makeValAndOff(0, s-8)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] destptr mem)
@@ -40766,14 +38682,11 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = s % 16
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v1.AddArg(destptr)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(destptr, v2, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [s] destptr mem)
@@ -40791,12 +38704,10 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = s % 16
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg2(destptr, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [16] destptr mem)
@@ -40812,11 +38723,9 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
break
}
v.reset(OpAMD64MOVOstore)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(destptr, v0, mem)
return true
}
// match: (Zero [32] destptr mem)
@@ -40835,17 +38744,13 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = 16
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v2.AddArg(destptr)
v3 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v3.AuxInt = 0
- v2.AddArg(v3)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg3(destptr, v3, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Zero [48] destptr mem)
@@ -40864,26 +38769,20 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = 32
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v3.AuxInt = 16
v3.AddArg(destptr)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v4.AuxInt = 0
- v2.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v5.AddArg(destptr)
v6 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v2.AddArg(v5)
- v.AddArg(v2)
+ v5.AddArg3(destptr, v6, mem)
+ v2.AddArg3(v3, v4, v5)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Zero [64] destptr mem)
@@ -40902,35 +38801,27 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v0.AuxInt = 48
v0.AddArg(destptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v3.AuxInt = 32
v3.AddArg(destptr)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v4.AuxInt = 0
- v2.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
v6 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v6.AuxInt = 16
v6.AddArg(destptr)
- v5.AddArg(v6)
v7 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v7.AuxInt = 0
- v5.AddArg(v7)
v8 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v8.AddArg(destptr)
v9 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v9.AuxInt = 0
- v8.AddArg(v9)
- v8.AddArg(mem)
- v5.AddArg(v8)
- v2.AddArg(v5)
- v.AddArg(v2)
+ v8.AddArg3(destptr, v9, mem)
+ v5.AddArg3(v6, v7, v8)
+ v2.AddArg3(v3, v4, v5)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Zero [s] destptr mem)
@@ -40945,11 +38836,9 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
}
v.reset(OpAMD64DUFFZERO)
v.AuxInt = s
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(destptr, v0, mem)
return true
}
// match: (Zero [s] destptr mem)
@@ -40963,14 +38852,11 @@ func rewriteValueAMD64_OpZero(v *Value) bool {
break
}
v.reset(OpAMD64REPSTOSQ)
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v0.AuxInt = s / 8
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
- v.AddArg(mem)
+ v.AddArg4(destptr, v0, v1, mem)
return true
}
return false
@@ -40997,8 +38883,7 @@ func rewriteBlockAMD64(b *Block) bool {
y := v_0_1
b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -41023,8 +38908,7 @@ func rewriteBlockAMD64(b *Block) bool {
y := v_0_1
b.Reset(BlockAMD64UGE)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -41538,8 +39422,7 @@ func rewriteBlockAMD64(b *Block) bool {
cond := b.Controls[0]
b.Reset(BlockAMD64NE)
v0 := b.NewValue0(cond.Pos, OpAMD64TESTB, types.TypeFlags)
- v0.AddArg(cond)
- v0.AddArg(cond)
+ v0.AddArg2(cond, cond)
b.AddControl(v0)
return true
}
@@ -41846,8 +39729,7 @@ func rewriteBlockAMD64(b *Block) bool {
y := v_0_1
b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTL, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -41872,8 +39754,7 @@ func rewriteBlockAMD64(b *Block) bool {
y := v_0_1
b.Reset(BlockAMD64ULT)
v0 := b.NewValue0(v_0.Pos, OpAMD64BTQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go
index 69df3f7a1e..40a7013744 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64splitload.go
@@ -41,8 +41,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPBconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -65,10 +64,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPBload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, typ.UInt8)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
@@ -89,8 +86,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPLconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -113,10 +109,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPLload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, typ.UInt32)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
@@ -137,8 +131,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPQconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -161,10 +154,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPQload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, typ.UInt64)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
@@ -185,8 +176,7 @@ func rewriteValueAMD64splitload_OpAMD64CMPWconstload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
v0.AuxInt = offOnly(vo)
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -209,10 +199,8 @@ func rewriteValueAMD64splitload_OpAMD64CMPWload(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, typ.UInt16)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(ptr, mem)
+ v.AddArg2(v0, x)
return true
}
}
diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go
index 6849fecc2a..5be3e34dcb 100644
--- a/src/cmd/compile/internal/ssa/rewriteARM.go
+++ b/src/cmd/compile/internal/ssa/rewriteARM.go
@@ -918,8 +918,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
flags := v_2
v.reset(OpARMADCconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
break
@@ -937,9 +936,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
flags := v_2
v.reset(OpARMADCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
break
@@ -957,9 +954,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
flags := v_2
v.reset(OpARMADCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
break
@@ -977,9 +972,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
flags := v_2
v.reset(OpARMADCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
break
@@ -996,10 +989,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMADCshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
break
@@ -1016,10 +1006,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMADCshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
break
@@ -1036,10 +1023,7 @@ func rewriteValueARM_OpARMADC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMADCshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
break
@@ -1061,8 +1045,7 @@ func rewriteValueARM_OpARMADCconst(v *Value) bool {
flags := v_1
v.reset(OpARMADCconst)
v.AuxInt = int64(int32(c + d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
// match: (ADCconst [c] (SUBconst [d] x) flags)
@@ -1077,8 +1060,7 @@ func rewriteValueARM_OpARMADCconst(v *Value) bool {
flags := v_1
v.reset(OpARMADCconst)
v.AuxInt = int64(int32(c - d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -1103,8 +1085,7 @@ func rewriteValueARM_OpARMADCshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftLL x (MOVWconst [c]) [d] flags)
@@ -1119,8 +1100,7 @@ func rewriteValueARM_OpARMADCshiftLL(v *Value) bool {
flags := v_2
v.reset(OpARMADCconst)
v.AuxInt = int64(int32(uint32(c) << uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -1144,10 +1124,8 @@ func rewriteValueARM_OpARMADCshiftLLreg(v *Value) bool {
v.reset(OpARMADCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftLLreg x y (MOVWconst [c]) flags)
@@ -1162,9 +1140,7 @@ func rewriteValueARM_OpARMADCshiftLLreg(v *Value) bool {
flags := v_3
v.reset(OpARMADCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -1189,8 +1165,7 @@ func rewriteValueARM_OpARMADCshiftRA(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftRA x (MOVWconst [c]) [d] flags)
@@ -1205,8 +1180,7 @@ func rewriteValueARM_OpARMADCshiftRA(v *Value) bool {
flags := v_2
v.reset(OpARMADCconst)
v.AuxInt = int64(int32(c) >> uint64(d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -1230,10 +1204,8 @@ func rewriteValueARM_OpARMADCshiftRAreg(v *Value) bool {
v.reset(OpARMADCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftRAreg x y (MOVWconst [c]) flags)
@@ -1248,9 +1220,7 @@ func rewriteValueARM_OpARMADCshiftRAreg(v *Value) bool {
flags := v_3
v.reset(OpARMADCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -1275,8 +1245,7 @@ func rewriteValueARM_OpARMADCshiftRL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftRL x (MOVWconst [c]) [d] flags)
@@ -1291,8 +1260,7 @@ func rewriteValueARM_OpARMADCshiftRL(v *Value) bool {
flags := v_2
v.reset(OpARMADCconst)
v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -1316,10 +1284,8 @@ func rewriteValueARM_OpARMADCshiftRLreg(v *Value) bool {
v.reset(OpARMADCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (ADCshiftRLreg x y (MOVWconst [c]) flags)
@@ -1334,9 +1300,7 @@ func rewriteValueARM_OpARMADCshiftRLreg(v *Value) bool {
flags := v_3
v.reset(OpARMADCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -1373,8 +1337,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1391,8 +1354,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1409,8 +1371,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1426,9 +1387,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1444,9 +1403,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1462,9 +1419,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1479,8 +1434,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARMSUB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1503,8 +1457,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
v.reset(OpARMRSBconst)
v.AuxInt = c + d
v0 := b.NewValue0(v.Pos, OpARMADD, t)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1521,9 +1474,7 @@ func rewriteValueARM_OpARMADD(v *Value) bool {
x := v_0.Args[0]
a := v_1
v.reset(OpARMMULA)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(a)
+ v.AddArg3(x, y, a)
return true
}
break
@@ -1548,9 +1499,7 @@ func rewriteValueARM_OpARMADDD(v *Value) bool {
continue
}
v.reset(OpARMMULAD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1570,9 +1519,7 @@ func rewriteValueARM_OpARMADDD(v *Value) bool {
continue
}
v.reset(OpARMMULSD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1597,9 +1544,7 @@ func rewriteValueARM_OpARMADDF(v *Value) bool {
continue
}
v.reset(OpARMMULAF)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1619,9 +1564,7 @@ func rewriteValueARM_OpARMADDF(v *Value) bool {
continue
}
v.reset(OpARMMULSF)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1659,8 +1602,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1677,8 +1619,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1695,8 +1636,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMADDSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1712,9 +1652,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDSshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1730,9 +1668,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDSshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1748,9 +1684,7 @@ func rewriteValueARM_OpARMADDS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMADDSshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -1811,8 +1745,7 @@ func rewriteValueARM_OpARMADDSshiftLLreg(v *Value) bool {
v.reset(OpARMADDSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1827,8 +1760,7 @@ func rewriteValueARM_OpARMADDSshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -1887,8 +1819,7 @@ func rewriteValueARM_OpARMADDSshiftRAreg(v *Value) bool {
v.reset(OpARMADDSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1903,8 +1834,7 @@ func rewriteValueARM_OpARMADDSshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -1963,8 +1893,7 @@ func rewriteValueARM_OpARMADDSshiftRLreg(v *Value) bool {
v.reset(OpARMADDSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1979,8 +1908,7 @@ func rewriteValueARM_OpARMADDSshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2203,8 +2131,7 @@ func rewriteValueARM_OpARMADDshiftLLreg(v *Value) bool {
v.reset(OpARMADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2219,8 +2146,7 @@ func rewriteValueARM_OpARMADDshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2279,8 +2205,7 @@ func rewriteValueARM_OpARMADDshiftRAreg(v *Value) bool {
v.reset(OpARMADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2295,8 +2220,7 @@ func rewriteValueARM_OpARMADDshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2371,8 +2295,7 @@ func rewriteValueARM_OpARMADDshiftRLreg(v *Value) bool {
v.reset(OpARMADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2387,8 +2310,7 @@ func rewriteValueARM_OpARMADDshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMADDshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2424,8 +2346,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMANDshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2442,8 +2363,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMANDshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2460,8 +2380,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMANDshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2477,9 +2396,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMANDshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -2495,9 +2412,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMANDshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -2513,9 +2428,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMANDshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -2542,8 +2455,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARMBIC)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2560,8 +2472,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2578,8 +2489,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2596,8 +2506,7 @@ func rewriteValueARM_OpARMAND(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2759,8 +2668,7 @@ func rewriteValueARM_OpARMANDshiftLLreg(v *Value) bool {
v.reset(OpARMANDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2775,8 +2683,7 @@ func rewriteValueARM_OpARMANDshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMANDshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2854,8 +2761,7 @@ func rewriteValueARM_OpARMANDshiftRAreg(v *Value) bool {
v.reset(OpARMANDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2870,8 +2776,7 @@ func rewriteValueARM_OpARMANDshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMANDshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -2949,8 +2854,7 @@ func rewriteValueARM_OpARMANDshiftRLreg(v *Value) bool {
v.reset(OpARMANDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2965,8 +2869,7 @@ func rewriteValueARM_OpARMANDshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMANDshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3030,8 +2933,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (BIC x (SRLconst [c] y))
@@ -3045,8 +2947,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (BIC x (SRAconst [c] y))
@@ -3060,8 +2961,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMBICshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (BIC x (SLL y z))
@@ -3074,9 +2974,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMBICshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (BIC x (SRL y z))
@@ -3089,9 +2987,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMBICshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (BIC x (SRA y z))
@@ -3104,9 +3000,7 @@ func rewriteValueARM_OpARMBIC(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMBICshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (BIC x x)
@@ -3255,8 +3149,7 @@ func rewriteValueARM_OpARMBICshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMBICshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3312,8 +3205,7 @@ func rewriteValueARM_OpARMBICshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMBICshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3369,8 +3261,7 @@ func rewriteValueARM_OpARMBICshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMBICshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3406,8 +3297,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMNshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3424,8 +3314,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMNshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3442,8 +3331,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMNshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3459,9 +3347,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMNshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -3477,9 +3363,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMNshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -3495,9 +3379,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMNshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -3512,8 +3394,7 @@ func rewriteValueARM_OpARMCMN(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARMCMP)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -3653,8 +3534,7 @@ func rewriteValueARM_OpARMCMNshiftLLreg(v *Value) bool {
v.reset(OpARMCMNconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3669,8 +3549,7 @@ func rewriteValueARM_OpARMCMNshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMNshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3729,8 +3608,7 @@ func rewriteValueARM_OpARMCMNshiftRAreg(v *Value) bool {
v.reset(OpARMCMNconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3745,8 +3623,7 @@ func rewriteValueARM_OpARMCMNshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMNshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3805,8 +3682,7 @@ func rewriteValueARM_OpARMCMNshiftRLreg(v *Value) bool {
v.reset(OpARMCMNconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3821,8 +3697,7 @@ func rewriteValueARM_OpARMCMNshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMNshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -3898,8 +3773,7 @@ func rewriteValueARM_OpARMCMOVWHSconst(v *Value) bool {
flags := v_1.Args[0]
v.reset(OpARMCMOVWLSconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -3975,8 +3849,7 @@ func rewriteValueARM_OpARMCMOVWLSconst(v *Value) bool {
flags := v_1.Args[0]
v.reset(OpARMCMOVWHSconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -4024,8 +3897,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
}
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -4040,8 +3912,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMPshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMP (SLLconst [c] y) x)
@@ -4056,8 +3927,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -4072,8 +3942,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMPshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMP (SRLconst [c] y) x)
@@ -4088,8 +3957,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -4104,8 +3972,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMCMPshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMP (SRAconst [c] y) x)
@@ -4120,8 +3987,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -4135,9 +4001,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMPshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (CMP (SLL y z) x)
@@ -4151,9 +4015,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
x := v_1
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
v.AddArg(v0)
return true
}
@@ -4167,9 +4029,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMPshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (CMP (SRL y z) x)
@@ -4183,9 +4043,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
x := v_1
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
v.AddArg(v0)
return true
}
@@ -4199,9 +4057,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMCMPshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (CMP (SRA y z) x)
@@ -4215,9 +4071,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
x := v_1
v.reset(OpARMInvertFlags)
v0 := b.NewValue0(v.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
v.AddArg(v0)
return true
}
@@ -4230,8 +4084,7 @@ func rewriteValueARM_OpARMCMP(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARMCMN)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4456,8 +4309,7 @@ func rewriteValueARM_OpARMCMPshiftLLreg(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v1 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -4473,8 +4325,7 @@ func rewriteValueARM_OpARMCMPshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMPshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4536,8 +4387,7 @@ func rewriteValueARM_OpARMCMPshiftRAreg(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v1 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -4553,8 +4403,7 @@ func rewriteValueARM_OpARMCMPshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMPshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4616,8 +4465,7 @@ func rewriteValueARM_OpARMCMPshiftRLreg(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = c
v1 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -4633,8 +4481,7 @@ func rewriteValueARM_OpARMCMPshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMCMPshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -5241,8 +5088,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool {
v.reset(OpARMMOVBUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -5259,8 +5105,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool {
v.reset(OpARMMOVBUload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -5282,8 +5127,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool {
v.reset(OpARMMOVBUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off] {sym} ptr (MOVBstore [off2] {sym2} ptr2 x _))
@@ -5326,9 +5170,7 @@ func rewriteValueARM_OpARMMOVBUload(v *Value) bool {
break
}
v.reset(OpARMMOVBUloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBUload [off] {sym} (SB) _)
@@ -5383,8 +5225,7 @@ func rewriteValueARM_OpARMMOVBUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUloadidx (MOVWconst [c]) ptr mem)
@@ -5398,8 +5239,7 @@ func rewriteValueARM_OpARMMOVBUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -5472,8 +5312,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool {
v.reset(OpARMMOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -5490,8 +5329,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool {
v.reset(OpARMMOVBload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -5513,8 +5351,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool {
v.reset(OpARMMOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off] {sym} ptr (MOVBstore [off2] {sym2} ptr2 x _))
@@ -5557,9 +5394,7 @@ func rewriteValueARM_OpARMMOVBload(v *Value) bool {
break
}
v.reset(OpARMMOVBloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -5601,8 +5436,7 @@ func rewriteValueARM_OpARMMOVBloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBloadidx (MOVWconst [c]) ptr mem)
@@ -5616,8 +5450,7 @@ func rewriteValueARM_OpARMMOVBloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -5696,9 +5529,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off1] {sym} (SUBconst [off2] ptr) val mem)
@@ -5716,9 +5547,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -5741,9 +5570,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem)
@@ -5760,9 +5587,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBUreg x) mem)
@@ -5779,9 +5604,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem)
@@ -5798,9 +5621,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -5817,9 +5638,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
v.reset(OpARMMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [0] {sym} (ADD ptr idx) val mem)
@@ -5841,10 +5660,7 @@ func rewriteValueARM_OpARMMOVBstore(v *Value) bool {
break
}
v.reset(OpARMMOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -5866,9 +5682,7 @@ func rewriteValueARM_OpARMMOVBstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVBstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstoreidx (MOVWconst [c]) ptr val mem)
@@ -5883,9 +5697,7 @@ func rewriteValueARM_OpARMMOVBstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVBstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -5907,8 +5719,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool {
v.reset(OpARMMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -5925,8 +5736,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool {
v.reset(OpARMMOVDload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -5948,8 +5758,7 @@ func rewriteValueARM_OpARMMOVDload(v *Value) bool {
v.reset(OpARMMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off] {sym} ptr (MOVDstore [off2] {sym2} ptr2 x _))
@@ -5996,9 +5805,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool {
v.reset(OpARMMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off1] {sym} (SUBconst [off2] ptr) val mem)
@@ -6016,9 +5823,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool {
v.reset(OpARMMOVDstore)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -6041,9 +5846,7 @@ func rewriteValueARM_OpARMMOVDstore(v *Value) bool {
v.reset(OpARMMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -6065,8 +5868,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool {
v.reset(OpARMMOVFload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -6083,8 +5885,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool {
v.reset(OpARMMOVFload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -6106,8 +5907,7 @@ func rewriteValueARM_OpARMMOVFload(v *Value) bool {
v.reset(OpARMMOVFload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off] {sym} ptr (MOVFstore [off2] {sym2} ptr2 x _))
@@ -6154,9 +5954,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool {
v.reset(OpARMMOVFstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVFstore [off1] {sym} (SUBconst [off2] ptr) val mem)
@@ -6174,9 +5972,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool {
v.reset(OpARMMOVFstore)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVFstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -6199,9 +5995,7 @@ func rewriteValueARM_OpARMMOVFstore(v *Value) bool {
v.reset(OpARMMOVFstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -6225,8 +6019,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool {
v.reset(OpARMMOVHUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -6243,8 +6036,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool {
v.reset(OpARMMOVHUload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -6266,8 +6058,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool {
v.reset(OpARMMOVHUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off] {sym} ptr (MOVHstore [off2] {sym2} ptr2 x _))
@@ -6310,9 +6101,7 @@ func rewriteValueARM_OpARMMOVHUload(v *Value) bool {
break
}
v.reset(OpARMMOVHUloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUload [off] {sym} (SB) _)
@@ -6367,8 +6156,7 @@ func rewriteValueARM_OpARMMOVHUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVHUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUloadidx (MOVWconst [c]) ptr mem)
@@ -6382,8 +6170,7 @@ func rewriteValueARM_OpARMMOVHUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVHUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -6479,8 +6266,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool {
v.reset(OpARMMOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -6497,8 +6283,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool {
v.reset(OpARMMOVHload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -6520,8 +6305,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool {
v.reset(OpARMMOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off] {sym} ptr (MOVHstore [off2] {sym2} ptr2 x _))
@@ -6564,9 +6348,7 @@ func rewriteValueARM_OpARMMOVHload(v *Value) bool {
break
}
v.reset(OpARMMOVHloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6608,8 +6390,7 @@ func rewriteValueARM_OpARMMOVHloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHloadidx (MOVWconst [c]) ptr mem)
@@ -6623,8 +6404,7 @@ func rewriteValueARM_OpARMMOVHloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -6749,9 +6529,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
v.reset(OpARMMOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off1] {sym} (SUBconst [off2] ptr) val mem)
@@ -6769,9 +6547,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
v.reset(OpARMMOVHstore)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -6794,9 +6570,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
v.reset(OpARMMOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem)
@@ -6813,9 +6587,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
v.reset(OpARMMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -6832,9 +6604,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
v.reset(OpARMMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [0] {sym} (ADD ptr idx) val mem)
@@ -6856,10 +6626,7 @@ func rewriteValueARM_OpARMMOVHstore(v *Value) bool {
break
}
v.reset(OpARMMOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -6881,9 +6648,7 @@ func rewriteValueARM_OpARMMOVHstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVHstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstoreidx (MOVWconst [c]) ptr val mem)
@@ -6898,9 +6663,7 @@ func rewriteValueARM_OpARMMOVHstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVHstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -6924,8 +6687,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
v.reset(OpARMMOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym} (SUBconst [off2] ptr) mem)
@@ -6942,8 +6704,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
v.reset(OpARMMOVWload)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -6965,8 +6726,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
v.reset(OpARMMOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off] {sym} ptr (MOVWstore [off2] {sym2} ptr2 x _))
@@ -7010,9 +6770,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
break
}
v.reset(OpARMMOVWloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [0] {sym} (ADDshiftLL ptr idx [c]) mem)
@@ -7035,9 +6793,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
}
v.reset(OpARMMOVWloadshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [0] {sym} (ADDshiftRL ptr idx [c]) mem)
@@ -7060,9 +6816,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
}
v.reset(OpARMMOVWloadshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [0] {sym} (ADDshiftRA ptr idx [c]) mem)
@@ -7085,9 +6839,7 @@ func rewriteValueARM_OpARMMOVWload(v *Value) bool {
}
v.reset(OpARMMOVWloadshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off] {sym} (SB) _)
@@ -7143,8 +6895,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx (MOVWconst [c]) ptr mem)
@@ -7158,8 +6909,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx ptr (SLLconst idx [c]) mem)
@@ -7174,9 +6924,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx (SLLconst idx [c]) ptr mem)
@@ -7191,9 +6939,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx ptr (SRLconst idx [c]) mem)
@@ -7208,9 +6954,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx (SRLconst idx [c]) ptr mem)
@@ -7225,9 +6969,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx ptr (SRAconst idx [c]) mem)
@@ -7242,9 +6984,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx (SRAconst idx [c]) ptr mem)
@@ -7259,9 +6999,7 @@ func rewriteValueARM_OpARMMOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWloadshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7307,8 +7045,7 @@ func rewriteValueARM_OpARMMOVWloadshiftLL(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWload)
v.AuxInt = int64(uint32(c) << uint64(d))
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -7354,8 +7091,7 @@ func rewriteValueARM_OpARMMOVWloadshiftRA(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWload)
v.AuxInt = int64(int32(c) >> uint64(d))
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -7401,8 +7137,7 @@ func rewriteValueARM_OpARMMOVWloadshiftRL(v *Value) bool {
mem := v_2
v.reset(OpARMMOVWload)
v.AuxInt = int64(uint32(c) >> uint64(d))
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -7453,9 +7188,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
v.reset(OpARMMOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off1] {sym} (SUBconst [off2] ptr) val mem)
@@ -7473,9 +7206,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
v.reset(OpARMMOVWstore)
v.AuxInt = off1 - off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -7498,9 +7229,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
v.reset(OpARMMOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [0] {sym} (ADD ptr idx) val mem)
@@ -7522,10 +7251,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
break
}
v.reset(OpARMMOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [0] {sym} (ADDshiftLL ptr idx [c]) val mem)
@@ -7549,10 +7275,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
}
v.reset(OpARMMOVWstoreshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [0] {sym} (ADDshiftRL ptr idx [c]) val mem)
@@ -7576,10 +7299,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
}
v.reset(OpARMMOVWstoreshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [0] {sym} (ADDshiftRA ptr idx [c]) val mem)
@@ -7603,10 +7323,7 @@ func rewriteValueARM_OpARMMOVWstore(v *Value) bool {
}
v.reset(OpARMMOVWstoreshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7628,9 +7345,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx (MOVWconst [c]) ptr val mem)
@@ -7645,9 +7360,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx ptr (SLLconst idx [c]) val mem)
@@ -7663,10 +7376,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx (SLLconst idx [c]) ptr val mem)
@@ -7682,10 +7392,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftLL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx ptr (SRLconst idx [c]) val mem)
@@ -7701,10 +7408,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx (SRLconst idx [c]) ptr val mem)
@@ -7720,10 +7424,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftRL)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx ptr (SRAconst idx [c]) val mem)
@@ -7739,10 +7440,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx (SRAconst idx [c]) ptr val mem)
@@ -7758,10 +7456,7 @@ func rewriteValueARM_OpARMMOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstoreshiftRA)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -7784,9 +7479,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftLL(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstore)
v.AuxInt = int64(uint32(c) << uint64(d))
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -7809,9 +7502,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRA(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstore)
v.AuxInt = int64(int32(c) >> uint64(d))
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -7834,9 +7525,7 @@ func rewriteValueARM_OpARMMOVWstoreshiftRL(v *Value) bool {
mem := v_3
v.reset(OpARMMOVWstore)
v.AuxInt = int64(uint32(c) >> uint64(d))
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -7928,8 +7617,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
}
v.reset(OpARMADDshiftLL)
v.AuxInt = log2(c - 1)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
break
@@ -7949,8 +7637,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
}
v.reset(OpARMRSBshiftLL)
v.AuxInt = log2(c + 1)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
break
@@ -7972,8 +7659,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = 1
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -7996,8 +7682,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -8020,8 +7705,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
v.AuxInt = log2(c / 7)
v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -8044,8 +7728,7 @@ func rewriteValueARM_OpARMMUL(v *Value) bool {
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -8090,8 +7773,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
break
}
v.reset(OpARMSUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MULA _ (MOVWconst [0]) a)
@@ -8115,8 +7797,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
}
a := v_2
v.reset(OpARMADD)
- v.AddArg(x)
- v.AddArg(a)
+ v.AddArg2(x, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8136,8 +7817,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8156,10 +7836,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v.reset(OpARMADD)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8178,10 +7856,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v.reset(OpARMADD)
v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8202,11 +7878,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 3)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 1
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8227,11 +7901,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8252,11 +7924,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 7)
v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA x (MOVWconst [c]) a)
@@ -8277,11 +7947,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8298,8 +7966,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
break
}
v.reset(OpARMSUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MULA (MOVWconst [0]) _ a)
@@ -8323,8 +7990,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
x := v_1
a := v_2
v.reset(OpARMADD)
- v.AddArg(x)
- v.AddArg(a)
+ v.AddArg2(x, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8344,8 +8010,7 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8364,10 +8029,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v.reset(OpARMADD)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8386,10 +8049,8 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v.reset(OpARMADD)
v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8410,11 +8071,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 3)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 1
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8435,11 +8094,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8460,11 +8117,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 7)
v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) x a)
@@ -8485,11 +8140,9 @@ func rewriteValueARM_OpARMMULA(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULA (MOVWconst [c]) (MOVWconst [d]) a)
@@ -8528,8 +8181,7 @@ func rewriteValueARM_OpARMMULD(v *Value) bool {
continue
}
v.reset(OpARMNMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -8553,8 +8205,7 @@ func rewriteValueARM_OpARMMULF(v *Value) bool {
continue
}
v.reset(OpARMNMULF)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -8580,8 +8231,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
break
}
v.reset(OpARMADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MULS _ (MOVWconst [0]) a)
@@ -8605,8 +8255,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
}
a := v_2
v.reset(OpARMRSB)
- v.AddArg(x)
- v.AddArg(a)
+ v.AddArg2(x, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8626,8 +8275,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8646,10 +8294,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v.reset(OpARMRSB)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8668,10 +8314,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v.reset(OpARMRSB)
v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8692,11 +8336,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 3)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 1
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8717,11 +8359,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8742,11 +8382,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 7)
v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS x (MOVWconst [c]) a)
@@ -8767,11 +8405,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8788,8 +8424,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
break
}
v.reset(OpARMADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MULS (MOVWconst [0]) _ a)
@@ -8813,8 +8448,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
x := v_1
a := v_2
v.reset(OpARMRSB)
- v.AddArg(x)
- v.AddArg(a)
+ v.AddArg2(x, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8834,8 +8468,7 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = log2(c)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8854,10 +8487,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v.reset(OpARMRSB)
v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8876,10 +8507,8 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v.reset(OpARMRSB)
v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(a)
+ v0.AddArg2(x, x)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8900,11 +8529,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 3)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 1
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8925,11 +8552,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8950,11 +8575,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 7)
v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) x a)
@@ -8975,11 +8598,9 @@ func rewriteValueARM_OpARMMULS(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(a)
+ v.AddArg2(v0, a)
return true
}
// match: (MULS (MOVWconst [c]) (MOVWconst [d]) a)
@@ -9062,8 +8683,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARMMVNshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (MVN (SRL x y))
@@ -9075,8 +8695,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARMMVNshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (MVN (SRA x y))
@@ -9088,8 +8707,7 @@ func rewriteValueARM_OpARMMVN(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARMMVNshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9211,8 +8829,7 @@ func rewriteValueARM_OpARMNEGD(v *Value) bool {
break
}
v.reset(OpARMNMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9232,8 +8849,7 @@ func rewriteValueARM_OpARMNEGF(v *Value) bool {
break
}
v.reset(OpARMNMULF)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9251,8 +8867,7 @@ func rewriteValueARM_OpARMNMULD(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARMMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9272,8 +8887,7 @@ func rewriteValueARM_OpARMNMULF(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARMMULF)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9376,8 +8990,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMORshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9394,8 +9007,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMORshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9412,8 +9024,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMORshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -9429,9 +9040,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMORshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -9447,9 +9056,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMORshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -9465,9 +9072,7 @@ func rewriteValueARM_OpARMOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMORshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -9663,8 +9268,7 @@ func rewriteValueARM_OpARMORshiftLLreg(v *Value) bool {
v.reset(OpARMORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -9679,8 +9283,7 @@ func rewriteValueARM_OpARMORshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMORshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9758,8 +9361,7 @@ func rewriteValueARM_OpARMORshiftRAreg(v *Value) bool {
v.reset(OpARMORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -9774,8 +9376,7 @@ func rewriteValueARM_OpARMORshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMORshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9869,8 +9470,7 @@ func rewriteValueARM_OpARMORshiftRLreg(v *Value) bool {
v.reset(OpARMORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -9885,8 +9485,7 @@ func rewriteValueARM_OpARMORshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMORshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -9931,8 +9530,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMRSBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB (SLLconst [c] y) x)
@@ -9946,8 +9544,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
x := v_1
v.reset(OpARMSUBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB x (SRLconst [c] y))
@@ -9961,8 +9558,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMRSBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB (SRLconst [c] y) x)
@@ -9976,8 +9572,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
x := v_1
v.reset(OpARMSUBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB x (SRAconst [c] y))
@@ -9991,8 +9586,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMRSBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB (SRAconst [c] y) x)
@@ -10006,8 +9600,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
x := v_1
v.reset(OpARMSUBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (RSB x (SLL y z))
@@ -10020,9 +9613,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMRSBshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB (SLL y z) x)
@@ -10035,9 +9626,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMSUBshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB x (SRL y z))
@@ -10050,9 +9639,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMRSBshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB (SRL y z) x)
@@ -10065,9 +9652,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMSUBshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB x (SRA y z))
@@ -10080,9 +9665,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMRSBshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB (SRA y z) x)
@@ -10095,9 +9678,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMSUBshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (RSB x x)
@@ -10125,9 +9706,7 @@ func rewriteValueARM_OpARMRSB(v *Value) bool {
break
}
v.reset(OpARMMULS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(a)
+ v.AddArg3(x, y, a)
return true
}
return false
@@ -10186,8 +9765,7 @@ func rewriteValueARM_OpARMRSBSshiftLLreg(v *Value) bool {
v.reset(OpARMSUBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10202,8 +9780,7 @@ func rewriteValueARM_OpARMRSBSshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10262,8 +9839,7 @@ func rewriteValueARM_OpARMRSBSshiftRAreg(v *Value) bool {
v.reset(OpARMSUBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10278,8 +9854,7 @@ func rewriteValueARM_OpARMRSBSshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10338,8 +9913,7 @@ func rewriteValueARM_OpARMRSBSshiftRLreg(v *Value) bool {
v.reset(OpARMSUBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10354,8 +9928,7 @@ func rewriteValueARM_OpARMRSBSshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10489,8 +10062,7 @@ func rewriteValueARM_OpARMRSBshiftLLreg(v *Value) bool {
v.reset(OpARMSUBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10505,8 +10077,7 @@ func rewriteValueARM_OpARMRSBshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10582,8 +10153,7 @@ func rewriteValueARM_OpARMRSBshiftRAreg(v *Value) bool {
v.reset(OpARMSUBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10598,8 +10168,7 @@ func rewriteValueARM_OpARMRSBshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10675,8 +10244,7 @@ func rewriteValueARM_OpARMRSBshiftRLreg(v *Value) bool {
v.reset(OpARMSUBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -10691,8 +10259,7 @@ func rewriteValueARM_OpARMRSBshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMRSBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10712,8 +10279,7 @@ func rewriteValueARM_OpARMRSCconst(v *Value) bool {
flags := v_1
v.reset(OpARMRSCconst)
v.AuxInt = int64(int32(c - d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
// match: (RSCconst [c] (SUBconst [d] x) flags)
@@ -10728,8 +10294,7 @@ func rewriteValueARM_OpARMRSCconst(v *Value) bool {
flags := v_1
v.reset(OpARMRSCconst)
v.AuxInt = int64(int32(c + d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -10754,8 +10319,7 @@ func rewriteValueARM_OpARMRSCshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftLL x (MOVWconst [c]) [d] flags)
@@ -10770,8 +10334,7 @@ func rewriteValueARM_OpARMRSCshiftLL(v *Value) bool {
flags := v_2
v.reset(OpARMRSCconst)
v.AuxInt = int64(int32(uint32(c) << uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -10795,10 +10358,8 @@ func rewriteValueARM_OpARMRSCshiftLLreg(v *Value) bool {
v.reset(OpARMSBCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftLLreg x y (MOVWconst [c]) flags)
@@ -10813,9 +10374,7 @@ func rewriteValueARM_OpARMRSCshiftLLreg(v *Value) bool {
flags := v_3
v.reset(OpARMRSCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -10840,8 +10399,7 @@ func rewriteValueARM_OpARMRSCshiftRA(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftRA x (MOVWconst [c]) [d] flags)
@@ -10856,8 +10414,7 @@ func rewriteValueARM_OpARMRSCshiftRA(v *Value) bool {
flags := v_2
v.reset(OpARMRSCconst)
v.AuxInt = int64(int32(c) >> uint64(d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -10881,10 +10438,8 @@ func rewriteValueARM_OpARMRSCshiftRAreg(v *Value) bool {
v.reset(OpARMSBCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftRAreg x y (MOVWconst [c]) flags)
@@ -10899,9 +10454,7 @@ func rewriteValueARM_OpARMRSCshiftRAreg(v *Value) bool {
flags := v_3
v.reset(OpARMRSCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -10926,8 +10479,7 @@ func rewriteValueARM_OpARMRSCshiftRL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftRL x (MOVWconst [c]) [d] flags)
@@ -10942,8 +10494,7 @@ func rewriteValueARM_OpARMRSCshiftRL(v *Value) bool {
flags := v_2
v.reset(OpARMRSCconst)
v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -10967,10 +10518,8 @@ func rewriteValueARM_OpARMRSCshiftRLreg(v *Value) bool {
v.reset(OpARMSBCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (RSCshiftRLreg x y (MOVWconst [c]) flags)
@@ -10985,9 +10534,7 @@ func rewriteValueARM_OpARMRSCshiftRLreg(v *Value) bool {
flags := v_3
v.reset(OpARMRSCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -11007,8 +10554,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMRSCconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
// match: (SBC x (MOVWconst [c]) flags)
@@ -11022,8 +10568,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMSBCconst)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
// match: (SBC x (SLLconst [c] y) flags)
@@ -11038,9 +10583,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMSBCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC (SLLconst [c] y) x flags)
@@ -11055,9 +10598,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMRSCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC x (SRLconst [c] y) flags)
@@ -11072,9 +10613,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMSBCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC (SRLconst [c] y) x flags)
@@ -11089,9 +10628,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMRSCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC x (SRAconst [c] y) flags)
@@ -11106,9 +10643,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMSBCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC (SRAconst [c] y) x flags)
@@ -11123,9 +10658,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
flags := v_2
v.reset(OpARMRSCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
// match: (SBC x (SLL y z) flags)
@@ -11139,10 +10672,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMSBCshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
// match: (SBC (SLL y z) x flags)
@@ -11156,10 +10686,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
x := v_1
flags := v_2
v.reset(OpARMRSCshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
// match: (SBC x (SRL y z) flags)
@@ -11173,10 +10700,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMSBCshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
// match: (SBC (SRL y z) x flags)
@@ -11190,10 +10714,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
x := v_1
flags := v_2
v.reset(OpARMRSCshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
// match: (SBC x (SRA y z) flags)
@@ -11207,10 +10728,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
y := v_1.Args[0]
flags := v_2
v.reset(OpARMSBCshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
// match: (SBC (SRA y z) x flags)
@@ -11224,10 +10742,7 @@ func rewriteValueARM_OpARMSBC(v *Value) bool {
x := v_1
flags := v_2
v.reset(OpARMRSCshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
- v.AddArg(flags)
+ v.AddArg4(x, y, z, flags)
return true
}
return false
@@ -11247,8 +10762,7 @@ func rewriteValueARM_OpARMSBCconst(v *Value) bool {
flags := v_1
v.reset(OpARMSBCconst)
v.AuxInt = int64(int32(c - d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
// match: (SBCconst [c] (SUBconst [d] x) flags)
@@ -11263,8 +10777,7 @@ func rewriteValueARM_OpARMSBCconst(v *Value) bool {
flags := v_1
v.reset(OpARMSBCconst)
v.AuxInt = int64(int32(c + d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -11289,8 +10802,7 @@ func rewriteValueARM_OpARMSBCshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftLL x (MOVWconst [c]) [d] flags)
@@ -11305,8 +10817,7 @@ func rewriteValueARM_OpARMSBCshiftLL(v *Value) bool {
flags := v_2
v.reset(OpARMSBCconst)
v.AuxInt = int64(int32(uint32(c) << uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -11330,10 +10841,8 @@ func rewriteValueARM_OpARMSBCshiftLLreg(v *Value) bool {
v.reset(OpARMRSCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftLLreg x y (MOVWconst [c]) flags)
@@ -11348,9 +10857,7 @@ func rewriteValueARM_OpARMSBCshiftLLreg(v *Value) bool {
flags := v_3
v.reset(OpARMSBCshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -11375,8 +10882,7 @@ func rewriteValueARM_OpARMSBCshiftRA(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftRA x (MOVWconst [c]) [d] flags)
@@ -11391,8 +10897,7 @@ func rewriteValueARM_OpARMSBCshiftRA(v *Value) bool {
flags := v_2
v.reset(OpARMSBCconst)
v.AuxInt = int64(int32(c) >> uint64(d))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -11416,10 +10921,8 @@ func rewriteValueARM_OpARMSBCshiftRAreg(v *Value) bool {
v.reset(OpARMRSCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftRAreg x y (MOVWconst [c]) flags)
@@ -11434,9 +10937,7 @@ func rewriteValueARM_OpARMSBCshiftRAreg(v *Value) bool {
flags := v_3
v.reset(OpARMSBCshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -11461,8 +10962,7 @@ func rewriteValueARM_OpARMSBCshiftRL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
v0.AuxInt = d
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(flags)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftRL x (MOVWconst [c]) [d] flags)
@@ -11477,8 +10977,7 @@ func rewriteValueARM_OpARMSBCshiftRL(v *Value) bool {
flags := v_2
v.reset(OpARMSBCconst)
v.AuxInt = int64(int32(uint32(c) >> uint64(d)))
- v.AddArg(x)
- v.AddArg(flags)
+ v.AddArg2(x, flags)
return true
}
return false
@@ -11502,10 +11001,8 @@ func rewriteValueARM_OpARMSBCshiftRLreg(v *Value) bool {
v.reset(OpARMRSCconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(flags)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, flags)
return true
}
// match: (SBCshiftRLreg x y (MOVWconst [c]) flags)
@@ -11520,9 +11017,7 @@ func rewriteValueARM_OpARMSBCshiftRLreg(v *Value) bool {
flags := v_3
v.reset(OpARMSBCshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flags)
+ v.AddArg3(x, y, flags)
return true
}
return false
@@ -11604,8 +11099,7 @@ func rewriteValueARM_OpARMSRAcond(v *Value) bool {
break
}
v.reset(OpARMSRA)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SRAcond x _ (FlagLT_UGT))
@@ -11629,8 +11123,7 @@ func rewriteValueARM_OpARMSRAcond(v *Value) bool {
break
}
v.reset(OpARMSRA)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SRAcond x _ (FlagGT_UGT))
@@ -11773,8 +11266,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB (SLLconst [c] y) x)
@@ -11788,8 +11280,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
x := v_1
v.reset(OpARMRSBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB x (SRLconst [c] y))
@@ -11803,8 +11294,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB (SRLconst [c] y) x)
@@ -11818,8 +11308,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
x := v_1
v.reset(OpARMRSBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB x (SRAconst [c] y))
@@ -11833,8 +11322,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB (SRAconst [c] y) x)
@@ -11848,8 +11336,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
x := v_1
v.reset(OpARMRSBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUB x (SLL y z))
@@ -11862,9 +11349,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB (SLL y z) x)
@@ -11877,9 +11362,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB x (SRL y z))
@@ -11892,9 +11375,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB (SRL y z) x)
@@ -11907,9 +11388,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB x (SRA y z))
@@ -11922,9 +11401,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB (SRA y z) x)
@@ -11937,9 +11414,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUB x x)
@@ -11967,9 +11442,7 @@ func rewriteValueARM_OpARMSUB(v *Value) bool {
break
}
v.reset(OpARMMULS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(a)
+ v.AddArg3(x, y, a)
return true
}
return false
@@ -11991,9 +11464,7 @@ func rewriteValueARM_OpARMSUBD(v *Value) bool {
break
}
v.reset(OpARMMULSD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUBD a (NMULD x y))
@@ -12010,9 +11481,7 @@ func rewriteValueARM_OpARMSUBD(v *Value) bool {
break
}
v.reset(OpARMMULAD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
return false
@@ -12034,9 +11503,7 @@ func rewriteValueARM_OpARMSUBF(v *Value) bool {
break
}
v.reset(OpARMMULSF)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUBF a (NMULF x y))
@@ -12053,9 +11520,7 @@ func rewriteValueARM_OpARMSUBF(v *Value) bool {
break
}
v.reset(OpARMMULAF)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
return false
@@ -12087,8 +11552,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS (SLLconst [c] y) x)
@@ -12102,8 +11566,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
x := v_1
v.reset(OpARMRSBSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS x (SRLconst [c] y))
@@ -12117,8 +11580,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS (SRLconst [c] y) x)
@@ -12132,8 +11594,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
x := v_1
v.reset(OpARMRSBSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS x (SRAconst [c] y))
@@ -12147,8 +11608,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMSUBSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS (SRAconst [c] y) x)
@@ -12162,8 +11622,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
x := v_1
v.reset(OpARMRSBSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (SUBS x (SLL y z))
@@ -12176,9 +11635,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBSshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUBS (SLL y z) x)
@@ -12191,9 +11648,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBSshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUBS x (SRL y z))
@@ -12206,9 +11661,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBSshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUBS (SRL y z) x)
@@ -12221,9 +11674,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBSshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUBS x (SRA y z))
@@ -12236,9 +11687,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMSUBSshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
// match: (SUBS (SRA y z) x)
@@ -12251,9 +11700,7 @@ func rewriteValueARM_OpARMSUBS(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpARMRSBSshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
return false
@@ -12312,8 +11759,7 @@ func rewriteValueARM_OpARMSUBSshiftLLreg(v *Value) bool {
v.reset(OpARMRSBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12328,8 +11774,7 @@ func rewriteValueARM_OpARMSUBSshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBSshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12388,8 +11833,7 @@ func rewriteValueARM_OpARMSUBSshiftRAreg(v *Value) bool {
v.reset(OpARMRSBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12404,8 +11848,7 @@ func rewriteValueARM_OpARMSUBSshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBSshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12464,8 +11907,7 @@ func rewriteValueARM_OpARMSUBSshiftRLreg(v *Value) bool {
v.reset(OpARMRSBSconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12480,8 +11922,7 @@ func rewriteValueARM_OpARMSUBSshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBSshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12671,8 +12112,7 @@ func rewriteValueARM_OpARMSUBshiftLLreg(v *Value) bool {
v.reset(OpARMRSBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12687,8 +12127,7 @@ func rewriteValueARM_OpARMSUBshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12764,8 +12203,7 @@ func rewriteValueARM_OpARMSUBshiftRAreg(v *Value) bool {
v.reset(OpARMRSBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12780,8 +12218,7 @@ func rewriteValueARM_OpARMSUBshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12857,8 +12294,7 @@ func rewriteValueARM_OpARMSUBshiftRLreg(v *Value) bool {
v.reset(OpARMRSBconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -12873,8 +12309,7 @@ func rewriteValueARM_OpARMSUBshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMSUBshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -12910,8 +12345,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTEQshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -12928,8 +12362,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTEQshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -12946,8 +12379,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTEQshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -12963,9 +12395,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTEQshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -12981,9 +12411,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTEQshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -12999,9 +12427,7 @@ func rewriteValueARM_OpARMTEQ(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTEQshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13111,8 +12537,7 @@ func rewriteValueARM_OpARMTEQshiftLLreg(v *Value) bool {
v.reset(OpARMTEQconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13127,8 +12552,7 @@ func rewriteValueARM_OpARMTEQshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTEQshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13187,8 +12611,7 @@ func rewriteValueARM_OpARMTEQshiftRAreg(v *Value) bool {
v.reset(OpARMTEQconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13203,8 +12626,7 @@ func rewriteValueARM_OpARMTEQshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTEQshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13263,8 +12685,7 @@ func rewriteValueARM_OpARMTEQshiftRLreg(v *Value) bool {
v.reset(OpARMTEQconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13279,8 +12700,7 @@ func rewriteValueARM_OpARMTEQshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTEQshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13316,8 +12736,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTSTshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13334,8 +12753,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTSTshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13352,8 +12770,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMTSTshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13369,9 +12786,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTSTshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13387,9 +12802,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTSTshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13405,9 +12818,7 @@ func rewriteValueARM_OpARMTST(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMTSTshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13517,8 +12928,7 @@ func rewriteValueARM_OpARMTSTshiftLLreg(v *Value) bool {
v.reset(OpARMTSTconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13533,8 +12943,7 @@ func rewriteValueARM_OpARMTSTshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTSTshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13593,8 +13002,7 @@ func rewriteValueARM_OpARMTSTshiftRAreg(v *Value) bool {
v.reset(OpARMTSTconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13609,8 +13017,7 @@ func rewriteValueARM_OpARMTSTshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTSTshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13669,8 +13076,7 @@ func rewriteValueARM_OpARMTSTshiftRLreg(v *Value) bool {
v.reset(OpARMTSTconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -13685,8 +13091,7 @@ func rewriteValueARM_OpARMTSTshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMTSTshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -13722,8 +13127,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMXORshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13740,8 +13144,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMXORshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13758,8 +13161,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMXORshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13776,8 +13178,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARMXORshiftRR)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -13793,9 +13194,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMXORshiftLLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13811,9 +13210,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMXORshiftRLreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -13829,9 +13226,7 @@ func rewriteValueARM_OpARMXOR(v *Value) bool {
z := v_1.Args[1]
y := v_1.Args[0]
v.reset(OpARMXORshiftRAreg)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -14012,8 +13407,7 @@ func rewriteValueARM_OpARMXORshiftLLreg(v *Value) bool {
v.reset(OpARMXORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14028,8 +13422,7 @@ func rewriteValueARM_OpARMXORshiftLLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMXORshiftLL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14105,8 +13498,7 @@ func rewriteValueARM_OpARMXORshiftRAreg(v *Value) bool {
v.reset(OpARMXORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14121,8 +13513,7 @@ func rewriteValueARM_OpARMXORshiftRAreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMXORshiftRA)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14214,8 +13605,7 @@ func rewriteValueARM_OpARMXORshiftRLreg(v *Value) bool {
v.reset(OpARMXORconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14230,8 +13620,7 @@ func rewriteValueARM_OpARMXORshiftRLreg(v *Value) bool {
c := v_2.AuxInt
v.reset(OpARMXORshiftRL)
v.AuxInt = c
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -14287,11 +13676,9 @@ func rewriteValueARM_OpAvg32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRLconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpARMSUB, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -14330,18 +13717,16 @@ func rewriteValueARM_OpBswap32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpARMBICconst, t)
v1.AuxInt = 0xff0000
v2 := b.NewValue0(v.Pos, OpARMXOR, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARMSRRconst, t)
v3.AuxInt = 16
v3.AddArg(x)
- v2.AddArg(v3)
+ v2.AddArg2(x, v3)
v1.AddArg(v2)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpARMSRRconst, t)
v4.AuxInt = 8
v4.AddArg(x)
- v.AddArg(v4)
+ v.AddArg2(v0, v4)
return true
}
// match: (Bswap32 x)
@@ -14389,14 +13774,13 @@ func rewriteValueARM_OpCtz16(v *Value) bool {
v3 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
v3.AuxInt = 0x10000
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32)
v4.AuxInt = 0
v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
v5.AuxInt = 0x10000
v5.AddArg(x)
v4.AddArg(v5)
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -14441,11 +13825,10 @@ func rewriteValueARM_OpCtz32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpARMSUBconst, t)
v1.AuxInt = 1
v2 := b.NewValue0(v.Pos, OpARMAND, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARMRSBconst, t)
v3.AuxInt = 0
v3.AddArg(x)
- v2.AddArg(v3)
+ v2.AddArg2(x, v3)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -14491,14 +13874,13 @@ func rewriteValueARM_OpCtz8(v *Value) bool {
v3 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
v3.AuxInt = 0x100
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32)
v4.AuxInt = 0
v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
v5.AuxInt = 0x100
v5.AddArg(x)
v4.AddArg(v5)
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -14538,10 +13920,9 @@ func rewriteValueARM_OpDiv16(v *Value) bool {
v.reset(OpDiv32)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14558,10 +13939,9 @@ func rewriteValueARM_OpDiv16u(v *Value) bool {
v.reset(OpDiv32u)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14581,41 +13961,32 @@ func rewriteValueARM_OpDiv32(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
v3 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
v4 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v5.AddArg(x)
- v4.AddArg(v5)
- v3.AddArg(v4)
+ v4.AddArg2(x, v5)
v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v6.AddArg(x)
- v3.AddArg(v6)
- v2.AddArg(v3)
+ v3.AddArg2(v4, v6)
v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v8.AddArg(y)
v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v9.AddArg(y)
- v8.AddArg(v9)
- v7.AddArg(v8)
+ v8.AddArg2(y, v9)
v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v10.AddArg(y)
- v7.AddArg(v10)
- v2.AddArg(v7)
+ v7.AddArg2(v8, v10)
+ v2.AddArg2(v3, v7)
v1.AddArg(v2)
- v0.AddArg(v1)
v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v12 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v12.AddArg(x)
- v12.AddArg(y)
+ v12.AddArg2(x, y)
v11.AddArg(v12)
- v0.AddArg(v11)
- v.AddArg(v0)
+ v0.AddArg2(v1, v11)
v13 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v14 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v14.AddArg(x)
- v14.AddArg(y)
+ v14.AddArg2(x, y)
v13.AddArg(v14)
- v.AddArg(v13)
+ v.AddArg2(v0, v13)
return true
}
}
@@ -14632,8 +14003,7 @@ func rewriteValueARM_OpDiv32u(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt32
v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14651,10 +14021,9 @@ func rewriteValueARM_OpDiv8(v *Value) bool {
v.reset(OpDiv32)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14671,10 +14040,9 @@ func rewriteValueARM_OpDiv8u(v *Value) bool {
v.reset(OpDiv32u)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14692,10 +14060,9 @@ func rewriteValueARM_OpEq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -14711,8 +14078,7 @@ func rewriteValueARM_OpEq32(v *Value) bool {
y := v_1
v.reset(OpARMEqual)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14728,8 +14094,7 @@ func rewriteValueARM_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpARMEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14745,8 +14110,7 @@ func rewriteValueARM_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpARMEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14765,10 +14129,9 @@ func rewriteValueARM_OpEq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -14786,8 +14149,7 @@ func rewriteValueARM_OpEqB(v *Value) bool {
v.reset(OpARMXORconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpARMXOR, typ.Bool)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14803,8 +14165,7 @@ func rewriteValueARM_OpEqPtr(v *Value) bool {
y := v_1
v.reset(OpARMEqual)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14820,9 +14181,7 @@ func rewriteValueARM_OpFMA(v *Value) bool {
y := v_1
z := v_2
v.reset(OpARMFMULAD)
- v.AddArg(z)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(z, x, y)
return true
}
}
@@ -14837,8 +14196,7 @@ func rewriteValueARM_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14854,8 +14212,7 @@ func rewriteValueARM_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14871,8 +14228,7 @@ func rewriteValueARM_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterThan)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14888,8 +14244,7 @@ func rewriteValueARM_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterThan)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14905,8 +14260,7 @@ func rewriteValueARM_OpIsInBounds(v *Value) bool {
len := v_1
v.reset(OpARMLessThanU)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -14937,8 +14291,7 @@ func rewriteValueARM_OpIsSliceInBounds(v *Value) bool {
len := v_1
v.reset(OpARMLessEqualU)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -14957,10 +14310,9 @@ func rewriteValueARM_OpLeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -14979,10 +14331,9 @@ func rewriteValueARM_OpLeq16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -14998,8 +14349,7 @@ func rewriteValueARM_OpLeq32(v *Value) bool {
y := v_1
v.reset(OpARMLessEqual)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15015,8 +14365,7 @@ func rewriteValueARM_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -15032,8 +14381,7 @@ func rewriteValueARM_OpLeq32U(v *Value) bool {
y := v_1
v.reset(OpARMLessEqualU)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15049,8 +14397,7 @@ func rewriteValueARM_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -15069,10 +14416,9 @@ func rewriteValueARM_OpLeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15091,10 +14437,9 @@ func rewriteValueARM_OpLeq8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15113,10 +14458,9 @@ func rewriteValueARM_OpLess16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15135,10 +14479,9 @@ func rewriteValueARM_OpLess16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15154,8 +14497,7 @@ func rewriteValueARM_OpLess32(v *Value) bool {
y := v_1
v.reset(OpARMLessThan)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15171,8 +14513,7 @@ func rewriteValueARM_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterThan)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -15188,8 +14529,7 @@ func rewriteValueARM_OpLess32U(v *Value) bool {
y := v_1
v.reset(OpARMLessThanU)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15205,8 +14545,7 @@ func rewriteValueARM_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpARMGreaterThan)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -15225,10 +14564,9 @@ func rewriteValueARM_OpLess8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15247,10 +14585,9 @@ func rewriteValueARM_OpLess8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -15269,8 +14606,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15284,8 +14620,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15299,8 +14634,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15314,8 +14648,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15329,8 +14662,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVHUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15344,8 +14676,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15359,8 +14690,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVFload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -15374,8 +14704,7 @@ func rewriteValueARM_OpLoad(v *Value) bool {
break
}
v.reset(OpARMMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -15406,17 +14735,15 @@ func rewriteValueARM_OpLsh16x16(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -15432,13 +14759,11 @@ func rewriteValueARM_OpLsh16x32(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15490,10 +14815,9 @@ func rewriteValueARM_OpLsh16x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -15510,17 +14834,15 @@ func rewriteValueARM_OpLsh32x16(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -15536,13 +14858,11 @@ func rewriteValueARM_OpLsh32x32(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15594,10 +14914,9 @@ func rewriteValueARM_OpLsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -15614,17 +14933,15 @@ func rewriteValueARM_OpLsh8x16(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -15640,13 +14957,11 @@ func rewriteValueARM_OpLsh8x32(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15698,10 +15013,9 @@ func rewriteValueARM_OpLsh8x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSLL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -15718,10 +15032,9 @@ func rewriteValueARM_OpMod16(v *Value) bool {
v.reset(OpMod32)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15738,10 +15051,9 @@ func rewriteValueARM_OpMod16u(v *Value) bool {
v.reset(OpMod32u)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15761,35 +15073,28 @@ func rewriteValueARM_OpMod32(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
v3 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
v4 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v5.AddArg(x)
- v4.AddArg(v5)
- v3.AddArg(v4)
+ v4.AddArg2(x, v5)
v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v6.AddArg(x)
- v3.AddArg(v6)
- v2.AddArg(v3)
+ v3.AddArg2(v4, v6)
v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v8.AddArg(y)
v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v9.AddArg(y)
- v8.AddArg(v9)
- v7.AddArg(v8)
+ v8.AddArg2(y, v9)
v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v10.AddArg(y)
- v7.AddArg(v10)
- v2.AddArg(v7)
+ v7.AddArg2(v8, v10)
+ v2.AddArg2(v3, v7)
v1.AddArg(v2)
- v0.AddArg(v1)
v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v11.AddArg(x)
- v0.AddArg(v11)
- v.AddArg(v0)
+ v0.AddArg2(v1, v11)
v12 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v12.AddArg(x)
- v.AddArg(v12)
+ v.AddArg2(v0, v12)
return true
}
}
@@ -15806,8 +15111,7 @@ func rewriteValueARM_OpMod32u(v *Value) bool {
v.reset(OpSelect1)
v.Type = typ.UInt32
v0 := b.NewValue0(v.Pos, OpARMCALLudiv, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15825,10 +15129,9 @@ func rewriteValueARM_OpMod8(v *Value) bool {
v.reset(OpMod32)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15845,10 +15148,9 @@ func rewriteValueARM_OpMod8u(v *Value) bool {
v.reset(OpMod32u)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15881,12 +15183,9 @@ func rewriteValueARM_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpARMMOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] {t} dst src mem)
@@ -15904,12 +15203,9 @@ func rewriteValueARM_OpMove(v *Value) bool {
break
}
v.reset(OpARMMOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVHUload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -15923,20 +15219,14 @@ func rewriteValueARM_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBstore)
v.AuxInt = 1
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v0.AuxInt = 1
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -15954,12 +15244,9 @@ func rewriteValueARM_OpMove(v *Value) bool {
break
}
v.reset(OpARMMOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVWload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -15978,20 +15265,14 @@ func rewriteValueARM_OpMove(v *Value) bool {
}
v.reset(OpARMMOVHstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVHUload, typ.UInt16)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARMMOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARMMOVHUload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] dst src mem)
@@ -16005,38 +15286,26 @@ func rewriteValueARM_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBstore)
v.AuxInt = 3
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v0.AuxInt = 3
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v2.AuxInt = 2
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v4.AuxInt = 1
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [3] dst src mem)
@@ -16050,29 +15319,20 @@ func rewriteValueARM_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARMMOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
v2.AuxInt = 1
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpARMMOVBUload, typ.UInt8)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -16089,9 +15349,7 @@ func rewriteValueARM_OpMove(v *Value) bool {
}
v.reset(OpARMDUFFCOPY)
v.AuxInt = 8 * (128 - s/4)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -16108,13 +15366,10 @@ func rewriteValueARM_OpMove(v *Value) bool {
}
v.reset(OpARMLoweredMove)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpARMADDconst, src.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(src)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -16169,10 +15424,9 @@ func rewriteValueARM_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -16188,8 +15442,7 @@ func rewriteValueARM_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpARMNotEqual)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -16205,8 +15458,7 @@ func rewriteValueARM_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpARMNotEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -16222,8 +15474,7 @@ func rewriteValueARM_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpARMNotEqual)
v0 := b.NewValue0(v.Pos, OpARMCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -16242,10 +15493,9 @@ func rewriteValueARM_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -16261,8 +15511,7 @@ func rewriteValueARM_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpARMNotEqual)
v0 := b.NewValue0(v.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -16322,9 +15571,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool {
}
v.reset(OpARMLoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -16340,9 +15587,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool {
}
v.reset(OpARMLoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -16358,9 +15603,7 @@ func rewriteValueARM_OpPanicBounds(v *Value) bool {
}
v.reset(OpARMLoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -16384,10 +15627,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool {
}
v.reset(OpARMLoweredPanicExtendA)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -16404,10 +15644,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool {
}
v.reset(OpARMLoweredPanicExtendB)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -16424,10 +15661,7 @@ func rewriteValueARM_OpPanicExtend(v *Value) bool {
}
v.reset(OpARMLoweredPanicExtendC)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
return false
@@ -16448,17 +15682,14 @@ func rewriteValueARM_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -16486,11 +15717,10 @@ func rewriteValueARM_OpRotateLeft32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSRR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARMRSBconst, y.Type)
v0.AuxInt = 0
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -16510,17 +15740,14 @@ func rewriteValueARM_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -16540,17 +15767,15 @@ func rewriteValueARM_OpRsh16Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v3.AuxInt = 256
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -16569,13 +15794,11 @@ func rewriteValueARM_OpRsh16Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -16634,10 +15857,9 @@ func rewriteValueARM_OpRsh16Ux8(v *Value) bool {
v.reset(OpARMSRL)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -16654,16 +15876,14 @@ func rewriteValueARM_OpRsh16x16(v *Value) bool {
v.reset(OpARMSRAcond)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -16680,12 +15900,10 @@ func rewriteValueARM_OpRsh16x32(v *Value) bool {
v.reset(OpARMSRAcond)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg3(v0, y, v1)
return true
}
}
@@ -16749,10 +15967,9 @@ func rewriteValueARM_OpRsh16x8(v *Value) bool {
v.reset(OpARMSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -16769,17 +15986,15 @@ func rewriteValueARM_OpRsh32Ux16(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -16795,13 +16010,11 @@ func rewriteValueARM_OpRsh32Ux32(v *Value) bool {
v.reset(OpARMCMOVWHSconst)
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -16853,10 +16066,9 @@ func rewriteValueARM_OpRsh32Ux8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSRL)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -16871,16 +16083,14 @@ func rewriteValueARM_OpRsh32x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSRAcond)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg3(x, v0, v1)
return true
}
}
@@ -16894,12 +16104,10 @@ func rewriteValueARM_OpRsh32x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSRAcond)
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v0.AuxInt = 256
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
}
@@ -16953,10 +16161,9 @@ func rewriteValueARM_OpRsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARMSRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -16975,17 +16182,15 @@ func rewriteValueARM_OpRsh8Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v3.AuxInt = 256
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -17004,13 +16209,11 @@ func rewriteValueARM_OpRsh8Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -17069,10 +16272,9 @@ func rewriteValueARM_OpRsh8Ux8(v *Value) bool {
v.reset(OpARMSRL)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -17089,16 +16291,14 @@ func rewriteValueARM_OpRsh8x16(v *Value) bool {
v.reset(OpARMSRAcond)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -17115,12 +16315,10 @@ func rewriteValueARM_OpRsh8x32(v *Value) bool {
v.reset(OpARMSRAcond)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg3(v0, y, v1)
return true
}
}
@@ -17184,10 +16382,9 @@ func rewriteValueARM_OpRsh8x8(v *Value) bool {
v.reset(OpARMSRA)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -17362,9 +16559,7 @@ func rewriteValueARM_OpStore(v *Value) bool {
break
}
v.reset(OpARMMOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -17379,9 +16574,7 @@ func rewriteValueARM_OpStore(v *Value) bool {
break
}
v.reset(OpARMMOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -17396,9 +16589,7 @@ func rewriteValueARM_OpStore(v *Value) bool {
break
}
v.reset(OpARMMOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -17413,9 +16604,7 @@ func rewriteValueARM_OpStore(v *Value) bool {
break
}
v.reset(OpARMMOVFstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -17430,9 +16619,7 @@ func rewriteValueARM_OpStore(v *Value) bool {
break
}
v.reset(OpARMMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -17464,11 +16651,9 @@ func rewriteValueARM_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpARMMOVBstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] {t} ptr mem)
@@ -17485,11 +16670,9 @@ func rewriteValueARM_OpZero(v *Value) bool {
break
}
v.reset(OpARMMOVHstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] ptr mem)
@@ -17502,18 +16685,14 @@ func rewriteValueARM_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARMMOVBstore)
v.AuxInt = 1
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -17530,11 +16709,9 @@ func rewriteValueARM_OpZero(v *Value) bool {
break
}
v.reset(OpARMMOVWstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -17552,18 +16729,14 @@ func rewriteValueARM_OpZero(v *Value) bool {
}
v.reset(OpARMMOVHstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMMOVHstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] ptr mem)
@@ -17576,32 +16749,24 @@ func rewriteValueARM_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARMMOVBstore)
v.AuxInt = 3
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [3] ptr mem)
@@ -17614,25 +16779,19 @@ func rewriteValueARM_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARMMOVBstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -17648,11 +16807,9 @@ func rewriteValueARM_OpZero(v *Value) bool {
}
v.reset(OpARMDUFFZERO)
v.AuxInt = 4 * (128 - s/4)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -17668,15 +16825,12 @@ func rewriteValueARM_OpZero(v *Value) bool {
}
v.reset(OpARMLoweredZero)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARMADDconst, ptr.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(ptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
- v.AddArg(mem)
+ v.AddArg4(ptr, v0, v1, mem)
return true
}
return false
@@ -17693,8 +16847,7 @@ func rewriteValueARM_OpZeromask(v *Value) bool {
v.AuxInt = 31
v0 := b.NewValue0(v.Pos, OpARMRSBshiftRL, typ.Int32)
v0.AuxInt = 1
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -17764,8 +16917,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17789,11 +16941,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -17842,8 +16992,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17868,8 +17017,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17894,8 +17042,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17919,9 +17066,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -17945,9 +17090,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -17971,9 +17114,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18000,8 +17141,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18027,11 +17167,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -18080,8 +17218,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18106,8 +17243,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18132,8 +17268,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18157,9 +17292,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18183,9 +17316,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18209,9 +17340,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18238,8 +17367,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18290,8 +17418,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18316,8 +17443,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18342,8 +17468,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18367,9 +17492,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18393,9 +17516,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18419,9 +17540,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18448,8 +17567,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18500,8 +17618,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18526,8 +17643,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18552,8 +17668,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18577,9 +17692,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18603,9 +17716,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18629,9 +17740,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMEQ)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18696,8 +17805,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18721,11 +17829,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -18774,8 +17880,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18800,8 +17905,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18826,8 +17930,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18851,9 +17954,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18877,9 +17978,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18903,9 +18002,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -18932,8 +18029,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -18959,11 +18055,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -19012,8 +18106,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19038,8 +18131,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19064,8 +18156,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19089,9 +18180,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19115,9 +18204,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19141,9 +18228,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19170,8 +18255,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19222,8 +18306,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19248,8 +18331,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19274,8 +18356,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19299,9 +18380,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19325,9 +18404,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19351,9 +18428,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19380,8 +18455,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19432,8 +18506,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19458,8 +18531,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19484,8 +18556,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19509,9 +18580,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19535,9 +18604,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19561,9 +18628,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19629,8 +18694,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19654,11 +18718,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -19707,8 +18769,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19733,8 +18794,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19759,8 +18819,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19784,9 +18843,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19810,9 +18867,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19836,9 +18891,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -19865,8 +18918,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19917,8 +18969,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19943,8 +18994,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19969,8 +19019,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -19994,9 +19043,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20020,9 +19067,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20046,9 +19091,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20075,8 +19118,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20102,11 +19144,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -20155,8 +19195,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20181,8 +19220,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20207,8 +19245,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20232,9 +19269,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20258,9 +19293,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20284,9 +19317,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20313,8 +19344,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20365,8 +19395,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20391,8 +19420,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20417,8 +19445,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20442,9 +19469,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20468,9 +19493,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20494,9 +19517,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMGT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20663,8 +19684,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20688,11 +19708,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -20741,8 +19759,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20767,8 +19784,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20793,8 +19809,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20818,9 +19833,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20844,9 +19857,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20870,9 +19881,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -20899,8 +19908,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -20926,11 +19934,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -20979,8 +19985,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21005,8 +20010,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21031,8 +20035,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21056,9 +20059,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21082,9 +20083,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21108,9 +20107,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21137,8 +20134,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21189,8 +20185,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21215,8 +20210,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21241,8 +20235,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21266,9 +20259,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21292,9 +20283,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21318,9 +20307,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21347,8 +20334,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21399,8 +20385,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21425,8 +20410,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21451,8 +20435,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21476,9 +20459,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21502,9 +20483,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21528,9 +20507,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21596,8 +20573,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21621,11 +20597,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -21674,8 +20648,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21700,8 +20673,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21726,8 +20698,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21751,9 +20722,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21777,9 +20746,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21803,9 +20770,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -21832,8 +20797,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21859,11 +20823,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -21912,8 +20874,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21938,8 +20899,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21964,8 +20924,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -21989,9 +20948,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22015,9 +20972,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22041,9 +20996,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22070,8 +21023,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22122,8 +21074,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22148,8 +21099,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22174,8 +21124,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22199,9 +21148,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22225,9 +21172,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22251,9 +21196,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22280,8 +21223,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22332,8 +21274,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22358,8 +21299,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22384,8 +21324,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22409,9 +21348,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22435,9 +21372,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22461,9 +21396,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMLT)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22687,8 +21620,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22712,11 +21644,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -22765,8 +21695,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22791,8 +21720,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22817,8 +21745,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22842,9 +21769,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22868,9 +21793,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22894,9 +21817,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMPshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -22923,8 +21844,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -22950,11 +21870,9 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARMMUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -23003,8 +21921,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23029,8 +21946,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23055,8 +21971,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23080,9 +21995,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23106,9 +22019,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23132,9 +22043,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMCMNshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23161,8 +22070,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23213,8 +22121,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23239,8 +22146,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23265,8 +22171,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23290,9 +22195,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23316,9 +22219,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23342,9 +22243,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTSTshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23371,8 +22270,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQ, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23423,8 +22321,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23449,8 +22346,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23475,8 +22371,7 @@ func rewriteBlockARM(b *Block) bool {
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -23500,9 +22395,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftLLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23526,9 +22419,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRLreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
@@ -23552,9 +22443,7 @@ func rewriteBlockARM(b *Block) bool {
}
b.Reset(BlockARMNE)
v0 := b.NewValue0(v_0.Pos, OpARMTEQshiftRAreg, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
- v0.AddArg(z)
+ v0.AddArg3(x, y, z)
b.AddControl(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewriteARM64.go b/src/cmd/compile/internal/ssa/rewriteARM64.go
index 51051b93b7..dd3a8b922b 100644
--- a/src/cmd/compile/internal/ssa/rewriteARM64.go
+++ b/src/cmd/compile/internal/ssa/rewriteARM64.go
@@ -1094,9 +1094,7 @@ func rewriteValueARM64_OpARM64ADCSflags(v *Value) bool {
}
c := v_2_0_0.Args[0]
v.reset(OpARM64ADCSflags)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(c)
+ v.AddArg3(x, y, c)
return true
}
// match: (ADCSflags x y (Select1 (ADDSconstflags [-1] (MOVDconst [0]))))
@@ -1116,8 +1114,7 @@ func rewriteValueARM64_OpARM64ADCSflags(v *Value) bool {
break
}
v.reset(OpARM64ADDSflags)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -1159,9 +1156,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64MADD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1182,9 +1177,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64MSUB)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1205,9 +1198,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64MADDW)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1228,9 +1219,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64MSUBW)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -1245,8 +1234,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARM64SUB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1268,8 +1256,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -1291,8 +1278,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -1314,8 +1300,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -1383,10 +1368,9 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -1454,8 +1438,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1524,10 +1507,9 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -1599,8 +1581,7 @@ func rewriteValueARM64_OpARM64ADD(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1775,8 +1756,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL(v *Value) bool {
x2 := v_1
v.reset(OpARM64EXTRconst)
v.AuxInt = 64 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
// match: (ADDshiftLL [c] (UBFX [bfc] x) x2)
@@ -1796,8 +1776,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL(v *Value) bool {
}
v.reset(OpARM64EXTRWconst)
v.AuxInt = 32 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
return false
@@ -1951,8 +1930,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARM64BIC)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -1974,8 +1952,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool {
}
v.reset(OpARM64ANDshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -1997,8 +1974,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool {
}
v.reset(OpARM64ANDshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -2020,8 +1996,7 @@ func rewriteValueARM64_OpARM64AND(v *Value) bool {
}
v.reset(OpARM64ANDshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -2366,8 +2341,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool {
}
v.reset(OpARM64BICshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (BIC x0 x1:(SRLconst [c] y))
@@ -2386,8 +2360,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool {
}
v.reset(OpARM64BICshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (BIC x0 x1:(SRAconst [c] y))
@@ -2406,8 +2379,7 @@ func rewriteValueARM64_OpARM64BIC(v *Value) bool {
}
v.reset(OpARM64BICshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
return false
@@ -2556,8 +2528,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool {
}
v.reset(OpARM64CMNshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -2579,8 +2550,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool {
}
v.reset(OpARM64CMNshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -2602,8 +2572,7 @@ func rewriteValueARM64_OpARM64CMN(v *Value) bool {
}
v.reset(OpARM64CMNshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -2943,8 +2912,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
}
v.reset(OpARM64InvertFlags)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -2964,8 +2932,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
}
v.reset(OpARM64CMPshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (CMP x0:(SLLconst [c] y) x1)
@@ -2985,8 +2952,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
v.reset(OpARM64InvertFlags)
v0 := b.NewValue0(v.Pos, OpARM64CMPshiftLL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x1)
- v0.AddArg(y)
+ v0.AddArg2(x1, y)
v.AddArg(v0)
return true
}
@@ -3006,8 +2972,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
}
v.reset(OpARM64CMPshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (CMP x0:(SRLconst [c] y) x1)
@@ -3027,8 +2992,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
v.reset(OpARM64InvertFlags)
v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRL, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x1)
- v0.AddArg(y)
+ v0.AddArg2(x1, y)
v.AddArg(v0)
return true
}
@@ -3048,8 +3012,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
}
v.reset(OpARM64CMPshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (CMP x0:(SRAconst [c] y) x1)
@@ -3069,8 +3032,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value) bool {
v.reset(OpARM64InvertFlags)
v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRA, types.TypeFlags)
v0.AuxInt = c
- v0.AddArg(x1)
- v0.AddArg(y)
+ v0.AddArg2(x1, y)
v.AddArg(v0)
return true
}
@@ -3119,8 +3081,7 @@ func rewriteValueARM64_OpARM64CMPW(v *Value) bool {
}
v.reset(OpARM64InvertFlags)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -3501,8 +3462,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool {
flag := v_2
v.reset(OpARM64CSEL0)
v.Aux = cc
- v.AddArg(x)
- v.AddArg(flag)
+ v.AddArg2(x, flag)
return true
}
// match: (CSEL {cc} (MOVDconst [0]) y flag)
@@ -3516,8 +3476,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool {
flag := v_2
v.reset(OpARM64CSEL0)
v.Aux = arm64Negate(cc.(Op))
- v.AddArg(y)
- v.AddArg(flag)
+ v.AddArg2(y, flag)
return true
}
// match: (CSEL {cc} x y (InvertFlags cmp))
@@ -3532,9 +3491,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool {
cmp := v_2.Args[0]
v.reset(OpARM64CSEL)
v.Aux = arm64Invert(cc.(Op))
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cmp)
+ v.AddArg3(x, y, cmp)
return true
}
// match: (CSEL {cc} x _ flag)
@@ -3583,9 +3540,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool {
}
v.reset(OpARM64CSEL)
v.Aux = boolval.Op
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flagArg(boolval))
+ v.AddArg3(x, y, flagArg(boolval))
return true
}
// match: (CSEL {cc} x y (CMPWconst [0] boolval))
@@ -3604,9 +3559,7 @@ func rewriteValueARM64_OpARM64CSEL(v *Value) bool {
}
v.reset(OpARM64CSEL)
v.Aux = arm64Negate(boolval.Op)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flagArg(boolval))
+ v.AddArg3(x, y, flagArg(boolval))
return true
}
return false
@@ -3625,8 +3578,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool {
cmp := v_1.Args[0]
v.reset(OpARM64CSEL0)
v.Aux = arm64Invert(cc.(Op))
- v.AddArg(x)
- v.AddArg(cmp)
+ v.AddArg2(x, cmp)
return true
}
// match: (CSEL0 {cc} x flag)
@@ -3672,8 +3624,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool {
}
v.reset(OpARM64CSEL0)
v.Aux = boolval.Op
- v.AddArg(x)
- v.AddArg(flagArg(boolval))
+ v.AddArg2(x, flagArg(boolval))
return true
}
// match: (CSEL0 {cc} x (CMPWconst [0] boolval))
@@ -3691,8 +3642,7 @@ func rewriteValueARM64_OpARM64CSEL0(v *Value) bool {
}
v.reset(OpARM64CSEL0)
v.Aux = arm64Negate(boolval.Op)
- v.AddArg(x)
- v.AddArg(flagArg(boolval))
+ v.AddArg2(x, flagArg(boolval))
return true
}
return false
@@ -3780,8 +3730,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool {
}
v.reset(OpARM64EONshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (EON x0 x1:(SRLconst [c] y))
@@ -3800,8 +3749,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool {
}
v.reset(OpARM64EONshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (EON x0 x1:(SRAconst [c] y))
@@ -3820,8 +3768,7 @@ func rewriteValueARM64_OpARM64EON(v *Value) bool {
}
v.reset(OpARM64EONshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
return false
@@ -4013,9 +3960,7 @@ func rewriteValueARM64_OpARM64FADDD(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMADDD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -4031,9 +3976,7 @@ func rewriteValueARM64_OpARM64FADDD(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMSUBD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -4054,9 +3997,7 @@ func rewriteValueARM64_OpARM64FADDS(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMADDS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -4072,9 +4013,7 @@ func rewriteValueARM64_OpARM64FADDS(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMSUBS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
break
@@ -4226,8 +4165,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool {
v.reset(OpARM64FMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVDload [off] {sym} (ADD ptr idx) mem)
@@ -4246,9 +4184,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool {
break
}
v.reset(OpARM64FMOVDloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -4270,8 +4206,7 @@ func rewriteValueARM64_OpARM64FMOVDload(v *Value) bool {
v.reset(OpARM64FMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4291,8 +4226,7 @@ func rewriteValueARM64_OpARM64FMOVDloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64FMOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVDloadidx (MOVDconst [c]) ptr mem)
@@ -4306,8 +4240,7 @@ func rewriteValueARM64_OpARM64FMOVDloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64FMOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4332,9 +4265,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -4356,9 +4287,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool {
v.reset(OpARM64FMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVDstore [off] {sym} (ADD ptr idx) val mem)
@@ -4378,10 +4307,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool {
break
}
v.reset(OpARM64FMOVDstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -4404,9 +4330,7 @@ func rewriteValueARM64_OpARM64FMOVDstore(v *Value) bool {
v.reset(OpARM64FMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -4428,9 +4352,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64FMOVDstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVDstoreidx (MOVDconst [c]) idx val mem)
@@ -4445,9 +4367,7 @@ func rewriteValueARM64_OpARM64FMOVDstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64FMOVDstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
return false
@@ -4493,8 +4413,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool {
v.reset(OpARM64FMOVSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVSload [off] {sym} (ADD ptr idx) mem)
@@ -4513,9 +4432,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool {
break
}
v.reset(OpARM64FMOVSloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVSload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -4537,8 +4454,7 @@ func rewriteValueARM64_OpARM64FMOVSload(v *Value) bool {
v.reset(OpARM64FMOVSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4558,8 +4474,7 @@ func rewriteValueARM64_OpARM64FMOVSloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64FMOVSload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVSloadidx (MOVDconst [c]) ptr mem)
@@ -4573,8 +4488,7 @@ func rewriteValueARM64_OpARM64FMOVSloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64FMOVSload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4599,9 +4513,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVSstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -4623,9 +4535,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool {
v.reset(OpARM64FMOVSstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVSstore [off] {sym} (ADD ptr idx) val mem)
@@ -4645,10 +4555,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool {
break
}
v.reset(OpARM64FMOVSstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVSstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -4671,9 +4578,7 @@ func rewriteValueARM64_OpARM64FMOVSstore(v *Value) bool {
v.reset(OpARM64FMOVSstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -4695,9 +4600,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64FMOVSstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVSstoreidx (MOVDconst [c]) idx val mem)
@@ -4712,9 +4615,7 @@ func rewriteValueARM64_OpARM64FMOVSstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64FMOVSstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
return false
@@ -4732,8 +4633,7 @@ func rewriteValueARM64_OpARM64FMULD(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64FNMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4753,8 +4653,7 @@ func rewriteValueARM64_OpARM64FMULS(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64FNMULS)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4772,8 +4671,7 @@ func rewriteValueARM64_OpARM64FNEGD(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64FNMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (FNEGD (FNMULD x y))
@@ -4785,8 +4683,7 @@ func rewriteValueARM64_OpARM64FNEGD(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64FMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4802,8 +4699,7 @@ func rewriteValueARM64_OpARM64FNEGS(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64FNMULS)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (FNEGS (FNMULS x y))
@@ -4815,8 +4711,7 @@ func rewriteValueARM64_OpARM64FNEGS(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64FMULS)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -4834,8 +4729,7 @@ func rewriteValueARM64_OpARM64FNMULD(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64FMULD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4855,8 +4749,7 @@ func rewriteValueARM64_OpARM64FNMULS(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64FMULS)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4876,9 +4769,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMSUBD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBD (FMULD x y) a)
@@ -4891,9 +4782,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool {
x := v_0.Args[0]
a := v_1
v.reset(OpARM64FNMSUBD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBD a (FNMULD x y))
@@ -4906,9 +4795,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMADDD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBD (FNMULD x y) a)
@@ -4921,9 +4808,7 @@ func rewriteValueARM64_OpARM64FSUBD(v *Value) bool {
x := v_0.Args[0]
a := v_1
v.reset(OpARM64FNMADDD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
return false
@@ -4941,9 +4826,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMSUBS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBS (FMULS x y) a)
@@ -4956,9 +4839,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool {
x := v_0.Args[0]
a := v_1
v.reset(OpARM64FNMSUBS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBS a (FNMULS x y))
@@ -4971,9 +4852,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool {
y := v_1.Args[1]
x := v_1.Args[0]
v.reset(OpARM64FMADDS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (FSUBS (FNMULS x y) a)
@@ -4986,9 +4865,7 @@ func rewriteValueARM64_OpARM64FSUBS(v *Value) bool {
x := v_0.Args[0]
a := v_1
v.reset(OpARM64FNMADDS)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
return false
@@ -5587,8 +5464,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a _ (MOVDconst [0]))
@@ -5612,8 +5488,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5631,8 +5506,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5649,12 +5523,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5671,12 +5543,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5694,12 +5564,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5717,12 +5585,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5740,12 +5606,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a x (MOVDconst [c]))
@@ -5763,12 +5627,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [-1]) x)
@@ -5780,8 +5642,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
x := v_2
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a (MOVDconst [0]) _)
@@ -5805,8 +5666,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
x := v_2
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5824,8 +5684,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5842,12 +5701,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5864,12 +5721,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5887,12 +5742,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5910,12 +5763,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5933,12 +5784,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD a (MOVDconst [c]) x)
@@ -5956,12 +5805,10 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADD (MOVDconst [c]) x y)
@@ -5976,8 +5823,7 @@ func rewriteValueARM64_OpARM64MADD(v *Value) bool {
v.reset(OpARM64ADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARM64MUL, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -6019,8 +5865,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a _ (MOVDconst [c]))
@@ -6054,8 +5899,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6073,8 +5917,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6091,12 +5934,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6113,12 +5954,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6136,12 +5975,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6159,12 +5996,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6182,12 +6017,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a x (MOVDconst [c]))
@@ -6205,12 +6038,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6227,8 +6058,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a (MOVDconst [c]) _)
@@ -6262,8 +6092,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6281,8 +6110,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6299,12 +6127,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6321,12 +6147,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6344,12 +6168,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6367,12 +6189,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6390,12 +6210,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW a (MOVDconst [c]) x)
@@ -6413,12 +6231,10 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MADDW (MOVDconst [c]) x y)
@@ -6433,8 +6249,7 @@ func rewriteValueARM64_OpARM64MADDW(v *Value) bool {
v.reset(OpARM64ADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARM64MULW, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -6541,8 +6356,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v.reset(OpARM64NEG)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6566,8 +6380,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v0.AuxInt = log2(c + 1)
v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(x)
+ v0.AddArg2(v1, x)
v.AddArg(v0)
return true
}
@@ -6591,8 +6404,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6616,8 +6428,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -6642,8 +6453,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v.AuxInt = log2(c / 7)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6667,8 +6477,7 @@ func rewriteValueARM64_OpARM64MNEG(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -6794,8 +6603,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v.reset(OpARM64NEG)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6819,8 +6627,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v0.AuxInt = log2(c + 1)
v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(x)
+ v0.AddArg2(v1, x)
v.AddArg(v0)
return true
}
@@ -6844,8 +6651,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6869,8 +6675,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v0.AuxInt = log2(c / 5)
v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v1.AuxInt = 2
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -6895,8 +6700,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v.AuxInt = log2(c / 7)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -6920,8 +6724,7 @@ func rewriteValueARM64_OpARM64MNEGW(v *Value) bool {
v0.AuxInt = log2(c / 9)
v1 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v1.AuxInt = 3
- v1.AddArg(x)
- v1.AddArg(x)
+ v1.AddArg2(x, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -7011,8 +6814,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool {
v.reset(OpARM64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off] {sym} (ADD ptr idx) mem)
@@ -7031,9 +6833,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool {
break
}
v.reset(OpARM64MOVBUloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -7055,8 +6855,7 @@ func rewriteValueARM64_OpARM64MOVBUload(v *Value) bool {
v.reset(OpARM64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off] {sym} ptr (MOVBstorezero [off2] {sym2} ptr2 _))
@@ -7110,8 +6909,7 @@ func rewriteValueARM64_OpARM64MOVBUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUloadidx (MOVDconst [c]) ptr mem)
@@ -7125,8 +6923,7 @@ func rewriteValueARM64_OpARM64MOVBUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUloadidx ptr idx (MOVBstorezeroidx ptr2 idx2 _))
@@ -7282,8 +7079,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool {
v.reset(OpARM64MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off] {sym} (ADD ptr idx) mem)
@@ -7302,9 +7098,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool {
break
}
v.reset(OpARM64MOVBloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -7326,8 +7120,7 @@ func rewriteValueARM64_OpARM64MOVBload(v *Value) bool {
v.reset(OpARM64MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off] {sym} ptr (MOVBstorezero [off2] {sym2} ptr2 _))
@@ -7368,8 +7161,7 @@ func rewriteValueARM64_OpARM64MOVBloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBloadidx (MOVDconst [c]) ptr mem)
@@ -7383,8 +7175,7 @@ func rewriteValueARM64_OpARM64MOVBloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBloadidx ptr idx (MOVBstorezeroidx ptr2 idx2 _))
@@ -7500,9 +7291,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} (ADD ptr idx) val mem)
@@ -7522,10 +7311,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
break
}
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -7548,9 +7334,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -7566,8 +7350,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem)
@@ -7584,9 +7367,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBUreg x) mem)
@@ -7603,9 +7384,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem)
@@ -7622,9 +7401,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -7641,9 +7418,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWreg x) mem)
@@ -7660,9 +7435,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -7679,9 +7452,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [i] {s} ptr0 (SRLconst [8] w) x:(MOVBstore [i-1] {s} ptr1 w mem))
@@ -7707,9 +7478,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [8] w) x:(MOVBstoreidx ptr1 idx1 w mem))
@@ -7744,10 +7513,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -7775,9 +7541,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(8, 8)] w) x:(MOVBstoreidx ptr1 idx1 w mem))
@@ -7812,10 +7576,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -7843,9 +7604,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(8, 24)] w) x:(MOVBstoreidx ptr1 idx1 w mem))
@@ -7880,10 +7639,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -7915,9 +7671,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [8] (MOVDreg w)) x:(MOVBstoreidx ptr1 idx1 w mem))
@@ -7956,10 +7710,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -7989,9 +7740,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVBstoreidx ptr1 idx1 w0:(SRLconst [j-8] w) mem))
@@ -8028,10 +7777,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w0, mem)
return true
}
break
@@ -8065,9 +7811,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (UBFX [bfc] w) x:(MOVBstoreidx ptr1 idx1 w0:(UBFX [bfc2] w) mem))
@@ -8108,10 +7852,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w0, mem)
return true
}
break
@@ -8149,9 +7890,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr0 idx0) (SRLconst [j] (MOVDreg w)) x:(MOVBstoreidx ptr1 idx1 w0:(SRLconst [j-8] (MOVDreg w)) mem))
@@ -8196,10 +7935,7 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w0, mem)
return true
}
break
@@ -8299,11 +8035,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = i - 7
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x6.Pos, OpARM64REV, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [7] {s} p w x0:(MOVBstore [6] {s} p (SRLconst [8] w) x1:(MOVBstore [5] {s} p (SRLconst [16] w) x2:(MOVBstore [4] {s} p (SRLconst [24] w) x3:(MOVBstore [3] {s} p (SRLconst [32] w) x4:(MOVBstore [2] {s} p (SRLconst [40] w) x5:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [48] w) x6:(MOVBstoreidx ptr0 idx0 (SRLconst [56] w) mem))))))))
@@ -8407,12 +8141,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(x5.Pos, OpARM64REV, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8464,11 +8195,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 3
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(24, 8)] w) mem))))
@@ -8524,12 +8253,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8593,11 +8319,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 3
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (SRLconst [8] (MOVDreg w)) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] (MOVDreg w)) x2:(MOVBstoreidx ptr0 idx0 (SRLconst [24] (MOVDreg w)) mem))))
@@ -8665,12 +8389,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8722,11 +8443,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 3
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x2.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [3] {s} p w x0:(MOVBstore [2] {s} p (SRLconst [8] w) x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] w) x2:(MOVBstoreidx ptr0 idx0 (SRLconst [24] w) mem))))
@@ -8782,12 +8501,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(x1.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8815,11 +8531,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] w) mem))
@@ -8852,12 +8566,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8885,11 +8596,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 8)] w) mem))
@@ -8922,12 +8631,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -8959,11 +8665,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] (MOVDreg w)) mem))
@@ -9000,12 +8704,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -9033,11 +8734,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(ptr)
v0 := b.NewValue0(x.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 24)] w) mem))
@@ -9070,12 +8769,9 @@ func rewriteValueARM64_OpARM64MOVBstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr0)
- v.AddArg(idx0)
v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr0, idx0, v0, mem)
return true
}
break
@@ -9100,9 +8796,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVBstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstoreidx (MOVDconst [c]) idx val mem)
@@ -9117,9 +8811,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVBstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVDconst [0]) mem)
@@ -9132,9 +8824,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVBstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVBreg x) mem)
@@ -9148,10 +8838,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVBUreg x) mem)
@@ -9165,10 +8852,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVHreg x) mem)
@@ -9182,10 +8866,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVHUreg x) mem)
@@ -9199,10 +8880,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVWreg x) mem)
@@ -9216,10 +8894,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr idx (MOVWUreg x) mem)
@@ -9233,10 +8908,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx ptr (ADDconst [1] idx) (SRLconst [8] w) x:(MOVBstoreidx ptr idx w mem))
@@ -9261,10 +8933,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, w, mem)
return true
}
// match: (MOVBstoreidx ptr (ADDconst [3] idx) w x0:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(24, 8)] w) mem))))
@@ -9322,12 +8991,9 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpARM64REVW, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
// match: (MOVBstoreidx ptr idx w x0:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 24)] w) x1:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(16, 16)] w) x2:(MOVBstoreidx ptr (ADDconst [3] idx) (UBFX [armBFAuxInt(24, 8)] w) mem))))
@@ -9386,10 +9052,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, w, mem)
return true
}
// match: (MOVBstoreidx ptr (ADDconst [1] idx) w x:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(8, 8)] w) mem))
@@ -9415,12 +9078,9 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpARM64REV16W, w.Type)
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
// match: (MOVBstoreidx ptr idx w x:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 8)] w) mem))
@@ -9447,10 +9107,7 @@ func rewriteValueARM64_OpARM64MOVBstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, w, mem)
return true
}
return false
@@ -9478,8 +9135,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool {
v.reset(OpARM64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -9501,8 +9157,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool {
v.reset(OpARM64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstorezero [off] {sym} (ADD ptr idx) mem)
@@ -9521,9 +9176,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVBstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBstorezero [i] {s} ptr0 x:(MOVBstorezero [j] {s} ptr1 mem))
@@ -9549,8 +9202,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool {
v.reset(OpARM64MOVHstorezero)
v.AuxInt = min(i, j)
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(mem)
+ v.AddArg2(ptr0, mem)
return true
}
// match: (MOVBstorezero [1] {s} (ADD ptr0 idx0) x:(MOVBstorezeroidx ptr1 idx1 mem))
@@ -9581,9 +9233,7 @@ func rewriteValueARM64_OpARM64MOVBstorezero(v *Value) bool {
continue
}
v.reset(OpARM64MOVHstorezeroidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(mem)
+ v.AddArg3(ptr1, idx1, mem)
return true
}
break
@@ -9605,8 +9255,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBstorezero)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstorezeroidx (MOVDconst [c]) idx mem)
@@ -9620,8 +9269,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBstorezero)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg2(idx, mem)
return true
}
// match: (MOVBstorezeroidx ptr (ADDconst [1] idx) x:(MOVBstorezeroidx ptr idx mem))
@@ -9642,9 +9290,7 @@ func rewriteValueARM64_OpARM64MOVBstorezeroidx(v *Value) bool {
break
}
v.reset(OpARM64MOVHstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -9690,8 +9336,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
v.reset(OpARM64MOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off] {sym} (ADD ptr idx) mem)
@@ -9710,9 +9355,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
break
}
v.reset(OpARM64MOVDloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDload [off] {sym} (ADDshiftLL [3] ptr idx) mem)
@@ -9731,9 +9374,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
break
}
v.reset(OpARM64MOVDloadidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -9755,8 +9396,7 @@ func rewriteValueARM64_OpARM64MOVDload(v *Value) bool {
v.reset(OpARM64MOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off] {sym} ptr (MOVDstorezero [off2] {sym2} ptr2 _))
@@ -9810,8 +9450,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDloadidx (MOVDconst [c]) ptr mem)
@@ -9825,8 +9464,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDloadidx ptr (SLLconst [3] idx) mem)
@@ -9839,9 +9477,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVDloadidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDloadidx (SLLconst [3] idx) ptr mem)
@@ -9854,9 +9490,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVDloadidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDloadidx ptr idx (MOVDstorezeroidx ptr2 idx2 _))
@@ -9895,8 +9529,7 @@ func rewriteValueARM64_OpARM64MOVDloadidx8(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDload)
v.AuxInt = c << 3
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDloadidx8 ptr idx (MOVDstorezeroidx8 ptr2 idx2 _))
@@ -9967,9 +9600,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
v.reset(OpARM64FMOVDstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -9991,9 +9622,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off] {sym} (ADD ptr idx) val mem)
@@ -10013,10 +9642,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
break
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVDstore [off] {sym} (ADDshiftLL [3] ptr idx) val mem)
@@ -10036,10 +9662,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
break
}
v.reset(OpARM64MOVDstoreidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -10062,9 +9685,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -10080,8 +9701,7 @@ func rewriteValueARM64_OpARM64MOVDstore(v *Value) bool {
v.reset(OpARM64MOVDstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -10103,9 +9723,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVDstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstoreidx (MOVDconst [c]) idx val mem)
@@ -10120,9 +9738,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVDstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
// match: (MOVDstoreidx ptr (SLLconst [3] idx) val mem)
@@ -10136,10 +9752,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVDstoreidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVDstoreidx (SLLconst [3] idx) ptr val mem)
@@ -10153,10 +9766,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVDstoreidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVDstoreidx ptr idx (MOVDconst [0]) mem)
@@ -10169,9 +9779,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVDstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -10193,9 +9801,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVDstore)
v.AuxInt = c << 3
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstoreidx8 ptr idx (MOVDconst [0]) mem)
@@ -10208,9 +9814,7 @@ func rewriteValueARM64_OpARM64MOVDstoreidx8(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVDstorezeroidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -10238,8 +9842,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
v.reset(OpARM64MOVDstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -10261,8 +9864,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
v.reset(OpARM64MOVDstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstorezero [off] {sym} (ADD ptr idx) mem)
@@ -10281,9 +9883,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVDstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDstorezero [off] {sym} (ADDshiftLL [3] ptr idx) mem)
@@ -10302,9 +9902,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVDstorezeroidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDstorezero [i] {s} ptr0 x:(MOVDstorezero [j] {s} ptr1 mem))
@@ -10330,8 +9928,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = min(i, j)
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(mem)
+ v.AddArg2(ptr0, mem)
return true
}
// match: (MOVDstorezero [8] {s} p0:(ADD ptr0 idx0) x:(MOVDstorezeroidx ptr1 idx1 mem))
@@ -10365,8 +9962,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = 0
v.Aux = s
- v.AddArg(p0)
- v.AddArg(mem)
+ v.AddArg2(p0, mem)
return true
}
break
@@ -10398,8 +9994,7 @@ func rewriteValueARM64_OpARM64MOVDstorezero(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = 0
v.Aux = s
- v.AddArg(p0)
- v.AddArg(mem)
+ v.AddArg2(p0, mem)
return true
}
return false
@@ -10419,8 +10014,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDstorezero)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstorezeroidx (MOVDconst [c]) idx mem)
@@ -10434,8 +10028,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDstorezero)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg2(idx, mem)
return true
}
// match: (MOVDstorezeroidx ptr (SLLconst [3] idx) mem)
@@ -10448,9 +10041,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVDstorezeroidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDstorezeroidx (SLLconst [3] idx) ptr mem)
@@ -10463,9 +10054,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVDstorezeroidx8)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -10485,8 +10074,7 @@ func rewriteValueARM64_OpARM64MOVDstorezeroidx8(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDstorezero)
v.AuxInt = c << 3
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -10514,8 +10102,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool {
v.reset(OpARM64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off] {sym} (ADD ptr idx) mem)
@@ -10534,9 +10121,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool {
break
}
v.reset(OpARM64MOVHUloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUload [off] {sym} (ADDshiftLL [1] ptr idx) mem)
@@ -10555,9 +10140,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool {
break
}
v.reset(OpARM64MOVHUloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -10579,8 +10162,7 @@ func rewriteValueARM64_OpARM64MOVHUload(v *Value) bool {
v.reset(OpARM64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off] {sym} ptr (MOVHstorezero [off2] {sym2} ptr2 _))
@@ -10634,8 +10216,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUloadidx (MOVDconst [c]) ptr mem)
@@ -10649,8 +10230,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUloadidx ptr (SLLconst [1] idx) mem)
@@ -10663,9 +10243,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVHUloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUloadidx ptr (ADD idx idx) mem)
@@ -10681,9 +10259,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
}
mem := v_2
v.reset(OpARM64MOVHUloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUloadidx (ADD idx idx) ptr mem)
@@ -10699,9 +10275,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVHUloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHUloadidx ptr idx (MOVHstorezeroidx ptr2 idx2 _))
@@ -10740,8 +10314,7 @@ func rewriteValueARM64_OpARM64MOVHUloadidx2(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHUload)
v.AuxInt = c << 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUloadidx2 ptr idx (MOVHstorezeroidx2 ptr2 idx2 _))
@@ -10932,8 +10505,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool {
v.reset(OpARM64MOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off] {sym} (ADD ptr idx) mem)
@@ -10952,9 +10524,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool {
break
}
v.reset(OpARM64MOVHloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHload [off] {sym} (ADDshiftLL [1] ptr idx) mem)
@@ -10973,9 +10543,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool {
break
}
v.reset(OpARM64MOVHloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -10997,8 +10565,7 @@ func rewriteValueARM64_OpARM64MOVHload(v *Value) bool {
v.reset(OpARM64MOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off] {sym} ptr (MOVHstorezero [off2] {sym2} ptr2 _))
@@ -11039,8 +10606,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHloadidx (MOVDconst [c]) ptr mem)
@@ -11054,8 +10620,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHloadidx ptr (SLLconst [1] idx) mem)
@@ -11068,9 +10633,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVHloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHloadidx ptr (ADD idx idx) mem)
@@ -11086,9 +10649,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
}
mem := v_2
v.reset(OpARM64MOVHloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHloadidx (ADD idx idx) ptr mem)
@@ -11104,9 +10665,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVHloadidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHloadidx ptr idx (MOVHstorezeroidx ptr2 idx2 _))
@@ -11145,8 +10704,7 @@ func rewriteValueARM64_OpARM64MOVHloadidx2(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHload)
v.AuxInt = c << 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHloadidx2 ptr idx (MOVHstorezeroidx2 ptr2 idx2 _))
@@ -11344,9 +10902,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} (ADD ptr idx) val mem)
@@ -11366,10 +10922,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstore [off] {sym} (ADDshiftLL [1] ptr idx) val mem)
@@ -11389,10 +10942,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -11415,9 +10965,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -11433,8 +10981,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem)
@@ -11451,9 +10998,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -11470,9 +11015,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWreg x) mem)
@@ -11489,9 +11032,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -11508,9 +11049,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [i] {s} ptr0 (SRLconst [16] w) x:(MOVHstore [i-2] {s} ptr1 w mem))
@@ -11536,9 +11075,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [16] w) x:(MOVHstoreidx ptr1 idx1 w mem))
@@ -11573,10 +11110,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -11609,13 +11143,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 1
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w, mem)
return true
}
// match: (MOVHstore [i] {s} ptr0 (UBFX [armBFAuxInt(16, 16)] w) x:(MOVHstore [i-2] {s} ptr1 w mem))
@@ -11641,9 +11172,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVHstore [2] {s} (ADD ptr0 idx0) (UBFX [armBFAuxInt(16, 16)] w) x:(MOVHstoreidx ptr1 idx1 w mem))
@@ -11678,10 +11207,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -11714,13 +11240,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 1
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w, mem)
return true
}
// match: (MOVHstore [i] {s} ptr0 (SRLconst [16] (MOVDreg w)) x:(MOVHstore [i-2] {s} ptr1 w mem))
@@ -11750,9 +11273,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [16] (MOVDreg w)) x:(MOVHstoreidx ptr1 idx1 w mem))
@@ -11791,10 +11312,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -11831,13 +11349,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 1
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w, mem)
return true
}
// match: (MOVHstore [i] {s} ptr0 (SRLconst [j] w) x:(MOVHstore [i-2] {s} ptr1 w0:(SRLconst [j-16] w) mem))
@@ -11865,9 +11380,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w0, mem)
return true
}
// match: (MOVHstore [2] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVHstoreidx ptr1 idx1 w0:(SRLconst [j-16] w) mem))
@@ -11904,10 +11417,7 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w0, mem)
return true
}
break
@@ -11942,13 +11452,10 @@ func rewriteValueARM64_OpARM64MOVHstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 1
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w0, mem)
return true
}
return false
@@ -11970,9 +11477,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVHstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstoreidx (MOVDconst [c]) idx val mem)
@@ -11987,9 +11492,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVHstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
// match: (MOVHstoreidx ptr (SLLconst [1] idx) val mem)
@@ -12003,10 +11506,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstoreidx ptr (ADD idx idx) val mem)
@@ -12023,10 +11523,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstoreidx (SLLconst [1] idx) ptr val mem)
@@ -12040,10 +11537,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstoreidx (ADD idx idx) ptr val mem)
@@ -12060,10 +11554,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstoreidx ptr idx (MOVDconst [0]) mem)
@@ -12076,9 +11567,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVHstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstoreidx ptr idx (MOVHreg x) mem)
@@ -12092,10 +11581,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx ptr idx (MOVHUreg x) mem)
@@ -12109,10 +11595,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx ptr idx (MOVWreg x) mem)
@@ -12126,10 +11609,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx ptr idx (MOVWUreg x) mem)
@@ -12143,10 +11623,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx ptr (ADDconst [2] idx) (SRLconst [16] w) x:(MOVHstoreidx ptr idx w mem))
@@ -12171,10 +11648,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, w, mem)
return true
}
return false
@@ -12196,9 +11670,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVHstore)
v.AuxInt = c << 1
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstoreidx2 ptr idx (MOVDconst [0]) mem)
@@ -12211,9 +11683,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstoreidx2 ptr idx (MOVHreg x) mem)
@@ -12227,10 +11697,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx2 ptr idx (MOVHUreg x) mem)
@@ -12244,10 +11711,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx2 ptr idx (MOVWreg x) mem)
@@ -12261,10 +11725,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx2 ptr idx (MOVWUreg x) mem)
@@ -12278,10 +11739,7 @@ func rewriteValueARM64_OpARM64MOVHstoreidx2(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVHstoreidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
return false
@@ -12309,8 +11767,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
v.reset(OpARM64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -12332,8 +11789,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
v.reset(OpARM64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstorezero [off] {sym} (ADD ptr idx) mem)
@@ -12352,9 +11808,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVHstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezero [off] {sym} (ADDshiftLL [1] ptr idx) mem)
@@ -12373,9 +11827,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezero [i] {s} ptr0 x:(MOVHstorezero [j] {s} ptr1 mem))
@@ -12401,8 +11853,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
v.reset(OpARM64MOVWstorezero)
v.AuxInt = min(i, j)
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(mem)
+ v.AddArg2(ptr0, mem)
return true
}
// match: (MOVHstorezero [2] {s} (ADD ptr0 idx0) x:(MOVHstorezeroidx ptr1 idx1 mem))
@@ -12433,9 +11884,7 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
continue
}
v.reset(OpARM64MOVWstorezeroidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(mem)
+ v.AddArg3(ptr1, idx1, mem)
return true
}
break
@@ -12464,12 +11913,10 @@ func rewriteValueARM64_OpARM64MOVHstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVWstorezeroidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 1
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr1, v0, mem)
return true
}
return false
@@ -12489,8 +11936,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHstorezero)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstorezeroidx (MOVDconst [c]) idx mem)
@@ -12504,8 +11950,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHstorezero)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg2(idx, mem)
return true
}
// match: (MOVHstorezeroidx ptr (SLLconst [1] idx) mem)
@@ -12518,9 +11963,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezeroidx ptr (ADD idx idx) mem)
@@ -12536,9 +11979,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
}
mem := v_2
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezeroidx (SLLconst [1] idx) ptr mem)
@@ -12551,9 +11992,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezeroidx (ADD idx idx) ptr mem)
@@ -12569,9 +12008,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVHstorezeroidx2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHstorezeroidx ptr (ADDconst [2] idx) x:(MOVHstorezeroidx ptr idx mem))
@@ -12592,9 +12029,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx(v *Value) bool {
break
}
v.reset(OpARM64MOVWstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -12614,8 +12049,7 @@ func rewriteValueARM64_OpARM64MOVHstorezeroidx2(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHstorezero)
v.AuxInt = c << 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -12643,8 +12077,7 @@ func rewriteValueARM64_OpARM64MOVQstorezero(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVQstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -12666,8 +12099,7 @@ func rewriteValueARM64_OpARM64MOVQstorezero(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -12713,8 +12145,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
v.reset(OpARM64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUload [off] {sym} (ADD ptr idx) mem)
@@ -12733,9 +12164,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
break
}
v.reset(OpARM64MOVWUloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWUload [off] {sym} (ADDshiftLL [2] ptr idx) mem)
@@ -12754,9 +12183,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
break
}
v.reset(OpARM64MOVWUloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWUload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -12778,8 +12205,7 @@ func rewriteValueARM64_OpARM64MOVWUload(v *Value) bool {
v.reset(OpARM64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUload [off] {sym} ptr (MOVWstorezero [off2] {sym2} ptr2 _))
@@ -12833,8 +12259,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUloadidx (MOVDconst [c]) ptr mem)
@@ -12848,8 +12273,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWUload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUloadidx ptr (SLLconst [2] idx) mem)
@@ -12862,9 +12286,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVWUloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWUloadidx (SLLconst [2] idx) ptr mem)
@@ -12877,9 +12299,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVWUloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWUloadidx ptr idx (MOVWstorezeroidx ptr2 idx2 _))
@@ -12918,8 +12338,7 @@ func rewriteValueARM64_OpARM64MOVWUloadidx4(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWUload)
v.AuxInt = c << 2
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUloadidx4 ptr idx (MOVWstorezeroidx4 ptr2 idx2 _))
@@ -13157,8 +12576,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool {
v.reset(OpARM64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off] {sym} (ADD ptr idx) mem)
@@ -13177,9 +12595,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool {
break
}
v.reset(OpARM64MOVWloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off] {sym} (ADDshiftLL [2] ptr idx) mem)
@@ -13198,9 +12614,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool {
break
}
v.reset(OpARM64MOVWloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWload [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -13222,8 +12636,7 @@ func rewriteValueARM64_OpARM64MOVWload(v *Value) bool {
v.reset(OpARM64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off] {sym} ptr (MOVWstorezero [off2] {sym2} ptr2 _))
@@ -13264,8 +12677,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx (MOVDconst [c]) ptr mem)
@@ -13279,8 +12691,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx ptr (SLLconst [2] idx) mem)
@@ -13293,9 +12704,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVWloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx (SLLconst [2] idx) ptr mem)
@@ -13308,9 +12717,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVWloadidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWloadidx ptr idx (MOVWstorezeroidx ptr2 idx2 _))
@@ -13349,8 +12756,7 @@ func rewriteValueARM64_OpARM64MOVWloadidx4(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWload)
v.AuxInt = c << 2
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx4 ptr idx (MOVWstorezeroidx4 ptr2 idx2 _))
@@ -13626,9 +13032,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64FMOVSstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -13650,9 +13054,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} (ADD ptr idx) val mem)
@@ -13672,10 +13074,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off] {sym} (ADDshiftLL [2] ptr idx) val mem)
@@ -13695,10 +13094,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstoreidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val mem)
@@ -13721,9 +13117,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -13739,8 +13133,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVWstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem)
@@ -13757,9 +13150,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -13776,9 +13167,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [i] {s} ptr0 (SRLconst [32] w) x:(MOVWstore [i-4] {s} ptr1 w mem))
@@ -13804,9 +13193,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w, mem)
return true
}
// match: (MOVWstore [4] {s} (ADD ptr0 idx0) (SRLconst [32] w) x:(MOVWstoreidx ptr1 idx1 w mem))
@@ -13841,10 +13228,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w, mem)
return true
}
break
@@ -13877,13 +13261,10 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
break
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 2
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w, mem)
return true
}
// match: (MOVWstore [i] {s} ptr0 (SRLconst [j] w) x:(MOVWstore [i-4] {s} ptr1 w0:(SRLconst [j-32] w) mem))
@@ -13911,9 +13292,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
v.reset(OpARM64MOVDstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(ptr0, w0, mem)
return true
}
// match: (MOVWstore [4] {s} (ADD ptr0 idx0) (SRLconst [j] w) x:(MOVWstoreidx ptr1 idx1 w0:(SRLconst [j-32] w) mem))
@@ -13950,10 +13329,7 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
continue
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, idx1, w0, mem)
return true
}
break
@@ -13988,13 +13364,10 @@ func rewriteValueARM64_OpARM64MOVWstore(v *Value) bool {
break
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 2
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(ptr1, v0, w0, mem)
return true
}
return false
@@ -14016,9 +13389,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVWstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx (MOVDconst [c]) idx val mem)
@@ -14033,9 +13404,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVWstore)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(idx, val, mem)
return true
}
// match: (MOVWstoreidx ptr (SLLconst [2] idx) val mem)
@@ -14049,10 +13418,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVWstoreidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx (SLLconst [2] idx) ptr val mem)
@@ -14066,10 +13432,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
val := v_2
mem := v_3
v.reset(OpARM64MOVWstoreidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstoreidx ptr idx (MOVDconst [0]) mem)
@@ -14082,9 +13445,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVWstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreidx ptr idx (MOVWreg x) mem)
@@ -14098,10 +13459,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVWstoreidx ptr idx (MOVWUreg x) mem)
@@ -14115,10 +13473,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVWstoreidx ptr (ADDconst [4] idx) (SRLconst [32] w) x:(MOVWstoreidx ptr idx w mem))
@@ -14143,10 +13498,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx(v *Value) bool {
break
}
v.reset(OpARM64MOVDstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, w, mem)
return true
}
return false
@@ -14168,9 +13520,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool {
mem := v_3
v.reset(OpARM64MOVWstore)
v.AuxInt = c << 2
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx4 ptr idx (MOVDconst [0]) mem)
@@ -14183,9 +13533,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool {
}
mem := v_3
v.reset(OpARM64MOVWstorezeroidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstoreidx4 ptr idx (MOVWreg x) mem)
@@ -14199,10 +13547,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVWstoreidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVWstoreidx4 ptr idx (MOVWUreg x) mem)
@@ -14216,10 +13561,7 @@ func rewriteValueARM64_OpARM64MOVWstoreidx4(v *Value) bool {
x := v_2.Args[0]
mem := v_3
v.reset(OpARM64MOVWstoreidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
return false
@@ -14247,8 +13589,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
v.reset(OpARM64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstorezero [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) mem)
@@ -14270,8 +13611,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
v.reset(OpARM64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstorezero [off] {sym} (ADD ptr idx) mem)
@@ -14290,9 +13630,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVWstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstorezero [off] {sym} (ADDshiftLL [2] ptr idx) mem)
@@ -14311,9 +13649,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVWstorezeroidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstorezero [i] {s} ptr0 x:(MOVWstorezero [j] {s} ptr1 mem))
@@ -14339,8 +13675,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
v.reset(OpARM64MOVDstorezero)
v.AuxInt = min(i, j)
v.Aux = s
- v.AddArg(ptr0)
- v.AddArg(mem)
+ v.AddArg2(ptr0, mem)
return true
}
// match: (MOVWstorezero [4] {s} (ADD ptr0 idx0) x:(MOVWstorezeroidx ptr1 idx1 mem))
@@ -14371,9 +13706,7 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
continue
}
v.reset(OpARM64MOVDstorezeroidx)
- v.AddArg(ptr1)
- v.AddArg(idx1)
- v.AddArg(mem)
+ v.AddArg3(ptr1, idx1, mem)
return true
}
break
@@ -14402,12 +13735,10 @@ func rewriteValueARM64_OpARM64MOVWstorezero(v *Value) bool {
break
}
v.reset(OpARM64MOVDstorezeroidx)
- v.AddArg(ptr1)
v0 := b.NewValue0(v.Pos, OpARM64SLLconst, idx1.Type)
v0.AuxInt = 2
v0.AddArg(idx1)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr1, v0, mem)
return true
}
return false
@@ -14427,8 +13758,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWstorezero)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstorezeroidx (MOVDconst [c]) idx mem)
@@ -14442,8 +13772,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWstorezero)
v.AuxInt = c
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg2(idx, mem)
return true
}
// match: (MOVWstorezeroidx ptr (SLLconst [2] idx) mem)
@@ -14456,9 +13785,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool {
idx := v_1.Args[0]
mem := v_2
v.reset(OpARM64MOVWstorezeroidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstorezeroidx (SLLconst [2] idx) ptr mem)
@@ -14471,9 +13798,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool {
ptr := v_1
mem := v_2
v.reset(OpARM64MOVWstorezeroidx4)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVWstorezeroidx ptr (ADDconst [4] idx) x:(MOVWstorezeroidx ptr idx mem))
@@ -14494,9 +13819,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx(v *Value) bool {
break
}
v.reset(OpARM64MOVDstorezeroidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -14516,8 +13839,7 @@ func rewriteValueARM64_OpARM64MOVWstorezeroidx4(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWstorezero)
v.AuxInt = c << 2
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -14536,8 +13858,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a _ (MOVDconst [0]))
@@ -14561,8 +13882,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14580,8 +13900,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14598,12 +13917,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14620,12 +13937,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14643,12 +13958,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14666,12 +13979,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14689,12 +14000,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a x (MOVDconst [c]))
@@ -14712,12 +14021,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [-1]) x)
@@ -14729,8 +14036,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
x := v_2
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a (MOVDconst [0]) _)
@@ -14754,8 +14060,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
x := v_2
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14773,8 +14078,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14791,12 +14095,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14813,12 +14115,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14836,12 +14136,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14859,12 +14157,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14882,12 +14178,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB a (MOVDconst [c]) x)
@@ -14905,12 +14199,10 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUB (MOVDconst [c]) x y)
@@ -14925,8 +14217,7 @@ func rewriteValueARM64_OpARM64MSUB(v *Value) bool {
v.reset(OpARM64ADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARM64MNEG, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -14968,8 +14259,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a _ (MOVDconst [c]))
@@ -15003,8 +14293,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15022,8 +14311,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15040,12 +14328,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15062,12 +14348,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15085,12 +14369,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15108,12 +14390,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15131,12 +14411,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a x (MOVDconst [c]))
@@ -15154,12 +14432,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15176,8 +14452,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a (MOVDconst [c]) _)
@@ -15211,8 +14486,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15230,8 +14504,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c)
- v.AddArg(a)
- v.AddArg(x)
+ v.AddArg2(a, x)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15248,12 +14521,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64SUB)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = log2(c - 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15270,12 +14541,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
break
}
v.reset(OpARM64ADD)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = log2(c + 1)
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15293,12 +14562,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 3)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15316,12 +14583,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 5)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15339,12 +14604,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c / 7)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64SUBshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW a (MOVDconst [c]) x)
@@ -15362,12 +14625,10 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = log2(c / 9)
- v.AddArg(a)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
- v.AddArg(v0)
+ v0.AddArg2(x, x)
+ v.AddArg2(a, v0)
return true
}
// match: (MSUBW (MOVDconst [c]) x y)
@@ -15382,8 +14643,7 @@ func rewriteValueARM64_OpARM64MSUBW(v *Value) bool {
v.reset(OpARM64ADDconst)
v.AuxInt = c
v0 := b.NewValue0(v.Pos, OpARM64MNEGW, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -15420,8 +14680,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64MNEG)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -15503,8 +14762,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c - 1)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
break
@@ -15526,8 +14784,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
v.AuxInt = log2(c + 1)
v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
break
@@ -15549,8 +14806,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 1
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -15573,8 +14829,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -15599,8 +14854,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
v0.AuxInt = 3
v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(x)
+ v0.AddArg2(v1, x)
v.AddArg(v0)
return true
}
@@ -15623,8 +14877,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value) bool {
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -15664,8 +14917,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpARM64MNEGW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -15762,8 +15014,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
}
v.reset(OpARM64ADDshiftLL)
v.AuxInt = log2(c - 1)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
break
@@ -15785,8 +15036,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
v.AuxInt = log2(c + 1)
v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
break
@@ -15808,8 +15058,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
v.AuxInt = log2(c / 3)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 1
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -15832,8 +15081,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
v.AuxInt = log2(c / 5)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 2
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -15858,8 +15106,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
v0.AuxInt = 3
v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(x)
+ v0.AddArg2(v1, x)
v.AddArg(v0)
return true
}
@@ -15882,8 +15129,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value) bool {
v.AuxInt = log2(c / 9)
v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
v0.AuxInt = 3
- v0.AddArg(x)
- v0.AddArg(x)
+ v0.AddArg2(x, x)
v.AddArg(v0)
return true
}
@@ -16037,8 +15283,7 @@ func rewriteValueARM64_OpARM64NEG(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64MNEG)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (NEG (MULW x y))
@@ -16050,8 +15295,7 @@ func rewriteValueARM64_OpARM64NEG(v *Value) bool {
y := v_0.Args[1]
x := v_0.Args[0]
v.reset(OpARM64MNEGW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (NEG (MOVDconst [c]))
@@ -16277,8 +15521,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARM64ORN)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -16300,8 +15543,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
v.reset(OpARM64ORshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -16323,8 +15565,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
v.reset(OpARM64ORshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -16346,8 +15587,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
v.reset(OpARM64ORshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -16415,10 +15655,9 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -16486,8 +15725,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -16556,10 +15794,9 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -16631,8 +15868,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -16657,8 +15893,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
v.reset(OpARM64BFI)
v.AuxInt = bfc
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
break
@@ -16683,8 +15918,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
}
v.reset(OpARM64BFXIL)
v.AuxInt = bfc
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
break
@@ -16777,8 +16011,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v1 := b.NewValue0(x3.Pos, OpOffPtr, p.Type)
v1.AuxInt = i0
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
break
@@ -16866,9 +16099,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
- v0.AddArg(idx0)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, idx0, mem)
return true
}
}
@@ -16957,9 +16188,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17136,8 +16365,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v1 := b.NewValue0(x7.Pos, OpOffPtr, p.Type)
v1.AuxInt = i0
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
break
@@ -17293,9 +16521,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v0 := b.NewValue0(x6.Pos, OpARM64MOVDloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
- v0.AddArg(idx0)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, idx0, mem)
return true
}
}
@@ -17468,9 +16694,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
break
@@ -17564,8 +16788,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v2 := b.NewValue0(x3.Pos, OpOffPtr, p.Type)
v2.AuxInt = i0
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -17655,9 +16878,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(x3.Pos, OpARM64MOVWUloadidx, t)
- v1.AddArg(ptr0)
- v1.AddArg(idx0)
- v1.AddArg(mem)
+ v1.AddArg3(ptr0, idx0, mem)
v0.AddArg(v1)
return true
}
@@ -17748,9 +16969,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t)
- v1.AddArg(ptr)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(ptr, idx, mem)
v0.AddArg(v1)
return true
}
@@ -17929,8 +17148,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v2 := b.NewValue0(x7.Pos, OpOffPtr, p.Type)
v2.AuxInt = i0
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -18088,9 +17306,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(x7.Pos, OpARM64MOVDloadidx, t)
- v1.AddArg(ptr0)
- v1.AddArg(idx0)
- v1.AddArg(mem)
+ v1.AddArg3(ptr0, idx0, mem)
v0.AddArg(v1)
return true
}
@@ -18265,9 +17481,7 @@ func rewriteValueARM64_OpARM64OR(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t)
- v1.AddArg(ptr)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(ptr, idx, mem)
v0.AddArg(v1)
return true
}
@@ -18318,8 +17532,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool {
}
v.reset(OpARM64ORNshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (ORN x0 x1:(SRLconst [c] y))
@@ -18338,8 +17551,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool {
}
v.reset(OpARM64ORNshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (ORN x0 x1:(SRAconst [c] y))
@@ -18358,8 +17570,7 @@ func rewriteValueARM64_OpARM64ORN(v *Value) bool {
}
v.reset(OpARM64ORNshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
return false
@@ -18657,8 +17868,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
x2 := v_1
v.reset(OpARM64EXTRconst)
v.AuxInt = 64 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
// match: ( ORshiftLL [c] (UBFX [bfc] x) x2)
@@ -18678,8 +17888,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
}
v.reset(OpARM64EXTRWconst)
v.AuxInt = 32 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
// match: (ORshiftLL [sc] (UBFX [bfc] x) (SRLconst [sc] y))
@@ -18701,8 +17910,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
}
v.reset(OpARM64BFXIL)
v.AuxInt = bfc
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
// match: (ORshiftLL [8] y0:(MOVDnop x0:(MOVBUload [i0] {s} p mem)) y1:(MOVDnop x1:(MOVBUload [i1] {s} p mem)))
@@ -18749,8 +17957,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v1 := b.NewValue0(x1.Pos, OpOffPtr, p.Type)
v1.AuxInt = i0
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
// match: (ORshiftLL [8] y0:(MOVDnop x0:(MOVBUloadidx ptr0 idx0 mem)) y1:(MOVDnop x1:(MOVBUload [1] {s} p1:(ADD ptr1 idx1) mem)))
@@ -18799,9 +18006,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(x1.Pos, OpARM64MOVHUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
- v0.AddArg(idx0)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, idx0, mem)
return true
}
break
@@ -18845,9 +18050,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64MOVHUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (ORshiftLL [24] o0:(ORshiftLL [16] x0:(MOVHUload [i0] {s} p mem) y1:(MOVDnop x1:(MOVBUload [i2] {s} p mem))) y2:(MOVDnop x2:(MOVBUload [i3] {s} p mem)))
@@ -18911,8 +18114,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v1 := b.NewValue0(x2.Pos, OpOffPtr, p.Type)
v1.AuxInt = i0
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
// match: (ORshiftLL [24] o0:(ORshiftLL [16] x0:(MOVHUloadidx ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [2] {s} p1:(ADD ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [3] {s} p mem)))
@@ -18975,9 +18177,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
- v0.AddArg(idx0)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, idx0, mem)
return true
}
break
@@ -19038,9 +18238,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (ORshiftLL [24] o0:(ORshiftLL [16] x0:(MOVHUloadidx2 ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [2] {s} p1:(ADDshiftLL [1] ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [3] {s} p mem)))
@@ -19099,12 +18297,10 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(x2.Pos, OpARM64MOVWUloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
v1 := b.NewValue0(x2.Pos, OpARM64SLLconst, idx0.Type)
v1.AuxInt = 1
v1.AddArg(idx0)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, v1, mem)
return true
}
// match: (ORshiftLL [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUload [i0] {s} p mem) y1:(MOVDnop x1:(MOVBUload [i4] {s} p mem))) y2:(MOVDnop x2:(MOVBUload [i5] {s} p mem))) y3:(MOVDnop x3:(MOVBUload [i6] {s} p mem))) y4:(MOVDnop x4:(MOVBUload [i7] {s} p mem)))
@@ -19210,8 +18406,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v1 := b.NewValue0(x4.Pos, OpOffPtr, p.Type)
v1.AuxInt = i0
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
// match: (ORshiftLL [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUloadidx ptr0 idx0 mem) y1:(MOVDnop x1:(MOVBUload [4] {s} p1:(ADD ptr1 idx1) mem))) y2:(MOVDnop x2:(MOVBUload [5] {s} p mem))) y3:(MOVDnop x3:(MOVBUload [6] {s} p mem))) y4:(MOVDnop x4:(MOVBUload [7] {s} p mem)))
@@ -19308,9 +18503,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(x4.Pos, OpARM64MOVDloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
- v0.AddArg(idx0)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, idx0, mem)
return true
}
break
@@ -19405,12 +18598,10 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(x4.Pos, OpARM64MOVDloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr0)
v1 := b.NewValue0(x4.Pos, OpARM64SLLconst, idx0.Type)
v1.AuxInt = 2
v1.AddArg(idx0)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg3(ptr0, v1, mem)
return true
}
// match: (ORshiftLL [56] o0:(ORshiftLL [48] o1:(ORshiftLL [40] o2:(ORshiftLL [32] x0:(MOVWUloadidx ptr idx mem) y1:(MOVDnop x1:(MOVBUloadidx ptr (ADDconst [4] idx) mem))) y2:(MOVDnop x2:(MOVBUloadidx ptr (ADDconst [5] idx) mem))) y3:(MOVDnop x3:(MOVBUloadidx ptr (ADDconst [6] idx) mem))) y4:(MOVDnop x4:(MOVBUloadidx ptr (ADDconst [7] idx) mem)))
@@ -19511,9 +18702,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t)
v.reset(OpCopy)
v.AddArg(v0)
- v0.AddArg(ptr)
- v0.AddArg(idx)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, idx, mem)
return true
}
// match: (ORshiftLL [8] y0:(MOVDnop x0:(MOVBUload [i1] {s} p mem)) y1:(MOVDnop x1:(MOVBUload [i0] {s} p mem)))
@@ -19559,8 +18748,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v1 := b.NewValue0(x1.Pos, OpARM64MOVHUload, t)
v1.AuxInt = i0
v1.Aux = s
- v1.AddArg(p)
- v1.AddArg(mem)
+ v1.AddArg2(p, mem)
v0.AddArg(v1)
return true
}
@@ -19611,9 +18799,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(x0.Pos, OpARM64MOVHUloadidx, t)
- v1.AddArg(ptr0)
- v1.AddArg(idx0)
- v1.AddArg(mem)
+ v1.AddArg3(ptr0, idx0, mem)
v0.AddArg(v1)
return true
}
@@ -19659,9 +18845,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVHUloadidx, t)
- v1.AddArg(ptr)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(ptr, idx, mem)
v0.AddArg(v1)
return true
}
@@ -19731,8 +18915,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v2 := b.NewValue0(x2.Pos, OpOffPtr, p.Type)
v2.AuxInt = i0
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -19801,9 +18984,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(x1.Pos, OpARM64MOVWUloadidx, t)
- v1.AddArg(ptr0)
- v1.AddArg(idx0)
- v1.AddArg(mem)
+ v1.AddArg3(ptr0, idx0, mem)
v0.AddArg(v1)
return true
}
@@ -19870,9 +19051,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWUloadidx, t)
- v1.AddArg(ptr)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(ptr, idx, mem)
v0.AddArg(v1)
return true
}
@@ -19984,8 +19163,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v2 := b.NewValue0(x4.Pos, OpOffPtr, p.Type)
v2.AuxInt = i0
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -20088,9 +19266,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(x3.Pos, OpARM64MOVDloadidx, t)
- v1.AddArg(ptr0)
- v1.AddArg(idx0)
- v1.AddArg(mem)
+ v1.AddArg3(ptr0, idx0, mem)
v0.AddArg(v1)
return true
}
@@ -20199,9 +19375,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value) bool {
v.reset(OpCopy)
v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDloadidx, t)
- v1.AddArg(ptr)
- v1.AddArg(idx)
- v1.AddArg(mem)
+ v1.AddArg3(ptr, idx, mem)
v0.AddArg(v1)
return true
}
@@ -20371,8 +19545,7 @@ func rewriteValueARM64_OpARM64ORshiftRL(v *Value) bool {
}
v.reset(OpARM64BFI)
v.AuxInt = armBFAuxInt(lc-rc, 64-lc)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ORshiftRL [rc] (ANDconst [ac] y) (SLLconst [lc] x))
@@ -20395,8 +19568,7 @@ func rewriteValueARM64_OpARM64ORshiftRL(v *Value) bool {
}
v.reset(OpARM64BFXIL)
v.AuxInt = armBFAuxInt(rc-lc, 64-rc)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
return false
@@ -20465,9 +19637,7 @@ func rewriteValueARM64_OpARM64SBCSflags(v *Value) bool {
}
bo := v_2_0_0_0.Args[0]
v.reset(OpARM64SBCSflags)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(bo)
+ v.AddArg3(x, y, bo)
return true
}
// match: (SBCSflags x y (Select1 (NEGSflags (MOVDconst [0]))))
@@ -20487,8 +19657,7 @@ func rewriteValueARM64_OpARM64SBCSflags(v *Value) bool {
break
}
v.reset(OpARM64SUBSflags)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -21043,10 +20212,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool {
v.reset(OpARM64STP)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val1)
- v.AddArg(val2)
- v.AddArg(mem)
+ v.AddArg4(ptr, val1, val2, mem)
return true
}
// match: (STP [off1] {sym1} (MOVDaddr [off2] {sym2} ptr) val1 val2 mem)
@@ -21070,10 +20236,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool {
v.reset(OpARM64STP)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val1)
- v.AddArg(val2)
- v.AddArg(mem)
+ v.AddArg4(ptr, val1, val2, mem)
return true
}
// match: (STP [off] {sym} ptr (MOVDconst [0]) (MOVDconst [0]) mem)
@@ -21089,8 +20252,7 @@ func rewriteValueARM64_OpARM64STP(v *Value) bool {
v.reset(OpARM64MOVQstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -21127,9 +20289,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
break
}
v.reset(OpARM64MSUB)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUB a l:(MNEG x y))
@@ -21147,9 +20307,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
break
}
v.reset(OpARM64MADD)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUB a l:(MULW x y))
@@ -21167,9 +20325,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
break
}
v.reset(OpARM64MSUBW)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUB a l:(MNEGW x y))
@@ -21187,9 +20343,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
break
}
v.reset(OpARM64MADDW)
- v.AddArg(a)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(a, x, y)
return true
}
// match: (SUB x x)
@@ -21214,10 +20368,8 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
y := v_1.Args[0]
v.reset(OpARM64SUB)
v0 := b.NewValue0(v.Pos, OpARM64ADD, v.Type)
- v0.AddArg(x)
- v0.AddArg(z)
- v.AddArg(v0)
- v.AddArg(y)
+ v0.AddArg2(x, z)
+ v.AddArg2(v0, y)
return true
}
// match: (SUB (SUB x y) z)
@@ -21230,11 +20382,9 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
x := v_0.Args[0]
z := v_1
v.reset(OpARM64SUB)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64ADD, y.Type)
- v0.AddArg(y)
- v0.AddArg(z)
- v.AddArg(v0)
+ v0.AddArg2(y, z)
+ v.AddArg2(x, v0)
return true
}
// match: (SUB x0 x1:(SLLconst [c] y))
@@ -21253,8 +20403,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (SUB x0 x1:(SRLconst [c] y))
@@ -21273,8 +20422,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
// match: (SUB x0 x1:(SRAconst [c] y))
@@ -21293,8 +20441,7 @@ func rewriteValueARM64_OpARM64SUB(v *Value) bool {
}
v.reset(OpARM64SUBshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
return false
@@ -21499,8 +20646,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool {
}
v.reset(OpARM64TSTshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -21522,8 +20668,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool {
}
v.reset(OpARM64TSTshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -21545,8 +20690,7 @@ func rewriteValueARM64_OpARM64TST(v *Value) bool {
}
v.reset(OpARM64TSTshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -21999,12 +21143,9 @@ func rewriteValueARM64_OpARM64UMOD(v *Value) bool {
y := v_1
v.reset(OpARM64MSUB)
v.Type = typ.UInt64
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpARM64UDIV, typ.UInt64)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
+ v.AddArg3(x, y, v0)
return true
}
// match: (UMOD _ (MOVDconst [1]))
@@ -22066,12 +21207,9 @@ func rewriteValueARM64_OpARM64UMODW(v *Value) bool {
y := v_1
v.reset(OpARM64MSUBW)
v.Type = typ.UInt32
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpARM64UDIVW, typ.UInt32)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
+ v.AddArg3(x, y, v0)
return true
}
// match: (UMODW _ (MOVDconst [c]))
@@ -22165,8 +21303,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpARM64EON)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -22188,8 +21325,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
}
v.reset(OpARM64XORshiftLL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -22211,8 +21347,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
}
v.reset(OpARM64XORshiftRL)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -22234,8 +21369,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
}
v.reset(OpARM64XORshiftRA)
v.AuxInt = c
- v.AddArg(x0)
- v.AddArg(y)
+ v.AddArg2(x0, y)
return true
}
break
@@ -22303,10 +21437,9 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -22374,8 +21507,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
continue
}
v.reset(OpARM64ROR)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -22444,10 +21576,9 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -22519,8 +21650,7 @@ func rewriteValueARM64_OpARM64XOR(v *Value) bool {
continue
}
v.reset(OpARM64RORW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -22693,8 +21823,7 @@ func rewriteValueARM64_OpARM64XORshiftLL(v *Value) bool {
x2 := v_1
v.reset(OpARM64EXTRconst)
v.AuxInt = 64 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
// match: (XORshiftLL [c] (UBFX [bfc] x) x2)
@@ -22714,8 +21843,7 @@ func rewriteValueARM64_OpARM64XORshiftLL(v *Value) bool {
}
v.reset(OpARM64EXTRWconst)
v.AuxInt = 32 - c
- v.AddArg(x2)
- v.AddArg(x)
+ v.AddArg2(x2, x)
return true
}
return false
@@ -22876,9 +22004,7 @@ func rewriteValueARM64_OpAtomicAnd8(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicAnd8, types.NewTuple(typ.UInt8, types.TypeMem))
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -22897,9 +22023,7 @@ func rewriteValueARM64_OpAtomicOr8(v *Value) bool {
mem := v_2
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpARM64LoweredAtomicOr8, types.NewTuple(typ.UInt8, types.TypeMem))
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -22918,11 +22042,9 @@ func rewriteValueARM64_OpAvg64u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpARM64SUB, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -22937,10 +22059,9 @@ func rewriteValueARM64_OpBitLen32(v *Value) bool {
v.reset(OpARM64SUB)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 32
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CLZW, typ.Int)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -22955,10 +22076,9 @@ func rewriteValueARM64_OpBitLen64(v *Value) bool {
v.reset(OpARM64SUB)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 64
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CLZ, typ.Int)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23011,9 +22131,7 @@ func rewriteValueARM64_OpCondSelect(v *Value) bool {
}
v.reset(OpARM64CSEL)
v.Aux = boolval.Op
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(flagArg(boolval))
+ v.AddArg3(x, y, flagArg(boolval))
return true
}
// match: (CondSelect x y boolval)
@@ -23028,12 +22146,10 @@ func rewriteValueARM64_OpCondSelect(v *Value) bool {
}
v.reset(OpARM64CSEL)
v.Aux = OpARM64NotEqual
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpARM64CMPWconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(boolval)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
return false
@@ -23130,10 +22246,9 @@ func rewriteValueARM64_OpDiv16(v *Value) bool {
v.reset(OpARM64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23150,10 +22265,9 @@ func rewriteValueARM64_OpDiv16u(v *Value) bool {
v.reset(OpARM64UDIVW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23170,10 +22284,9 @@ func rewriteValueARM64_OpDiv8(v *Value) bool {
v.reset(OpARM64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23190,10 +22303,9 @@ func rewriteValueARM64_OpDiv8u(v *Value) bool {
v.reset(OpARM64UDIVW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23211,10 +22323,9 @@ func rewriteValueARM64_OpEq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23230,8 +22341,7 @@ func rewriteValueARM64_OpEq32(v *Value) bool {
y := v_1
v.reset(OpARM64Equal)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23247,8 +22357,7 @@ func rewriteValueARM64_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpARM64Equal)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23264,8 +22373,7 @@ func rewriteValueARM64_OpEq64(v *Value) bool {
y := v_1
v.reset(OpARM64Equal)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23281,8 +22389,7 @@ func rewriteValueARM64_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpARM64Equal)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23301,10 +22408,9 @@ func rewriteValueARM64_OpEq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23322,11 +22428,9 @@ func rewriteValueARM64_OpEqB(v *Value) bool {
v.reset(OpARM64XOR)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64XOR, typ.Bool)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -23341,8 +22445,7 @@ func rewriteValueARM64_OpEqPtr(v *Value) bool {
y := v_1
v.reset(OpARM64Equal)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23358,9 +22461,7 @@ func rewriteValueARM64_OpFMA(v *Value) bool {
y := v_1
z := v_2
v.reset(OpARM64FMADDD)
- v.AddArg(z)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(z, x, y)
return true
}
}
@@ -23375,8 +22476,7 @@ func rewriteValueARM64_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpARM64GreaterEqualF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23392,8 +22492,7 @@ func rewriteValueARM64_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpARM64GreaterEqualF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23409,8 +22508,7 @@ func rewriteValueARM64_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpARM64GreaterThanF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23426,8 +22524,7 @@ func rewriteValueARM64_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpARM64GreaterThanF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23445,8 +22542,7 @@ func rewriteValueARM64_OpHmul32(v *Value) bool {
v.reset(OpARM64SRAconst)
v.AuxInt = 32
v0 := b.NewValue0(v.Pos, OpARM64MULL, typ.Int64)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23464,8 +22560,7 @@ func rewriteValueARM64_OpHmul32u(v *Value) bool {
v.reset(OpARM64SRAconst)
v.AuxInt = 32
v0 := b.NewValue0(v.Pos, OpARM64UMULL, typ.UInt64)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23481,8 +22576,7 @@ func rewriteValueARM64_OpIsInBounds(v *Value) bool {
len := v_1
v.reset(OpARM64LessThanU)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -23513,8 +22607,7 @@ func rewriteValueARM64_OpIsSliceInBounds(v *Value) bool {
len := v_1
v.reset(OpARM64LessEqualU)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -23533,10 +22626,9 @@ func rewriteValueARM64_OpLeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23555,10 +22647,9 @@ func rewriteValueARM64_OpLeq16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23574,8 +22665,7 @@ func rewriteValueARM64_OpLeq32(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqual)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23591,8 +22681,7 @@ func rewriteValueARM64_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqualF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23608,8 +22697,7 @@ func rewriteValueARM64_OpLeq32U(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqualU)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23625,8 +22713,7 @@ func rewriteValueARM64_OpLeq64(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqual)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23642,8 +22729,7 @@ func rewriteValueARM64_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqualF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23659,8 +22745,7 @@ func rewriteValueARM64_OpLeq64U(v *Value) bool {
y := v_1
v.reset(OpARM64LessEqualU)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23679,10 +22764,9 @@ func rewriteValueARM64_OpLeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23701,10 +22785,9 @@ func rewriteValueARM64_OpLeq8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23723,10 +22806,9 @@ func rewriteValueARM64_OpLess16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23745,10 +22827,9 @@ func rewriteValueARM64_OpLess16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23764,8 +22845,7 @@ func rewriteValueARM64_OpLess32(v *Value) bool {
y := v_1
v.reset(OpARM64LessThan)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23781,8 +22861,7 @@ func rewriteValueARM64_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpARM64LessThanF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23798,8 +22877,7 @@ func rewriteValueARM64_OpLess32U(v *Value) bool {
y := v_1
v.reset(OpARM64LessThanU)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23815,8 +22893,7 @@ func rewriteValueARM64_OpLess64(v *Value) bool {
y := v_1
v.reset(OpARM64LessThan)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23832,8 +22909,7 @@ func rewriteValueARM64_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpARM64LessThanF)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23849,8 +22925,7 @@ func rewriteValueARM64_OpLess64U(v *Value) bool {
y := v_1
v.reset(OpARM64LessThanU)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -23869,10 +22944,9 @@ func rewriteValueARM64_OpLess8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23891,10 +22965,9 @@ func rewriteValueARM64_OpLess8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -23913,8 +22986,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -23928,8 +23000,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -23943,8 +23014,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -23958,8 +23028,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -23973,8 +23042,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVHUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -23988,8 +23056,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -24003,8 +23070,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVWUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -24018,8 +23084,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64MOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -24033,8 +23098,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64FMOVSload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -24048,8 +23112,7 @@ func rewriteValueARM64_OpLoad(v *Value) bool {
break
}
v.reset(OpARM64FMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -24081,20 +23144,17 @@ func rewriteValueARM64_OpLsh16x16(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24112,20 +23172,17 @@ func rewriteValueARM64_OpLsh16x32(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24142,16 +23199,13 @@ func rewriteValueARM64_OpLsh16x64(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpConst64, t)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -24169,20 +23223,17 @@ func rewriteValueARM64_OpLsh16x8(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24200,20 +23251,17 @@ func rewriteValueARM64_OpLsh32x16(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24231,20 +23279,17 @@ func rewriteValueARM64_OpLsh32x32(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24261,16 +23306,13 @@ func rewriteValueARM64_OpLsh32x64(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpConst64, t)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -24288,20 +23330,17 @@ func rewriteValueARM64_OpLsh32x8(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24319,20 +23358,17 @@ func rewriteValueARM64_OpLsh64x16(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24350,20 +23386,17 @@ func rewriteValueARM64_OpLsh64x32(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24380,16 +23413,13 @@ func rewriteValueARM64_OpLsh64x64(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpConst64, t)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -24407,20 +23437,17 @@ func rewriteValueARM64_OpLsh64x8(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24438,20 +23465,17 @@ func rewriteValueARM64_OpLsh8x16(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24469,20 +23493,17 @@ func rewriteValueARM64_OpLsh8x32(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24499,16 +23520,13 @@ func rewriteValueARM64_OpLsh8x64(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpConst64, t)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -24526,20 +23544,17 @@ func rewriteValueARM64_OpLsh8x8(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -24556,10 +23571,9 @@ func rewriteValueARM64_OpMod16(v *Value) bool {
v.reset(OpARM64MODW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -24576,10 +23590,9 @@ func rewriteValueARM64_OpMod16u(v *Value) bool {
v.reset(OpARM64UMODW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -24596,10 +23609,9 @@ func rewriteValueARM64_OpMod8(v *Value) bool {
v.reset(OpARM64MODW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -24616,10 +23628,9 @@ func rewriteValueARM64_OpMod8u(v *Value) bool {
v.reset(OpARM64UMODW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -24652,12 +23663,9 @@ func rewriteValueARM64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpARM64MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -24670,12 +23678,9 @@ func rewriteValueARM64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpARM64MOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -24688,12 +23693,9 @@ func rewriteValueARM64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpARM64MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] dst src mem)
@@ -24706,12 +23708,9 @@ func rewriteValueARM64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpARM64MOVDstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [3] dst src mem)
@@ -24725,20 +23724,14 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [5] dst src mem)
@@ -24752,20 +23745,14 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] dst src mem)
@@ -24779,20 +23766,14 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVHstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [7] dst src mem)
@@ -24806,29 +23787,20 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVBstore)
v.AuxInt = 6
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, typ.UInt8)
v0.AuxInt = 6
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, typ.UInt16)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [12] dst src mem)
@@ -24842,20 +23814,14 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVWstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, typ.UInt32)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [16] dst src mem)
@@ -24869,20 +23835,14 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [24] dst src mem)
@@ -24896,29 +23856,20 @@ func rewriteValueARM64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpARM64MOVDstore)
v.AuxInt = 16
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
v0.AuxInt = 16
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
v2.AuxInt = 8
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -24937,17 +23888,13 @@ func rewriteValueARM64_OpMove(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
v0.AuxInt = s - s%8
v0.AddArg(dst)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
v1.AuxInt = s - s%8
v1.AddArg(src)
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMove, types.TypeMem)
v2.AuxInt = s - s%8
- v2.AddArg(dst)
- v2.AddArg(src)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg3(dst, src, mem)
+ v.AddArg3(v0, v1, v2)
return true
}
// match: (Move [s] dst src mem)
@@ -24963,18 +23910,13 @@ func rewriteValueARM64_OpMove(v *Value) bool {
}
v.reset(OpARM64MOVDstore)
v.AuxInt = s - 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpARM64MOVDload, typ.UInt64)
v0.AuxInt = s - 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpARM64DUFFCOPY, types.TypeMem)
v1.AuxInt = 8 * (64 - (s-8)/16)
- v1.AddArg(dst)
- v1.AddArg(src)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(dst, src, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -24990,9 +23932,7 @@ func rewriteValueARM64_OpMove(v *Value) bool {
}
v.reset(OpARM64DUFFCOPY)
v.AuxInt = 8 * (64 - s/16)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] dst src mem)
@@ -25007,13 +23947,10 @@ func rewriteValueARM64_OpMove(v *Value) bool {
break
}
v.reset(OpARM64LoweredMove)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpARM64ADDconst, src.Type)
v0.AuxInt = s - 8
v0.AddArg(src)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -25032,10 +23969,9 @@ func rewriteValueARM64_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -25051,8 +23987,7 @@ func rewriteValueARM64_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpARM64NotEqual)
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -25068,8 +24003,7 @@ func rewriteValueARM64_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpARM64NotEqual)
v0 := b.NewValue0(v.Pos, OpARM64FCMPS, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -25085,8 +24019,7 @@ func rewriteValueARM64_OpNeq64(v *Value) bool {
y := v_1
v.reset(OpARM64NotEqual)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -25102,8 +24035,7 @@ func rewriteValueARM64_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpARM64NotEqual)
v0 := b.NewValue0(v.Pos, OpARM64FCMPD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -25122,10 +24054,9 @@ func rewriteValueARM64_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -25141,8 +24072,7 @@ func rewriteValueARM64_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpARM64NotEqual)
v0 := b.NewValue0(v.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -25158,8 +24088,7 @@ func rewriteValueARM64_OpNot(v *Value) bool {
v.reset(OpARM64XOR)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -25206,9 +24135,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool {
}
v.reset(OpARM64LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -25224,9 +24151,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool {
}
v.reset(OpARM64LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -25242,9 +24167,7 @@ func rewriteValueARM64_OpPanicBounds(v *Value) bool {
}
v.reset(OpARM64LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -25332,17 +24255,14 @@ func rewriteValueARM64_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -25357,10 +24277,9 @@ func rewriteValueARM64_OpRotateLeft32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64RORW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -25374,10 +24293,9 @@ func rewriteValueARM64_OpRotateLeft64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64ROR)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64NEG, y.Type)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
}
@@ -25397,17 +24315,14 @@ func rewriteValueARM64_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -25428,20 +24343,17 @@ func rewriteValueARM64_OpRsh16Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25461,20 +24373,17 @@ func rewriteValueARM64_OpRsh16Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25494,16 +24403,13 @@ func rewriteValueARM64_OpRsh16Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -25523,20 +24429,17 @@ func rewriteValueARM64_OpRsh16Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25553,22 +24456,19 @@ func rewriteValueARM64_OpRsh16x16(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25585,22 +24485,19 @@ func rewriteValueARM64_OpRsh16x32(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25617,18 +24514,15 @@ func rewriteValueARM64_OpRsh16x64(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25645,22 +24539,19 @@ func rewriteValueARM64_OpRsh16x8(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25680,20 +24571,17 @@ func rewriteValueARM64_OpRsh32Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25713,20 +24601,17 @@ func rewriteValueARM64_OpRsh32Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25746,16 +24631,13 @@ func rewriteValueARM64_OpRsh32Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -25775,20 +24657,17 @@ func rewriteValueARM64_OpRsh32Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -25805,22 +24684,19 @@ func rewriteValueARM64_OpRsh32x16(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25837,22 +24713,19 @@ func rewriteValueARM64_OpRsh32x32(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25869,18 +24742,15 @@ func rewriteValueARM64_OpRsh32x64(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25897,22 +24767,19 @@ func rewriteValueARM64_OpRsh32x8(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -25930,20 +24797,17 @@ func rewriteValueARM64_OpRsh64Ux16(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -25961,20 +24825,17 @@ func rewriteValueARM64_OpRsh64Ux32(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -25991,16 +24852,13 @@ func rewriteValueARM64_OpRsh64Ux64(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpConst64, t)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -26018,20 +24876,17 @@ func rewriteValueARM64_OpRsh64Ux8(v *Value) bool {
v.reset(OpARM64CSEL)
v.Aux = OpARM64LessThanU
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -26046,22 +24901,19 @@ func rewriteValueARM64_OpRsh64x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64SRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v0.Aux = OpARM64LessThanU
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v0.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v0.AddArg(v3)
- v.AddArg(v0)
+ v0.AddArg3(v1, v2, v3)
+ v.AddArg2(x, v0)
return true
}
}
@@ -26076,22 +24928,19 @@ func rewriteValueARM64_OpRsh64x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64SRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v0.Aux = OpARM64LessThanU
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v0.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v0.AddArg(v3)
- v.AddArg(v0)
+ v0.AddArg3(v1, v2, v3)
+ v.AddArg2(x, v0)
return true
}
}
@@ -26105,18 +24954,15 @@ func rewriteValueARM64_OpRsh64x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64SRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v0.Aux = OpARM64LessThanU
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpConst64, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -26131,22 +24977,19 @@ func rewriteValueARM64_OpRsh64x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpARM64SRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v0.Aux = OpARM64LessThanU
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v0.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v0.AddArg(v3)
- v.AddArg(v0)
+ v0.AddArg3(v1, v2, v3)
+ v.AddArg2(x, v0)
return true
}
}
@@ -26166,20 +25009,17 @@ func rewriteValueARM64_OpRsh8Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -26199,20 +25039,17 @@ func rewriteValueARM64_OpRsh8Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -26232,16 +25069,13 @@ func rewriteValueARM64_OpRsh8Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -26261,20 +25095,17 @@ func rewriteValueARM64_OpRsh8Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpConst64, t)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -26291,22 +25122,19 @@ func rewriteValueARM64_OpRsh8x16(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -26323,22 +25151,19 @@ func rewriteValueARM64_OpRsh8x32(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -26355,18 +25180,15 @@ func rewriteValueARM64_OpRsh8x64(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -26383,22 +25205,19 @@ func rewriteValueARM64_OpRsh8x8(v *Value) bool {
v.reset(OpARM64SRA)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64CSEL, y.Type)
v1.Aux = OpARM64LessThanU
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
v3.AuxInt = 63
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -26418,14 +25237,12 @@ func rewriteValueARM64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpARM64ADCSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpARM64ADDSconstflags, types.NewTuple(typ.UInt64, types.TypeFlags))
v2.AuxInt = -1
v2.AddArg(c)
v1.AddArg(v2)
- v0.AddArg(v1)
+ v0.AddArg3(x, y, v1)
v.AddArg(v0)
return true
}
@@ -26441,13 +25258,11 @@ func rewriteValueARM64_OpSelect0(v *Value) bool {
v.reset(OpSelect0)
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpARM64SBCSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
- v0.AddArg(x)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpARM64NEGSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
v2.AddArg(bo)
v1.AddArg(v2)
- v0.AddArg(v1)
+ v0.AddArg3(x, y, v1)
v.AddArg(v0)
return true
}
@@ -26470,14 +25285,12 @@ func rewriteValueARM64_OpSelect1(v *Value) bool {
v.Type = typ.UInt64
v0 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpARM64ADCSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
- v1.AddArg(x)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpARM64ADDSconstflags, types.NewTuple(typ.UInt64, types.TypeFlags))
v3.AuxInt = -1
v3.AddArg(c)
v2.AddArg(v3)
- v1.AddArg(v2)
+ v1.AddArg3(x, y, v2)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -26496,13 +25309,11 @@ func rewriteValueARM64_OpSelect1(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpARM64NGCzerocarry, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v2 := b.NewValue0(v.Pos, OpARM64SBCSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
- v2.AddArg(x)
- v2.AddArg(y)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v4 := b.NewValue0(v.Pos, OpARM64NEGSflags, types.NewTuple(typ.UInt64, types.TypeFlags))
v4.AddArg(bo)
v3.AddArg(v4)
- v2.AddArg(v3)
+ v2.AddArg3(x, y, v3)
v1.AddArg(v2)
v0.AddArg(v1)
v.AddArg(v0)
@@ -26542,9 +25353,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -26559,9 +25368,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64MOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -26576,9 +25383,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -26593,9 +25398,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64MOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -26610,9 +25413,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64FMOVSstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -26627,9 +25428,7 @@ func rewriteValueARM64_OpStore(v *Value) bool {
break
}
v.reset(OpARM64FMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -26661,11 +25460,9 @@ func rewriteValueARM64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpARM64MOVBstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] ptr mem)
@@ -26677,11 +25474,9 @@ func rewriteValueARM64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpARM64MOVHstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [4] ptr mem)
@@ -26693,11 +25488,9 @@ func rewriteValueARM64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpARM64MOVWstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [8] ptr mem)
@@ -26709,11 +25502,9 @@ func rewriteValueARM64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpARM64MOVDstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [3] ptr mem)
@@ -26726,17 +25517,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [5] ptr mem)
@@ -26749,17 +25536,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [6] ptr mem)
@@ -26772,17 +25555,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVHstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [7] ptr mem)
@@ -26795,24 +25574,18 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 6
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [9] ptr mem)
@@ -26825,17 +25598,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [10] ptr mem)
@@ -26848,17 +25617,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVHstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [11] ptr mem)
@@ -26871,24 +25636,18 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 10
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [12] ptr mem)
@@ -26901,17 +25660,13 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVWstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [13] ptr mem)
@@ -26924,24 +25679,18 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 12
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [14] ptr mem)
@@ -26954,24 +25703,18 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVHstore)
v.AuxInt = 12
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [15] ptr mem)
@@ -26984,31 +25727,23 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64MOVBstore)
v.AuxInt = 14
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 12
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
v3.AuxInt = 8
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [16] ptr mem)
@@ -27021,14 +25756,11 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64STP)
v.AuxInt = 0
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
- v.AddArg(mem)
+ v.AddArg4(ptr, v0, v1, mem)
return true
}
// match: (Zero [32] ptr mem)
@@ -27041,24 +25773,18 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64STP)
v.AuxInt = 16
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v2.AuxInt = 0
- v2.AddArg(ptr)
v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v3.AuxInt = 0
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v2.AddArg(v4)
- v2.AddArg(mem)
- v.AddArg(v2)
+ v2.AddArg4(ptr, v3, v4, mem)
+ v.AddArg4(ptr, v0, v1, v2)
return true
}
// match: (Zero [48] ptr mem)
@@ -27071,34 +25797,25 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64STP)
v.AuxInt = 32
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v2.AuxInt = 16
- v2.AddArg(ptr)
v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v3.AuxInt = 0
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v2.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v6.AuxInt = 0
- v5.AddArg(v6)
v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v7.AuxInt = 0
- v5.AddArg(v7)
- v5.AddArg(mem)
- v2.AddArg(v5)
- v.AddArg(v2)
+ v5.AddArg4(ptr, v6, v7, mem)
+ v2.AddArg4(ptr, v3, v4, v5)
+ v.AddArg4(ptr, v0, v1, v2)
return true
}
// match: (Zero [64] ptr mem)
@@ -27111,44 +25828,32 @@ func rewriteValueARM64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpARM64STP)
v.AuxInt = 48
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v2.AuxInt = 32
- v2.AddArg(ptr)
v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v3.AuxInt = 0
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v4.AuxInt = 0
- v2.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v5.AuxInt = 16
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v6.AuxInt = 0
- v5.AddArg(v6)
v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v7.AuxInt = 0
- v5.AddArg(v7)
v8 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v8.AuxInt = 0
- v8.AddArg(ptr)
v9 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v9.AuxInt = 0
- v8.AddArg(v9)
v10 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v10.AuxInt = 0
- v8.AddArg(v10)
- v8.AddArg(mem)
- v5.AddArg(v8)
- v2.AddArg(v5)
- v.AddArg(v2)
+ v8.AddArg4(ptr, v9, v10, mem)
+ v5.AddArg4(ptr, v6, v7, v8)
+ v2.AddArg4(ptr, v3, v4, v5)
+ v.AddArg4(ptr, v0, v1, v2)
return true
}
// match: (Zero [s] ptr mem)
@@ -27166,12 +25871,10 @@ func rewriteValueARM64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, ptr.Type)
v0.AuxInt = s - 8
v0.AddArg(ptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem)
v1.AuxInt = s - s%16
- v1.AddArg(ptr)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg2(ptr, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [s] ptr mem)
@@ -27189,12 +25892,10 @@ func rewriteValueARM64_OpZero(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpOffPtr, ptr.Type)
v0.AuxInt = s - 16
v0.AddArg(ptr)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZero, types.TypeMem)
v1.AuxInt = s - s%16
- v1.AddArg(ptr)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg2(ptr, mem)
+ v.AddArg2(v0, v1)
return true
}
// match: (Zero [s] ptr mem)
@@ -27209,8 +25910,7 @@ func rewriteValueARM64_OpZero(v *Value) bool {
}
v.reset(OpARM64DUFFZERO)
v.AuxInt = 4 * (64 - s/16)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Zero [s] ptr mem)
@@ -27224,12 +25924,10 @@ func rewriteValueARM64_OpZero(v *Value) bool {
break
}
v.reset(OpARM64LoweredZero)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpARM64ADDconst, ptr.Type)
v0.AuxInt = s - 16
v0.AddArg(ptr)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -27284,8 +25982,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27314,8 +26011,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27416,8 +26112,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27446,8 +26141,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27470,8 +26164,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27492,8 +26185,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27541,11 +26233,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -27569,11 +26259,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -27597,11 +26285,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -27625,11 +26311,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64EQ)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -27794,8 +26478,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27824,8 +26507,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27926,8 +26608,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27956,8 +26637,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -27980,8 +26660,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28002,8 +26681,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28027,11 +26705,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28055,11 +26731,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28083,11 +26757,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28111,11 +26783,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28234,8 +26904,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28264,8 +26933,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28366,8 +27034,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28396,8 +27063,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28420,8 +27086,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28442,8 +27107,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28467,11 +27131,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28495,11 +27157,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28523,11 +27183,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28551,11 +27209,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64GT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -28784,8 +27440,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28814,8 +27469,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28916,8 +27570,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28946,8 +27599,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28970,8 +27622,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -28992,8 +27643,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29017,11 +27667,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29045,11 +27693,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29073,11 +27719,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29101,11 +27745,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29198,8 +27840,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29228,8 +27869,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29330,8 +27970,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29360,8 +27999,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29384,8 +28022,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29406,8 +28043,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29431,11 +28067,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29459,11 +28093,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29487,11 +28119,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29515,11 +28145,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64LT)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29639,8 +28267,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TST, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29669,8 +28296,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64TSTW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29771,8 +28397,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29801,8 +28426,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29825,8 +28449,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29847,8 +28470,7 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -29896,11 +28518,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMN, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29924,11 +28544,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMP, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MUL, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29952,11 +28570,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMNW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
@@ -29980,11 +28596,9 @@ func rewriteBlockARM64(b *Block) bool {
}
b.Reset(BlockARM64NE)
v0 := b.NewValue0(v_0.Pos, OpARM64CMPW, types.TypeFlags)
- v0.AddArg(a)
v1 := b.NewValue0(v_0.Pos, OpARM64MULW, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
+ v1.AddArg2(x, y)
+ v0.AddArg2(a, v1)
b.AddControl(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go
index b3226cddb5..58dc71bd04 100644
--- a/src/cmd/compile/internal/ssa/rewriteMIPS.go
+++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go
@@ -596,11 +596,9 @@ func rewriteValueMIPS_OpAdd32withcarry(v *Value) bool {
y := v_1
c := v_2
v.reset(OpMIPSADD)
- v.AddArg(c)
v0 := b.NewValue0(v.Pos, OpMIPSADD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
+ v.AddArg2(c, v0)
return true
}
}
@@ -625,39 +623,33 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = ^3
- v0.AddArg(v1)
- v0.AddArg(ptr)
- v.AddArg(v0)
+ v0.AddArg2(v1, ptr)
v2 := b.NewValue0(v.Pos, OpMIPSOR, typ.UInt32)
v3 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(val)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v5.AuxInt = 3
v6 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
v6.AuxInt = 3
v6.AddArg(ptr)
v5.AddArg(v6)
- v3.AddArg(v5)
- v2.AddArg(v3)
+ v3.AddArg2(v4, v5)
v7 := b.NewValue0(v.Pos, OpMIPSNORconst, typ.UInt32)
v7.AuxInt = 0
v8 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v9.AuxInt = 0xff
- v8.AddArg(v9)
v10 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v10.AuxInt = 3
v11 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
v11.AuxInt = 3
v11.AddArg(ptr)
v10.AddArg(v11)
- v8.AddArg(v10)
+ v8.AddArg2(v9, v10)
v7.AddArg(v8)
- v2.AddArg(v7)
- v.AddArg(v2)
- v.AddArg(mem)
+ v2.AddArg2(v3, v7)
+ v.AddArg3(v0, v2, mem)
return true
}
// match: (AtomicAnd8 ptr val mem)
@@ -674,14 +666,11 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = ^3
- v0.AddArg(v1)
- v0.AddArg(ptr)
- v.AddArg(v0)
+ v0.AddArg2(v1, ptr)
v2 := b.NewValue0(v.Pos, OpMIPSOR, typ.UInt32)
v3 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(val)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v5.AuxInt = 3
v6 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
@@ -691,14 +680,12 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool {
v7.AddArg(ptr)
v6.AddArg(v7)
v5.AddArg(v6)
- v3.AddArg(v5)
- v2.AddArg(v3)
+ v3.AddArg2(v4, v5)
v8 := b.NewValue0(v.Pos, OpMIPSNORconst, typ.UInt32)
v8.AuxInt = 0
v9 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v10 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v10.AuxInt = 0xff
- v9.AddArg(v10)
v11 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v11.AuxInt = 3
v12 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
@@ -708,11 +695,10 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value) bool {
v13.AddArg(ptr)
v12.AddArg(v13)
v11.AddArg(v12)
- v9.AddArg(v11)
+ v9.AddArg2(v10, v11)
v8.AddArg(v9)
- v2.AddArg(v8)
- v.AddArg(v2)
- v.AddArg(mem)
+ v2.AddArg2(v3, v8)
+ v.AddArg3(v0, v2, mem)
return true
}
return false
@@ -738,22 +724,18 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = ^3
- v0.AddArg(v1)
- v0.AddArg(ptr)
- v.AddArg(v0)
+ v0.AddArg2(v1, ptr)
v2 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v3 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v3.AddArg(val)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v4.AuxInt = 3
v5 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
v5.AuxInt = 3
v5.AddArg(ptr)
v4.AddArg(v5)
- v2.AddArg(v4)
- v.AddArg(v2)
- v.AddArg(mem)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v2, mem)
return true
}
// match: (AtomicOr8 ptr val mem)
@@ -770,13 +752,10 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSAND, typ.UInt32Ptr)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = ^3
- v0.AddArg(v1)
- v0.AddArg(ptr)
- v.AddArg(v0)
+ v0.AddArg2(v1, ptr)
v2 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v3 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v3.AddArg(val)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
v4.AuxInt = 3
v5 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
@@ -786,9 +765,8 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value) bool {
v6.AddArg(ptr)
v5.AddArg(v6)
v4.AddArg(v5)
- v2.AddArg(v4)
- v.AddArg(v2)
- v.AddArg(mem)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v2, mem)
return true
}
return false
@@ -807,11 +785,9 @@ func rewriteValueMIPS_OpAvg32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRLconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpMIPSSUB, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -827,10 +803,9 @@ func rewriteValueMIPS_OpBitLen32(v *Value) bool {
v.reset(OpMIPSSUB)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 32
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCLZ, t)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -891,18 +866,16 @@ func rewriteValueMIPS_OpCtz32(v *Value) bool {
v.reset(OpMIPSSUB)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 32
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCLZ, t)
v2 := b.NewValue0(v.Pos, OpMIPSSUBconst, t)
v2.AuxInt = 1
v3 := b.NewValue0(v.Pos, OpMIPSAND, t)
- v3.AddArg(x)
v4 := b.NewValue0(v.Pos, OpMIPSNEG, t)
v4.AddArg(x)
- v3.AddArg(v4)
+ v3.AddArg2(x, v4)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -920,10 +893,9 @@ func rewriteValueMIPS_OpDiv16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -942,10 +914,9 @@ func rewriteValueMIPS_OpDiv16u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -962,8 +933,7 @@ func rewriteValueMIPS_OpDiv32(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -980,8 +950,7 @@ func rewriteValueMIPS_OpDiv32u(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1000,10 +969,9 @@ func rewriteValueMIPS_OpDiv8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1022,10 +990,9 @@ func rewriteValueMIPS_OpDiv8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1045,10 +1012,9 @@ func rewriteValueMIPS_OpEq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1066,8 +1032,7 @@ func rewriteValueMIPS_OpEq32(v *Value) bool {
v.reset(OpMIPSSGTUconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1083,8 +1048,7 @@ func rewriteValueMIPS_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1100,8 +1064,7 @@ func rewriteValueMIPS_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1121,10 +1084,9 @@ func rewriteValueMIPS_OpEq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1142,8 +1104,7 @@ func rewriteValueMIPS_OpEqB(v *Value) bool {
v.reset(OpMIPSXORconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.Bool)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1161,8 +1122,7 @@ func rewriteValueMIPS_OpEqPtr(v *Value) bool {
v.reset(OpMIPSSGTUconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1178,8 +1138,7 @@ func rewriteValueMIPS_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1195,8 +1154,7 @@ func rewriteValueMIPS_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1212,8 +1170,7 @@ func rewriteValueMIPS_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1229,8 +1186,7 @@ func rewriteValueMIPS_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1247,8 +1203,7 @@ func rewriteValueMIPS_OpHmul32(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPSMULT, types.NewTuple(typ.Int32, typ.Int32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1265,8 +1220,7 @@ func rewriteValueMIPS_OpHmul32u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPSMULTU, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1280,8 +1234,7 @@ func rewriteValueMIPS_OpIsInBounds(v *Value) bool {
idx := v_0
len := v_1
v.reset(OpMIPSSGTU)
- v.AddArg(len)
- v.AddArg(idx)
+ v.AddArg2(len, idx)
return true
}
}
@@ -1294,10 +1247,9 @@ func rewriteValueMIPS_OpIsNonNil(v *Value) bool {
for {
ptr := v_0
v.reset(OpMIPSSGTU)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
+ v.AddArg2(ptr, v0)
return true
}
}
@@ -1314,8 +1266,7 @@ func rewriteValueMIPS_OpIsSliceInBounds(v *Value) bool {
v.reset(OpMIPSXORconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -1335,10 +1286,9 @@ func rewriteValueMIPS_OpLeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1358,10 +1308,9 @@ func rewriteValueMIPS_OpLeq16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1379,8 +1328,7 @@ func rewriteValueMIPS_OpLeq32(v *Value) bool {
v.reset(OpMIPSXORconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1396,8 +1344,7 @@ func rewriteValueMIPS_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1415,8 +1362,7 @@ func rewriteValueMIPS_OpLeq32U(v *Value) bool {
v.reset(OpMIPSXORconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1432,8 +1378,7 @@ func rewriteValueMIPS_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1453,10 +1398,9 @@ func rewriteValueMIPS_OpLeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSGT, typ.Bool)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1476,10 +1420,9 @@ func rewriteValueMIPS_OpLeq8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1497,10 +1440,9 @@ func rewriteValueMIPS_OpLess16(v *Value) bool {
v.reset(OpMIPSSGT)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1517,10 +1459,9 @@ func rewriteValueMIPS_OpLess16U(v *Value) bool {
v.reset(OpMIPSSGTU)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1533,8 +1474,7 @@ func rewriteValueMIPS_OpLess32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPSSGT)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1549,8 +1489,7 @@ func rewriteValueMIPS_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1564,8 +1503,7 @@ func rewriteValueMIPS_OpLess32U(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPSSGTU)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1580,8 +1518,7 @@ func rewriteValueMIPS_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1599,10 +1536,9 @@ func rewriteValueMIPS_OpLess8(v *Value) bool {
v.reset(OpMIPSSGT)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1619,10 +1555,9 @@ func rewriteValueMIPS_OpLess8U(v *Value) bool {
v.reset(OpMIPSSGTU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1640,8 +1575,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1655,8 +1589,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1670,8 +1603,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1685,8 +1617,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1700,8 +1631,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVHUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1715,8 +1645,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1730,8 +1659,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVFload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1745,8 +1673,7 @@ func rewriteValueMIPS_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPSMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -1777,20 +1704,17 @@ func rewriteValueMIPS_OpLsh16x16(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -1807,16 +1731,13 @@ func rewriteValueMIPS_OpLsh16x32(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v2.AuxInt = 32
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1870,20 +1791,17 @@ func rewriteValueMIPS_OpLsh16x8(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -1900,20 +1818,17 @@ func rewriteValueMIPS_OpLsh32x16(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -1930,16 +1845,13 @@ func rewriteValueMIPS_OpLsh32x32(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v2.AuxInt = 32
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1993,20 +1905,17 @@ func rewriteValueMIPS_OpLsh32x8(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -2023,20 +1932,17 @@ func rewriteValueMIPS_OpLsh8x16(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -2053,16 +1959,13 @@ func rewriteValueMIPS_OpLsh8x32(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v2.AuxInt = 32
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2116,20 +2019,17 @@ func rewriteValueMIPS_OpLsh8x8(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -2162,8 +2062,7 @@ func rewriteValueMIPS_OpMIPSADD(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpMIPSSUB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2289,8 +2188,7 @@ func rewriteValueMIPS_OpMIPSAND(v *Value) bool {
v.reset(OpMIPSSGTUconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2392,8 +2290,7 @@ func rewriteValueMIPS_OpMIPSCMOVZ(v *Value) bool {
}
c := v_2
v.reset(OpMIPSCMOVZzero)
- v.AddArg(a)
- v.AddArg(c)
+ v.AddArg2(a, c)
return true
}
return false
@@ -2449,8 +2346,7 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicAdd(v *Value) bool {
}
v.reset(OpMIPSLoweredAtomicAddconst)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2468,8 +2364,7 @@ func rewriteValueMIPS_OpMIPSLoweredAtomicStore32(v *Value) bool {
}
mem := v_2
v.reset(OpMIPSLoweredAtomicStorezero)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2496,8 +2391,7 @@ func rewriteValueMIPS_OpMIPSMOVBUload(v *Value) bool {
v.reset(OpMIPSMOVBUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -2519,8 +2413,7 @@ func rewriteValueMIPS_OpMIPSMOVBUload(v *Value) bool {
v.reset(OpMIPSMOVBUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off] {sym} ptr (MOVBstore [off2] {sym2} ptr2 x _))
@@ -2595,8 +2488,7 @@ func rewriteValueMIPS_OpMIPSMOVBUreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBUreg (ANDconst [c] x))
@@ -2647,8 +2539,7 @@ func rewriteValueMIPS_OpMIPSMOVBload(v *Value) bool {
v.reset(OpMIPSMOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -2670,8 +2561,7 @@ func rewriteValueMIPS_OpMIPSMOVBload(v *Value) bool {
v.reset(OpMIPSMOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off] {sym} ptr (MOVBstore [off2] {sym2} ptr2 x _))
@@ -2746,8 +2636,7 @@ func rewriteValueMIPS_OpMIPSMOVBreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVBreg (ANDconst [c] x))
@@ -2804,9 +2693,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -2829,9 +2716,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWconst [0]) mem)
@@ -2847,8 +2732,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem)
@@ -2865,9 +2749,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBUreg x) mem)
@@ -2884,9 +2766,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem)
@@ -2903,9 +2783,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -2922,9 +2800,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWreg x) mem)
@@ -2941,9 +2817,7 @@ func rewriteValueMIPS_OpMIPSMOVBstore(v *Value) bool {
v.reset(OpMIPSMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -2970,8 +2844,7 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero(v *Value) bool {
v.reset(OpMIPSMOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -2993,8 +2866,7 @@ func rewriteValueMIPS_OpMIPSMOVBstorezero(v *Value) bool {
v.reset(OpMIPSMOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3021,8 +2893,7 @@ func rewriteValueMIPS_OpMIPSMOVDload(v *Value) bool {
v.reset(OpMIPSMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3044,8 +2915,7 @@ func rewriteValueMIPS_OpMIPSMOVDload(v *Value) bool {
v.reset(OpMIPSMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off] {sym} ptr (MOVDstore [off2] {sym2} ptr2 x _))
@@ -3097,9 +2967,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore(v *Value) bool {
v.reset(OpMIPSMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -3122,9 +2990,7 @@ func rewriteValueMIPS_OpMIPSMOVDstore(v *Value) bool {
v.reset(OpMIPSMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -3151,8 +3017,7 @@ func rewriteValueMIPS_OpMIPSMOVFload(v *Value) bool {
v.reset(OpMIPSMOVFload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3174,8 +3039,7 @@ func rewriteValueMIPS_OpMIPSMOVFload(v *Value) bool {
v.reset(OpMIPSMOVFload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off] {sym} ptr (MOVFstore [off2] {sym2} ptr2 x _))
@@ -3227,9 +3091,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore(v *Value) bool {
v.reset(OpMIPSMOVFstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVFstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -3252,9 +3114,7 @@ func rewriteValueMIPS_OpMIPSMOVFstore(v *Value) bool {
v.reset(OpMIPSMOVFstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -3281,8 +3141,7 @@ func rewriteValueMIPS_OpMIPSMOVHUload(v *Value) bool {
v.reset(OpMIPSMOVHUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3304,8 +3163,7 @@ func rewriteValueMIPS_OpMIPSMOVHUload(v *Value) bool {
v.reset(OpMIPSMOVHUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off] {sym} ptr (MOVHstore [off2] {sym2} ptr2 x _))
@@ -3403,8 +3261,7 @@ func rewriteValueMIPS_OpMIPSMOVHUreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVHUreg (ANDconst [c] x))
@@ -3455,8 +3312,7 @@ func rewriteValueMIPS_OpMIPSMOVHload(v *Value) bool {
v.reset(OpMIPSMOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3478,8 +3334,7 @@ func rewriteValueMIPS_OpMIPSMOVHload(v *Value) bool {
v.reset(OpMIPSMOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off] {sym} ptr (MOVHstore [off2] {sym2} ptr2 x _))
@@ -3600,8 +3455,7 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
// match: (MOVHreg (ANDconst [c] x))
@@ -3658,9 +3512,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -3683,9 +3535,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWconst [0]) mem)
@@ -3701,8 +3551,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem)
@@ -3719,9 +3568,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -3738,9 +3585,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWreg x) mem)
@@ -3757,9 +3602,7 @@ func rewriteValueMIPS_OpMIPSMOVHstore(v *Value) bool {
v.reset(OpMIPSMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -3786,8 +3629,7 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero(v *Value) bool {
v.reset(OpMIPSMOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3809,8 +3651,7 @@ func rewriteValueMIPS_OpMIPSMOVHstorezero(v *Value) bool {
v.reset(OpMIPSMOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3837,8 +3678,7 @@ func rewriteValueMIPS_OpMIPSMOVWload(v *Value) bool {
v.reset(OpMIPSMOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -3860,8 +3700,7 @@ func rewriteValueMIPS_OpMIPSMOVWload(v *Value) bool {
v.reset(OpMIPSMOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off] {sym} ptr (MOVWstore [off2] {sym2} ptr2 x _))
@@ -3940,9 +3779,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool {
v.reset(OpMIPSMOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) val mem)
@@ -3965,9 +3802,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool {
v.reset(OpMIPSMOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWconst [0]) mem)
@@ -3983,8 +3818,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool {
v.reset(OpMIPSMOVWstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem)
@@ -4001,9 +3835,7 @@ func rewriteValueMIPS_OpMIPSMOVWstore(v *Value) bool {
v.reset(OpMIPSMOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -4030,8 +3862,7 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero(v *Value) bool {
v.reset(OpMIPSMOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstorezero [off1] {sym1} (MOVWaddr [off2] {sym2} ptr) mem)
@@ -4053,8 +3884,7 @@ func rewriteValueMIPS_OpMIPSMOVWstorezero(v *Value) bool {
v.reset(OpMIPSMOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4242,8 +4072,7 @@ func rewriteValueMIPS_OpMIPSOR(v *Value) bool {
y := v_1.Args[0]
v.reset(OpMIPSSGTUzero)
v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5030,10 +4859,9 @@ func rewriteValueMIPS_OpMod16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5052,10 +4880,9 @@ func rewriteValueMIPS_OpMod16u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5072,8 +4899,7 @@ func rewriteValueMIPS_OpMod32(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5090,8 +4916,7 @@ func rewriteValueMIPS_OpMod32u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5110,10 +4935,9 @@ func rewriteValueMIPS_OpMod8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIV, types.NewTuple(typ.Int32, typ.Int32))
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5132,10 +4956,9 @@ func rewriteValueMIPS_OpMod8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSDIVU, types.NewTuple(typ.UInt32, typ.UInt32))
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5169,12 +4992,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpMIPSMOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] {t} dst src mem)
@@ -5192,12 +5012,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
break
}
v.reset(OpMIPSMOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -5211,20 +5028,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPSMOVBstore)
v.AuxInt = 1
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v0.AuxInt = 1
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -5242,12 +5053,9 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
break
}
v.reset(OpMIPSMOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -5266,20 +5074,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVHstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, typ.UInt16)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVHUload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] dst src mem)
@@ -5293,38 +5095,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPSMOVBstore)
v.AuxInt = 3
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v0.AuxInt = 3
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v2.AuxInt = 2
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v4.AuxInt = 1
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [3] dst src mem)
@@ -5338,29 +5128,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPSMOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
v2.AuxInt = 1
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, typ.UInt8)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -5379,20 +5160,14 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -5411,38 +5186,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVHstore)
v.AuxInt = 6
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
v0.AuxInt = 6
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v3.AuxInt = 2
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
v4.AuxInt = 2
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] {t} dst src mem)
@@ -5461,29 +5224,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVHstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
v2.AuxInt = 2
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, typ.Int16)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [12] {t} dst src mem)
@@ -5502,29 +5256,20 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [16] {t} dst src mem)
@@ -5543,38 +5288,26 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 12
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v0.AuxInt = 12
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v2.AuxInt = 8
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v3.AuxInt = 4
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
v4.AuxInt = 4
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpMIPSMOVWload, typ.UInt32)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -5591,13 +5324,10 @@ func rewriteValueMIPS_OpMove(v *Value) bool {
}
v.reset(OpMIPSLoweredMove)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpMIPSADDconst, src.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(src)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -5616,14 +5346,12 @@ func rewriteValueMIPS_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -5639,12 +5367,10 @@ func rewriteValueMIPS_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpMIPSSGTU)
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5659,8 +5385,7 @@ func rewriteValueMIPS_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagFalse)
v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5676,8 +5401,7 @@ func rewriteValueMIPS_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPSFPFlagFalse)
v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5696,14 +5420,12 @@ func rewriteValueMIPS_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -5719,12 +5441,10 @@ func rewriteValueMIPS_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpMIPSSGTU)
v0 := b.NewValue0(v.Pos, OpMIPSXOR, typ.UInt32)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5783,9 +5503,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -5801,9 +5519,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -5819,9 +5535,7 @@ func rewriteValueMIPS_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -5845,10 +5559,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicExtendA)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -5865,10 +5576,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicExtendB)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
// match: (PanicExtend [kind] hi lo y mem)
@@ -5885,10 +5593,7 @@ func rewriteValueMIPS_OpPanicExtend(v *Value) bool {
}
v.reset(OpMIPSLoweredPanicExtendC)
v.AuxInt = kind
- v.AddArg(hi)
- v.AddArg(lo)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg4(hi, lo, y, mem)
return true
}
return false
@@ -5909,17 +5614,14 @@ func rewriteValueMIPS_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -5940,17 +5642,14 @@ func rewriteValueMIPS_OpRotateLeft32(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr32)
v0 := b.NewValue0(v.Pos, OpLsh32x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = c & 31
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh32Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -c & 31
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -5971,17 +5670,14 @@ func rewriteValueMIPS_OpRotateLeft64(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr64)
v0 := b.NewValue0(v.Pos, OpLsh64x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = c & 63
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh64Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -c & 63
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6002,17 +5698,14 @@ func rewriteValueMIPS_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x32, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux32, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6032,20 +5725,17 @@ func rewriteValueMIPS_OpRsh16Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -6064,16 +5754,13 @@ func rewriteValueMIPS_OpRsh16Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -6134,20 +5821,17 @@ func rewriteValueMIPS_OpRsh16Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -6164,21 +5848,18 @@ func rewriteValueMIPS_OpRsh16x16(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -1
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6195,17 +5876,14 @@ func rewriteValueMIPS_OpRsh16x32(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = -1
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6269,21 +5947,18 @@ func rewriteValueMIPS_OpRsh16x8(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -1
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6300,20 +5975,17 @@ func rewriteValueMIPS_OpRsh32Ux16(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -6330,16 +6002,13 @@ func rewriteValueMIPS_OpRsh32Ux32(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v2.AuxInt = 32
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -6393,20 +6062,17 @@ func rewriteValueMIPS_OpRsh32Ux8(v *Value) bool {
y := v_1
v.reset(OpMIPSCMOVZ)
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -6421,21 +6087,18 @@ func rewriteValueMIPS_OpRsh32x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPSSRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = -1
- v0.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v0.AddArg(v3)
- v.AddArg(v0)
+ v0.AddArg3(v1, v2, v3)
+ v.AddArg2(x, v0)
return true
}
}
@@ -6450,17 +6113,14 @@ func rewriteValueMIPS_OpRsh32x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPSSRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = -1
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v2.AuxInt = 32
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -6514,21 +6174,18 @@ func rewriteValueMIPS_OpRsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPSSRA)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = -1
- v0.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v4.AddArg(y)
v3.AddArg(v4)
- v0.AddArg(v3)
- v.AddArg(v0)
+ v0.AddArg3(v1, v2, v3)
+ v.AddArg2(x, v0)
return true
}
}
@@ -6547,20 +6204,17 @@ func rewriteValueMIPS_OpRsh8Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -6579,16 +6233,13 @@ func rewriteValueMIPS_OpRsh8Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -6649,20 +6300,17 @@ func rewriteValueMIPS_OpRsh8Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = 0
- v.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v.AddArg(v4)
+ v.AddArg3(v0, v3, v4)
return true
}
}
@@ -6679,21 +6327,18 @@ func rewriteValueMIPS_OpRsh8x16(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -1
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6710,17 +6355,14 @@ func rewriteValueMIPS_OpRsh8x32(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = -1
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = 32
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6784,21 +6426,18 @@ func rewriteValueMIPS_OpRsh8x8(v *Value) bool {
v.reset(OpMIPSSRA)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, typ.UInt32)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v3.AuxInt = -1
- v1.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = 32
v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v5.AddArg(y)
v4.AddArg(v5)
- v1.AddArg(v4)
- v.AddArg(v1)
+ v1.AddArg3(v2, v3, v4)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6817,8 +6456,7 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool {
x := v_0.Args[0]
v.reset(OpMIPSADD)
v.Type = t.FieldType(0)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Select0 (Sub32carry x y))
@@ -6832,8 +6470,7 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool {
x := v_0.Args[0]
v.reset(OpMIPSSUB)
v.Type = t.FieldType(0)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Select0 (MULTU (MOVWconst [0]) _ ))
@@ -6892,11 +6529,9 @@ func rewriteValueMIPS_OpSelect0(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPSADDconst, x.Type)
v0.AuxInt = -1
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v.AddArg(v1)
- v.AddArg(x)
+ v.AddArg3(v0, v1, x)
return true
}
break
@@ -7010,11 +6645,9 @@ func rewriteValueMIPS_OpSelect1(v *Value) bool {
x := v_0.Args[0]
v.reset(OpMIPSSGTU)
v.Type = typ.Bool
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPSADD, t.FieldType(0))
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
+ v.AddArg2(x, v0)
return true
}
// match: (Select1 (Sub32carry x y))
@@ -7029,10 +6662,8 @@ func rewriteValueMIPS_OpSelect1(v *Value) bool {
v.reset(OpMIPSSGTU)
v.Type = typ.Bool
v0 := b.NewValue0(v.Pos, OpMIPSSUB, t.FieldType(0))
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(x)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, x)
return true
}
// match: (Select1 (MULTU (MOVWconst [0]) _ ))
@@ -7234,9 +6865,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool {
break
}
v.reset(OpMIPSMOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7251,9 +6880,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool {
break
}
v.reset(OpMIPSMOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7268,9 +6895,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool {
break
}
v.reset(OpMIPSMOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7285,9 +6910,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool {
break
}
v.reset(OpMIPSMOVFstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7302,9 +6925,7 @@ func rewriteValueMIPS_OpStore(v *Value) bool {
break
}
v.reset(OpMIPSMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -7323,10 +6944,8 @@ func rewriteValueMIPS_OpSub32withcarry(v *Value) bool {
c := v_2
v.reset(OpMIPSSUB)
v0 := b.NewValue0(v.Pos, OpMIPSSUB, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
- v.AddArg(c)
+ v0.AddArg2(x, y)
+ v.AddArg2(v0, c)
return true
}
}
@@ -7357,11 +6976,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpMIPSMOVBstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] {t} ptr mem)
@@ -7378,11 +6995,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
break
}
v.reset(OpMIPSMOVHstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] ptr mem)
@@ -7395,18 +7010,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPSMOVBstore)
v.AuxInt = 1
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -7423,11 +7034,9 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
break
}
v.reset(OpMIPSMOVWstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -7445,18 +7054,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSMOVHstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] ptr mem)
@@ -7469,32 +7074,24 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPSMOVBstore)
v.AuxInt = 3
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [3] ptr mem)
@@ -7507,25 +7104,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPSMOVBstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [6] {t} ptr mem)
@@ -7543,25 +7134,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSMOVHstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [8] {t} ptr mem)
@@ -7579,18 +7164,14 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [12] {t} ptr mem)
@@ -7608,25 +7189,19 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [16] {t} ptr mem)
@@ -7644,32 +7219,24 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSMOVWstore)
v.AuxInt = 12
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v3.AuxInt = 4
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -7685,12 +7252,10 @@ func rewriteValueMIPS_OpZero(v *Value) bool {
}
v.reset(OpMIPSLoweredZero)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPSADDconst, ptr.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(ptr)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
@@ -7705,10 +7270,9 @@ func rewriteValueMIPS_OpZeromask(v *Value) bool {
x := v_0
v.reset(OpMIPSNEG)
v0 := b.NewValue0(v.Pos, OpMIPSSGTU, typ.Bool)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v1.AuxInt = 0
- v0.AddArg(v1)
+ v0.AddArg2(x, v1)
v.AddArg(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go
index 315270b16a..6736fcd560 100644
--- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go
+++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go
@@ -706,11 +706,9 @@ func rewriteValueMIPS64_OpAvg64u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64SRLVconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpMIPS64SUBV, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -725,8 +723,7 @@ func rewriteValueMIPS64_OpCom16(v *Value) bool {
v.reset(OpMIPS64NOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -741,8 +738,7 @@ func rewriteValueMIPS64_OpCom32(v *Value) bool {
v.reset(OpMIPS64NOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -757,8 +753,7 @@ func rewriteValueMIPS64_OpCom64(v *Value) bool {
v.reset(OpMIPS64NOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -773,8 +768,7 @@ func rewriteValueMIPS64_OpCom8(v *Value) bool {
v.reset(OpMIPS64NOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -801,10 +795,9 @@ func rewriteValueMIPS64_OpDiv16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -823,10 +816,9 @@ func rewriteValueMIPS64_OpDiv16u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -845,10 +837,9 @@ func rewriteValueMIPS64_OpDiv32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -867,10 +858,9 @@ func rewriteValueMIPS64_OpDiv32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -887,8 +877,7 @@ func rewriteValueMIPS64_OpDiv64(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -905,8 +894,7 @@ func rewriteValueMIPS64_OpDiv64u(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -925,10 +913,9 @@ func rewriteValueMIPS64_OpDiv8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -947,10 +934,9 @@ func rewriteValueMIPS64_OpDiv8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -968,15 +954,13 @@ func rewriteValueMIPS64_OpEq16(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -993,15 +977,13 @@ func rewriteValueMIPS64_OpEq32(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1016,8 +998,7 @@ func rewriteValueMIPS64_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1035,11 +1016,9 @@ func rewriteValueMIPS64_OpEq64(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1054,8 +1033,7 @@ func rewriteValueMIPS64_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1073,15 +1051,13 @@ func rewriteValueMIPS64_OpEq8(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1098,11 +1074,9 @@ func rewriteValueMIPS64_OpEqB(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.Bool)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1119,11 +1093,9 @@ func rewriteValueMIPS64_OpEqPtr(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1138,8 +1110,7 @@ func rewriteValueMIPS64_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1155,8 +1126,7 @@ func rewriteValueMIPS64_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1172,8 +1142,7 @@ func rewriteValueMIPS64_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1189,8 +1158,7 @@ func rewriteValueMIPS64_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1211,10 +1179,9 @@ func rewriteValueMIPS64_OpHmul32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64MULV, types.NewTuple(typ.Int64, typ.Int64))
v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -1236,10 +1203,9 @@ func rewriteValueMIPS64_OpHmul32u(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -1257,8 +1223,7 @@ func rewriteValueMIPS64_OpHmul64(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPS64MULV, types.NewTuple(typ.Int64, typ.Int64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1275,8 +1240,7 @@ func rewriteValueMIPS64_OpHmul64u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1290,8 +1254,7 @@ func rewriteValueMIPS64_OpIsInBounds(v *Value) bool {
idx := v_0
len := v_1
v.reset(OpMIPS64SGTU)
- v.AddArg(len)
- v.AddArg(idx)
+ v.AddArg2(len, idx)
return true
}
}
@@ -1304,10 +1267,9 @@ func rewriteValueMIPS64_OpIsNonNil(v *Value) bool {
for {
ptr := v_0
v.reset(OpMIPS64SGTU)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
+ v.AddArg2(ptr, v0)
return true
}
}
@@ -1324,11 +1286,9 @@ func rewriteValueMIPS64_OpIsSliceInBounds(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v1.AddArg(idx)
- v1.AddArg(len)
- v.AddArg(v1)
+ v1.AddArg2(idx, len)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1345,15 +1305,13 @@ func rewriteValueMIPS64_OpLeq16(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool)
v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1370,15 +1328,13 @@ func rewriteValueMIPS64_OpLeq16U(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1395,15 +1351,13 @@ func rewriteValueMIPS64_OpLeq32(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool)
v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1418,8 +1372,7 @@ func rewriteValueMIPS64_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1437,15 +1390,13 @@ func rewriteValueMIPS64_OpLeq32U(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1462,11 +1413,9 @@ func rewriteValueMIPS64_OpLeq64(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1481,8 +1430,7 @@ func rewriteValueMIPS64_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1500,11 +1448,9 @@ func rewriteValueMIPS64_OpLeq64U(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v1.AddArg(x)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(x, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1521,15 +1467,13 @@ func rewriteValueMIPS64_OpLeq8(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGT, typ.Bool)
v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1546,15 +1490,13 @@ func rewriteValueMIPS64_OpLeq8U(v *Value) bool {
v.reset(OpMIPS64XOR)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(x)
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg2(v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1571,10 +1513,9 @@ func rewriteValueMIPS64_OpLess16(v *Value) bool {
v.reset(OpMIPS64SGT)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1591,10 +1532,9 @@ func rewriteValueMIPS64_OpLess16U(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1611,10 +1551,9 @@ func rewriteValueMIPS64_OpLess32(v *Value) bool {
v.reset(OpMIPS64SGT)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1629,8 +1568,7 @@ func rewriteValueMIPS64_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1648,10 +1586,9 @@ func rewriteValueMIPS64_OpLess32U(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1664,8 +1601,7 @@ func rewriteValueMIPS64_OpLess64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SGT)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1680,8 +1616,7 @@ func rewriteValueMIPS64_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagTrue)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1695,8 +1630,7 @@ func rewriteValueMIPS64_OpLess64U(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SGTU)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1713,10 +1647,9 @@ func rewriteValueMIPS64_OpLess8(v *Value) bool {
v.reset(OpMIPS64SGT)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1733,10 +1666,9 @@ func rewriteValueMIPS64_OpLess8U(v *Value) bool {
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v0.AddArg(y)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1754,8 +1686,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1769,8 +1700,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1784,8 +1714,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1799,8 +1728,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1814,8 +1742,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVHUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1829,8 +1756,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1844,8 +1770,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVWUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1859,8 +1784,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVVload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1874,8 +1798,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVFload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1889,8 +1812,7 @@ func rewriteValueMIPS64_OpLoad(v *Value) bool {
break
}
v.reset(OpMIPS64MOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -1924,18 +1846,15 @@ func rewriteValueMIPS64_OpLsh16x16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -1955,18 +1874,15 @@ func rewriteValueMIPS64_OpLsh16x32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -1986,14 +1902,11 @@ func rewriteValueMIPS64_OpLsh16x64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v3.AddArg(x)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(x, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -2013,18 +1926,15 @@ func rewriteValueMIPS64_OpLsh16x8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2044,18 +1954,15 @@ func rewriteValueMIPS64_OpLsh32x16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2075,18 +1982,15 @@ func rewriteValueMIPS64_OpLsh32x32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2106,14 +2010,11 @@ func rewriteValueMIPS64_OpLsh32x64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v3.AddArg(x)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(x, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -2133,18 +2034,15 @@ func rewriteValueMIPS64_OpLsh32x8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2164,18 +2062,15 @@ func rewriteValueMIPS64_OpLsh64x16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2195,18 +2090,15 @@ func rewriteValueMIPS64_OpLsh64x32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2226,14 +2118,11 @@ func rewriteValueMIPS64_OpLsh64x64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v3.AddArg(x)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(x, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -2253,18 +2142,15 @@ func rewriteValueMIPS64_OpLsh64x8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2284,18 +2170,15 @@ func rewriteValueMIPS64_OpLsh8x16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2315,18 +2198,15 @@ func rewriteValueMIPS64_OpLsh8x32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2346,14 +2226,11 @@ func rewriteValueMIPS64_OpLsh8x64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v3.AddArg(x)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(x, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -2373,18 +2250,15 @@ func rewriteValueMIPS64_OpLsh8x8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -2421,8 +2295,7 @@ func rewriteValueMIPS64_OpMIPS64ADDV(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpMIPS64SUBV)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -2617,8 +2490,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd32(v *Value) bool {
}
v.reset(OpMIPS64LoweredAtomicAddconst32)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2642,8 +2514,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicAdd64(v *Value) bool {
}
v.reset(OpMIPS64LoweredAtomicAddconst64)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2661,8 +2532,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore32(v *Value) bool {
}
mem := v_2
v.reset(OpMIPS64LoweredAtomicStorezero32)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2680,8 +2550,7 @@ func rewriteValueMIPS64_OpMIPS64LoweredAtomicStore64(v *Value) bool {
}
mem := v_2
v.reset(OpMIPS64LoweredAtomicStorezero64)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2707,8 +2576,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload(v *Value) bool {
v.reset(OpMIPS64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -2730,8 +2598,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBUload(v *Value) bool {
v.reset(OpMIPS64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2795,8 +2662,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBload(v *Value) bool {
v.reset(OpMIPS64MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -2818,8 +2684,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBload(v *Value) bool {
v.reset(OpMIPS64MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2885,9 +2750,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -2910,9 +2773,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVVconst [0]) mem)
@@ -2928,8 +2789,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem)
@@ -2946,9 +2806,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBUreg x) mem)
@@ -2965,9 +2823,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem)
@@ -2984,9 +2840,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -3003,9 +2857,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWreg x) mem)
@@ -3022,9 +2874,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -3041,9 +2891,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstore(v *Value) bool {
v.reset(OpMIPS64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -3069,8 +2917,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero(v *Value) bool {
v.reset(OpMIPS64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3092,8 +2939,7 @@ func rewriteValueMIPS64_OpMIPS64MOVBstorezero(v *Value) bool {
v.reset(OpMIPS64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3119,8 +2965,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDload(v *Value) bool {
v.reset(OpMIPS64MOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3142,8 +2987,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDload(v *Value) bool {
v.reset(OpMIPS64MOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3171,9 +3015,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore(v *Value) bool {
v.reset(OpMIPS64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -3196,9 +3038,7 @@ func rewriteValueMIPS64_OpMIPS64MOVDstore(v *Value) bool {
v.reset(OpMIPS64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -3224,8 +3064,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFload(v *Value) bool {
v.reset(OpMIPS64MOVFload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVFload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3247,8 +3086,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFload(v *Value) bool {
v.reset(OpMIPS64MOVFload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3276,9 +3114,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore(v *Value) bool {
v.reset(OpMIPS64MOVFstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVFstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -3301,9 +3137,7 @@ func rewriteValueMIPS64_OpMIPS64MOVFstore(v *Value) bool {
v.reset(OpMIPS64MOVFstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -3329,8 +3163,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload(v *Value) bool {
v.reset(OpMIPS64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3352,8 +3185,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHUload(v *Value) bool {
v.reset(OpMIPS64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3440,8 +3272,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHload(v *Value) bool {
v.reset(OpMIPS64MOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3463,8 +3294,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHload(v *Value) bool {
v.reset(OpMIPS64MOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3576,9 +3406,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -3601,9 +3429,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVVconst [0]) mem)
@@ -3619,8 +3445,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem)
@@ -3637,9 +3462,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHUreg x) mem)
@@ -3656,9 +3479,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWreg x) mem)
@@ -3675,9 +3496,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -3694,9 +3513,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstore(v *Value) bool {
v.reset(OpMIPS64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -3722,8 +3539,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero(v *Value) bool {
v.reset(OpMIPS64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3745,8 +3561,7 @@ func rewriteValueMIPS64_OpMIPS64MOVHstorezero(v *Value) bool {
v.reset(OpMIPS64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3772,8 +3587,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVload(v *Value) bool {
v.reset(OpMIPS64MOVVload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVVload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3795,8 +3609,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVload(v *Value) bool {
v.reset(OpMIPS64MOVVload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3851,9 +3664,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool {
v.reset(OpMIPS64MOVVstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVVstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -3876,9 +3687,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool {
v.reset(OpMIPS64MOVVstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVVstore [off] {sym} ptr (MOVVconst [0]) mem)
@@ -3894,8 +3703,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstore(v *Value) bool {
v.reset(OpMIPS64MOVVstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3921,8 +3729,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero(v *Value) bool {
v.reset(OpMIPS64MOVVstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVVstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3944,8 +3751,7 @@ func rewriteValueMIPS64_OpMIPS64MOVVstorezero(v *Value) bool {
v.reset(OpMIPS64MOVVstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -3971,8 +3777,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload(v *Value) bool {
v.reset(OpMIPS64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWUload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -3994,8 +3799,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWUload(v *Value) bool {
v.reset(OpMIPS64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4105,8 +3909,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWload(v *Value) bool {
v.reset(OpMIPS64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -4128,8 +3931,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWload(v *Value) bool {
v.reset(OpMIPS64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -4276,9 +4078,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool {
v.reset(OpMIPS64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) val mem)
@@ -4301,9 +4101,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool {
v.reset(OpMIPS64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVVconst [0]) mem)
@@ -4319,8 +4117,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool {
v.reset(OpMIPS64MOVWstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem)
@@ -4337,9 +4134,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool {
v.reset(OpMIPS64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWUreg x) mem)
@@ -4356,9 +4151,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstore(v *Value) bool {
v.reset(OpMIPS64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -4384,8 +4177,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero(v *Value) bool {
v.reset(OpMIPS64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstorezero [off1] {sym1} (MOVVaddr [off2] {sym2} ptr) mem)
@@ -4407,8 +4199,7 @@ func rewriteValueMIPS64_OpMIPS64MOVWstorezero(v *Value) bool {
v.reset(OpMIPS64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -5239,10 +5030,9 @@ func rewriteValueMIPS64_OpMod16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5261,10 +5051,9 @@ func rewriteValueMIPS64_OpMod16u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5283,10 +5072,9 @@ func rewriteValueMIPS64_OpMod32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5305,10 +5093,9 @@ func rewriteValueMIPS64_OpMod32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5325,8 +5112,7 @@ func rewriteValueMIPS64_OpMod64(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5343,8 +5129,7 @@ func rewriteValueMIPS64_OpMod64u(v *Value) bool {
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5363,10 +5148,9 @@ func rewriteValueMIPS64_OpMod8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, types.NewTuple(typ.Int64, typ.Int64))
v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5385,10 +5169,9 @@ func rewriteValueMIPS64_OpMod8u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, types.NewTuple(typ.UInt64, typ.UInt64))
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -5422,12 +5205,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpMIPS64MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] {t} dst src mem)
@@ -5445,12 +5225,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
break
}
v.reset(OpMIPS64MOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -5464,20 +5241,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 1
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v0.AuxInt = 1
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -5495,12 +5266,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
break
}
v.reset(OpMIPS64MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] {t} dst src mem)
@@ -5519,20 +5287,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [4] dst src mem)
@@ -5546,38 +5308,26 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 3
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v0.AuxInt = 3
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v2.AuxInt = 2
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v4.AuxInt = 1
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -5595,12 +5345,9 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
break
}
v.reset(OpMIPS64MOVVstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -5619,20 +5366,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVWstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -5651,38 +5392,26 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 6
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v0.AuxInt = 6
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v3.AuxInt = 2
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v4.AuxInt = 2
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
+ v4.AddArg2(src, mem)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v5.AddArg(dst)
v6 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
- v6.AddArg(src)
- v6.AddArg(mem)
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v6.AddArg2(src, mem)
+ v5.AddArg3(dst, v6, mem)
+ v3.AddArg3(dst, v4, v5)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [3] dst src mem)
@@ -5696,29 +5425,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
v2.AuxInt = 1
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, typ.Int8)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] {t} dst src mem)
@@ -5737,29 +5457,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
v2.AuxInt = 2
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, typ.Int16)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [12] {t} dst src mem)
@@ -5778,29 +5489,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVWstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVWload, typ.Int32)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [16] {t} dst src mem)
@@ -5819,20 +5521,14 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVVstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [24] {t} dst src mem)
@@ -5851,29 +5547,20 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64MOVVstore)
v.AuxInt = 16
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
v0.AuxInt = 16
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
v2.AuxInt = 8
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVload, typ.UInt64)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -5890,9 +5577,7 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64DUFFCOPY)
v.AuxInt = 16 * (128 - s/8)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -5909,13 +5594,10 @@ func rewriteValueMIPS64_OpMove(v *Value) bool {
}
v.reset(OpMIPS64LoweredMove)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, src.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(src)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -5932,8 +5614,7 @@ func rewriteValueMIPS64_OpMul16(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5950,8 +5631,7 @@ func rewriteValueMIPS64_OpMul32(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5968,8 +5648,7 @@ func rewriteValueMIPS64_OpMul64(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -5986,8 +5665,7 @@ func rewriteValueMIPS64_OpMul8(v *Value) bool {
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, types.NewTuple(typ.UInt64, typ.UInt64))
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -6006,14 +5684,12 @@ func rewriteValueMIPS64_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = 0
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6031,14 +5707,12 @@ func rewriteValueMIPS64_OpNeq32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = 0
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6053,8 +5727,7 @@ func rewriteValueMIPS64_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagFalse)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -6071,12 +5744,10 @@ func rewriteValueMIPS64_OpNeq64(v *Value) bool {
y := v_1
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6091,8 +5762,7 @@ func rewriteValueMIPS64_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpMIPS64FPFlagFalse)
v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -6111,14 +5781,12 @@ func rewriteValueMIPS64_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = 0
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6134,12 +5802,10 @@ func rewriteValueMIPS64_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpMIPS64SGTU)
v0 := b.NewValue0(v.Pos, OpMIPS64XOR, typ.UInt64)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6198,9 +5864,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPS64LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -6216,9 +5880,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPS64LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -6234,9 +5896,7 @@ func rewriteValueMIPS64_OpPanicBounds(v *Value) bool {
}
v.reset(OpMIPS64LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -6257,17 +5917,14 @@ func rewriteValueMIPS64_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6288,17 +5945,14 @@ func rewriteValueMIPS64_OpRotateLeft32(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr32)
v0 := b.NewValue0(v.Pos, OpLsh32x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = c & 31
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh32Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = -c & 31
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6319,17 +5973,14 @@ func rewriteValueMIPS64_OpRotateLeft64(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr64)
v0 := b.NewValue0(v.Pos, OpLsh64x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = c & 63
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh64Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = -c & 63
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6350,17 +6001,14 @@ func rewriteValueMIPS64_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -6381,20 +6029,17 @@ func rewriteValueMIPS64_OpRsh16Ux16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6414,20 +6059,17 @@ func rewriteValueMIPS64_OpRsh16Ux32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6447,16 +6089,13 @@ func rewriteValueMIPS64_OpRsh16Ux64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(x)
- v3.AddArg(v4)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(v4, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6476,20 +6115,17 @@ func rewriteValueMIPS64_OpRsh16Ux8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6507,22 +6143,19 @@ func rewriteValueMIPS64_OpRsh16x16(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6540,22 +6173,19 @@ func rewriteValueMIPS64_OpRsh16x32(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6573,18 +6203,15 @@ func rewriteValueMIPS64_OpRsh16x64(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v3.AddArg(y)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v3.AddArg(v4)
+ v3.AddArg2(y, v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(v2, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6602,22 +6229,19 @@ func rewriteValueMIPS64_OpRsh16x8(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6637,20 +6261,17 @@ func rewriteValueMIPS64_OpRsh32Ux16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6670,20 +6291,17 @@ func rewriteValueMIPS64_OpRsh32Ux32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6703,16 +6321,13 @@ func rewriteValueMIPS64_OpRsh32Ux64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(x)
- v3.AddArg(v4)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(v4, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6732,20 +6347,17 @@ func rewriteValueMIPS64_OpRsh32Ux8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6763,22 +6375,19 @@ func rewriteValueMIPS64_OpRsh32x16(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6796,22 +6405,19 @@ func rewriteValueMIPS64_OpRsh32x32(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6829,18 +6435,15 @@ func rewriteValueMIPS64_OpRsh32x64(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v3.AddArg(y)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v3.AddArg(v4)
+ v3.AddArg2(y, v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(v2, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6858,22 +6461,19 @@ func rewriteValueMIPS64_OpRsh32x8(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -6893,18 +6493,15 @@ func rewriteValueMIPS64_OpRsh64Ux16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6924,18 +6521,15 @@ func rewriteValueMIPS64_OpRsh64Ux32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -6955,14 +6549,11 @@ func rewriteValueMIPS64_OpRsh64Ux64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v3.AddArg(x)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(x, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -6982,18 +6573,15 @@ func rewriteValueMIPS64_OpRsh64Ux8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v4.AddArg(v5)
- v.AddArg(v4)
+ v4.AddArg2(x, v5)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -7009,22 +6597,19 @@ func rewriteValueMIPS64_OpRsh64x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SRAV)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v0.AddArg(v1)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(y)
- v0.AddArg(v5)
- v.AddArg(v0)
+ v0.AddArg2(v1, v5)
+ v.AddArg2(x, v0)
return true
}
}
@@ -7040,22 +6625,19 @@ func rewriteValueMIPS64_OpRsh64x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SRAV)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v0.AddArg(v1)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(y)
- v0.AddArg(v5)
- v.AddArg(v0)
+ v0.AddArg2(v1, v5)
+ v.AddArg2(x, v0)
return true
}
}
@@ -7071,18 +6653,15 @@ func rewriteValueMIPS64_OpRsh64x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SRAV)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v2.AddArg(y)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v3.AuxInt = 63
- v2.AddArg(v3)
+ v2.AddArg2(y, v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
+ v.AddArg2(x, v0)
return true
}
}
@@ -7098,22 +6677,19 @@ func rewriteValueMIPS64_OpRsh64x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpMIPS64SRAV)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v0.AddArg(v1)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(y)
- v0.AddArg(v5)
- v.AddArg(v0)
+ v0.AddArg2(v1, v5)
+ v.AddArg2(x, v0)
return true
}
}
@@ -7133,20 +6709,17 @@ func rewriteValueMIPS64_OpRsh8Ux16(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -7166,20 +6739,17 @@ func rewriteValueMIPS64_OpRsh8Ux32(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -7199,16 +6769,13 @@ func rewriteValueMIPS64_OpRsh8Ux64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
- v1.AddArg(y)
+ v1.AddArg2(v2, y)
v0.AddArg(v1)
- v.AddArg(v0)
v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(x)
- v3.AddArg(v4)
- v3.AddArg(y)
- v.AddArg(v3)
+ v3.AddArg2(v4, y)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -7228,20 +6795,17 @@ func rewriteValueMIPS64_OpRsh8Ux8(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 64
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v3.AddArg(y)
- v1.AddArg(v3)
+ v1.AddArg2(v2, v3)
v0.AddArg(v1)
- v.AddArg(v0)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v4.AddArg(v5)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v4.AddArg(v6)
- v.AddArg(v4)
+ v4.AddArg2(v5, v6)
+ v.AddArg2(v0, v4)
return true
}
}
@@ -7259,22 +6823,19 @@ func rewriteValueMIPS64_OpRsh8x16(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -7292,22 +6853,19 @@ func rewriteValueMIPS64_OpRsh8x32(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -7325,18 +6883,15 @@ func rewriteValueMIPS64_OpRsh8x64(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
- v3.AddArg(y)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 63
- v3.AddArg(v4)
+ v3.AddArg2(y, v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v1.AddArg(y)
- v.AddArg(v1)
+ v1.AddArg2(v2, y)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -7354,22 +6909,19 @@ func rewriteValueMIPS64_OpRsh8x8(v *Value) bool {
v.reset(OpMIPS64SRAV)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, typ.Bool)
v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v4.AddArg(y)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v5.AuxInt = 63
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v1.AddArg(v2)
v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v6.AddArg(y)
- v1.AddArg(v6)
- v.AddArg(v1)
+ v1.AddArg2(v2, v6)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -7683,9 +7235,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7700,9 +7250,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7717,9 +7265,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7734,9 +7280,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVVstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7751,9 +7295,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVFstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -7768,9 +7310,7 @@ func rewriteValueMIPS64_OpStore(v *Value) bool {
break
}
v.reset(OpMIPS64MOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -7802,11 +7342,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpMIPS64MOVBstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] {t} ptr mem)
@@ -7823,11 +7361,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
break
}
v.reset(OpMIPS64MOVHstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] ptr mem)
@@ -7840,18 +7376,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 1
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -7868,11 +7400,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
break
}
v.reset(OpMIPS64MOVWstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [4] {t} ptr mem)
@@ -7890,18 +7420,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [4] ptr mem)
@@ -7914,32 +7440,24 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 3
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v3.AuxInt = 1
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [8] {t} ptr mem)
@@ -7956,11 +7474,9 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
break
}
v.reset(OpMIPS64MOVVstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [8] {t} ptr mem)
@@ -7978,18 +7494,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVWstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [8] {t} ptr mem)
@@ -8007,32 +7519,24 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 6
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v3.AuxInt = 2
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v5.AuxInt = 0
- v5.AddArg(ptr)
v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v6.AuxInt = 0
- v5.AddArg(v6)
- v5.AddArg(mem)
- v3.AddArg(v5)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v5.AddArg3(ptr, v6, mem)
+ v3.AddArg3(ptr, v4, v5)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [3] ptr mem)
@@ -8045,25 +7549,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpMIPS64MOVBstore)
v.AuxInt = 2
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 1
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [6] {t} ptr mem)
@@ -8081,25 +7579,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVHstore)
v.AuxInt = 4
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 2
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [12] {t} ptr mem)
@@ -8117,25 +7609,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVWstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [16] {t} ptr mem)
@@ -8153,18 +7639,14 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVVstore)
v.AuxInt = 8
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v1.AddArg3(ptr, v2, mem)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [24] {t} ptr mem)
@@ -8182,25 +7664,19 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64MOVVstore)
v.AuxInt = 16
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(ptr)
v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v2.AuxInt = 0
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v3.AuxInt = 0
- v3.AddArg(ptr)
v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
v4.AuxInt = 0
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v3.AddArg3(ptr, v4, mem)
+ v1.AddArg3(ptr, v2, v3)
+ v.AddArg3(ptr, v0, v1)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -8216,8 +7692,7 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64DUFFZERO)
v.AuxInt = 8 * (128 - s/8)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -8233,12 +7708,10 @@ func rewriteValueMIPS64_OpZero(v *Value) bool {
}
v.reset(OpMIPS64LoweredZero)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, ptr.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(ptr)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
return false
diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go
index 53549dda74..c7b4f44920 100644
--- a/src/cmd/compile/internal/ssa/rewritePPC64.go
+++ b/src/cmd/compile/internal/ssa/rewritePPC64.go
@@ -810,10 +810,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap32(v *Value) bool {
mem := v_3
v.reset(OpPPC64LoweredAtomicCas32)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(old)
- v.AddArg(new_)
- v.AddArg(mem)
+ v.AddArg4(ptr, old, new_, mem)
return true
}
}
@@ -831,10 +828,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwap64(v *Value) bool {
mem := v_3
v.reset(OpPPC64LoweredAtomicCas64)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(old)
- v.AddArg(new_)
- v.AddArg(mem)
+ v.AddArg4(ptr, old, new_, mem)
return true
}
}
@@ -852,10 +846,7 @@ func rewriteValuePPC64_OpAtomicCompareAndSwapRel32(v *Value) bool {
mem := v_3
v.reset(OpPPC64LoweredAtomicCas32)
v.AuxInt = 0
- v.AddArg(ptr)
- v.AddArg(old)
- v.AddArg(new_)
- v.AddArg(mem)
+ v.AddArg4(ptr, old, new_, mem)
return true
}
}
@@ -869,8 +860,7 @@ func rewriteValuePPC64_OpAtomicLoad32(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredAtomicLoad32)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -884,8 +874,7 @@ func rewriteValuePPC64_OpAtomicLoad64(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredAtomicLoad64)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -899,8 +888,7 @@ func rewriteValuePPC64_OpAtomicLoad8(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredAtomicLoad8)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -914,8 +902,7 @@ func rewriteValuePPC64_OpAtomicLoadAcq32(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredAtomicLoad32)
v.AuxInt = 0
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -929,8 +916,7 @@ func rewriteValuePPC64_OpAtomicLoadPtr(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredAtomicLoadPtr)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -946,9 +932,7 @@ func rewriteValuePPC64_OpAtomicStore32(v *Value) bool {
mem := v_2
v.reset(OpPPC64LoweredAtomicStore32)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
}
@@ -964,9 +948,7 @@ func rewriteValuePPC64_OpAtomicStore64(v *Value) bool {
mem := v_2
v.reset(OpPPC64LoweredAtomicStore64)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
}
@@ -982,9 +964,7 @@ func rewriteValuePPC64_OpAtomicStore8(v *Value) bool {
mem := v_2
v.reset(OpPPC64LoweredAtomicStore8)
v.AuxInt = 1
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
}
@@ -1000,9 +980,7 @@ func rewriteValuePPC64_OpAtomicStoreRel32(v *Value) bool {
mem := v_2
v.reset(OpPPC64LoweredAtomicStore32)
v.AuxInt = 0
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
}
@@ -1020,11 +998,9 @@ func rewriteValuePPC64_OpAvg64u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64SRDconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpPPC64SUB, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -1039,10 +1015,9 @@ func rewriteValuePPC64_OpBitLen32(v *Value) bool {
v.reset(OpPPC64SUB)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 32
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64CNTLZW, typ.Int)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1057,10 +1032,9 @@ func rewriteValuePPC64_OpBitLen64(v *Value) bool {
v.reset(OpPPC64SUB)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 64
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64CNTLZD, typ.Int)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1071,8 +1045,7 @@ func rewriteValuePPC64_OpCom16(v *Value) bool {
for {
x := v_0
v.reset(OpPPC64NOR)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
}
@@ -1083,8 +1056,7 @@ func rewriteValuePPC64_OpCom32(v *Value) bool {
for {
x := v_0
v.reset(OpPPC64NOR)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
}
@@ -1095,8 +1067,7 @@ func rewriteValuePPC64_OpCom64(v *Value) bool {
for {
x := v_0
v.reset(OpPPC64NOR)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
}
@@ -1107,8 +1078,7 @@ func rewriteValuePPC64_OpCom8(v *Value) bool {
for {
x := v_0
v.reset(OpPPC64NOR)
- v.AddArg(x)
- v.AddArg(x)
+ v.AddArg2(x, x)
return true
}
}
@@ -1129,9 +1099,7 @@ func rewriteValuePPC64_OpCondSelect(v *Value) bool {
}
v.reset(OpPPC64ISEL)
v.AuxInt = 2
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(bool)
+ v.AddArg3(x, y, bool)
return true
}
// match: (CondSelect x y bool)
@@ -1146,12 +1114,10 @@ func rewriteValuePPC64_OpCondSelect(v *Value) bool {
}
v.reset(OpPPC64ISEL)
v.AuxInt = 2
- v.AddArg(x)
- v.AddArg(y)
v0 := b.NewValue0(v.Pos, OpPPC64CMPWconst, types.TypeFlags)
v0.AuxInt = 0
v0.AddArg(bool)
- v.AddArg(v0)
+ v.AddArg3(x, y, v0)
return true
}
return false
@@ -1174,8 +1140,7 @@ func rewriteValuePPC64_OpCopysign(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64FCPSGN)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -1193,8 +1158,7 @@ func rewriteValuePPC64_OpCtz16(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int16)
v2.AuxInt = -1
v2.AddArg(x)
- v1.AddArg(v2)
- v1.AddArg(x)
+ v1.AddArg2(v2, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -1218,8 +1182,7 @@ func rewriteValuePPC64_OpCtz32(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int)
v2.AuxInt = -1
v2.AddArg(x)
- v1.AddArg(v2)
- v1.AddArg(x)
+ v1.AddArg2(v2, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -1252,8 +1215,7 @@ func rewriteValuePPC64_OpCtz64(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.Int64)
v1.AuxInt = -1
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(x)
+ v0.AddArg2(v1, x)
v.AddArg(v0)
return true
}
@@ -1280,8 +1242,7 @@ func rewriteValuePPC64_OpCtz8(v *Value) bool {
v2 := b.NewValue0(v.Pos, OpPPC64ADDconst, typ.UInt8)
v2.AuxInt = -1
v2.AddArg(x)
- v1.AddArg(v2)
- v1.AddArg(x)
+ v1.AddArg2(v2, x)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -1424,10 +1385,9 @@ func rewriteValuePPC64_OpDiv16(v *Value) bool {
v.reset(OpPPC64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1444,10 +1404,9 @@ func rewriteValuePPC64_OpDiv16u(v *Value) bool {
v.reset(OpPPC64DIVWU)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1464,10 +1423,9 @@ func rewriteValuePPC64_OpDiv8(v *Value) bool {
v.reset(OpPPC64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1484,10 +1442,9 @@ func rewriteValuePPC64_OpDiv8u(v *Value) bool {
v.reset(OpPPC64DIVWU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1510,10 +1467,9 @@ func rewriteValuePPC64_OpEq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1528,10 +1484,9 @@ func rewriteValuePPC64_OpEq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1547,8 +1502,7 @@ func rewriteValuePPC64_OpEq32(v *Value) bool {
y := v_1
v.reset(OpPPC64Equal)
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1564,8 +1518,7 @@ func rewriteValuePPC64_OpEq32F(v *Value) bool {
y := v_1
v.reset(OpPPC64Equal)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1581,8 +1534,7 @@ func rewriteValuePPC64_OpEq64(v *Value) bool {
y := v_1
v.reset(OpPPC64Equal)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1598,8 +1550,7 @@ func rewriteValuePPC64_OpEq64F(v *Value) bool {
y := v_1
v.reset(OpPPC64Equal)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1623,10 +1574,9 @@ func rewriteValuePPC64_OpEq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1641,10 +1591,9 @@ func rewriteValuePPC64_OpEq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1662,8 +1611,7 @@ func rewriteValuePPC64_OpEqB(v *Value) bool {
v.reset(OpPPC64ANDconst)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpPPC64EQV, typ.Int64)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1679,8 +1627,7 @@ func rewriteValuePPC64_OpEqPtr(v *Value) bool {
y := v_1
v.reset(OpPPC64Equal)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1696,8 +1643,7 @@ func rewriteValuePPC64_OpGeq32F(v *Value) bool {
y := v_1
v.reset(OpPPC64FGreaterEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1713,8 +1659,7 @@ func rewriteValuePPC64_OpGeq64F(v *Value) bool {
y := v_1
v.reset(OpPPC64FGreaterEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1730,8 +1675,7 @@ func rewriteValuePPC64_OpGreater32F(v *Value) bool {
y := v_1
v.reset(OpPPC64FGreaterThan)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1747,8 +1691,7 @@ func rewriteValuePPC64_OpGreater64F(v *Value) bool {
y := v_1
v.reset(OpPPC64FGreaterThan)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1764,8 +1707,7 @@ func rewriteValuePPC64_OpIsInBounds(v *Value) bool {
len := v_1
v.reset(OpPPC64LessThan)
v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -1796,8 +1738,7 @@ func rewriteValuePPC64_OpIsSliceInBounds(v *Value) bool {
len := v_1
v.reset(OpPPC64LessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
- v0.AddArg(idx)
- v0.AddArg(len)
+ v0.AddArg2(idx, len)
v.AddArg(v0)
return true
}
@@ -1816,10 +1757,9 @@ func rewriteValuePPC64_OpLeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1838,10 +1778,9 @@ func rewriteValuePPC64_OpLeq16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1857,8 +1796,7 @@ func rewriteValuePPC64_OpLeq32(v *Value) bool {
y := v_1
v.reset(OpPPC64LessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1874,8 +1812,7 @@ func rewriteValuePPC64_OpLeq32F(v *Value) bool {
y := v_1
v.reset(OpPPC64FLessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1891,8 +1828,7 @@ func rewriteValuePPC64_OpLeq32U(v *Value) bool {
y := v_1
v.reset(OpPPC64LessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1908,8 +1844,7 @@ func rewriteValuePPC64_OpLeq64(v *Value) bool {
y := v_1
v.reset(OpPPC64LessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1925,8 +1860,7 @@ func rewriteValuePPC64_OpLeq64F(v *Value) bool {
y := v_1
v.reset(OpPPC64FLessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1942,8 +1876,7 @@ func rewriteValuePPC64_OpLeq64U(v *Value) bool {
y := v_1
v.reset(OpPPC64LessEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -1962,10 +1895,9 @@ func rewriteValuePPC64_OpLeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1984,10 +1916,9 @@ func rewriteValuePPC64_OpLeq8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -2006,10 +1937,9 @@ func rewriteValuePPC64_OpLess16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -2028,10 +1958,9 @@ func rewriteValuePPC64_OpLess16U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -2047,8 +1976,7 @@ func rewriteValuePPC64_OpLess32(v *Value) bool {
y := v_1
v.reset(OpPPC64LessThan)
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2064,8 +1992,7 @@ func rewriteValuePPC64_OpLess32F(v *Value) bool {
y := v_1
v.reset(OpPPC64FLessThan)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2081,8 +2008,7 @@ func rewriteValuePPC64_OpLess32U(v *Value) bool {
y := v_1
v.reset(OpPPC64LessThan)
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2098,8 +2024,7 @@ func rewriteValuePPC64_OpLess64(v *Value) bool {
y := v_1
v.reset(OpPPC64LessThan)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2115,8 +2040,7 @@ func rewriteValuePPC64_OpLess64F(v *Value) bool {
y := v_1
v.reset(OpPPC64FLessThan)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2132,8 +2056,7 @@ func rewriteValuePPC64_OpLess64U(v *Value) bool {
y := v_1
v.reset(OpPPC64LessThan)
v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2152,10 +2075,9 @@ func rewriteValuePPC64_OpLess8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -2174,10 +2096,9 @@ func rewriteValuePPC64_OpLess8U(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -2198,8 +2119,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2213,8 +2133,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2228,8 +2147,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVWZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2243,8 +2161,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2258,8 +2175,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVHZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2273,8 +2189,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVBZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2289,8 +2204,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
}
v.reset(OpPPC64MOVBreg)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
v.AddArg(v0)
return true
}
@@ -2305,8 +2219,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64MOVBZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2320,8 +2233,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64FMOVSload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2335,8 +2247,7 @@ func rewriteValuePPC64_OpLoad(v *Value) bool {
break
}
v.reset(OpPPC64FMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2369,8 +2280,7 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x16 x y)
@@ -2379,9 +2289,7 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -16
@@ -2389,8 +2297,8 @@ func rewriteValuePPC64_OpLsh16x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2443,8 +2351,7 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x32 x y)
@@ -2453,9 +2360,7 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -16
@@ -2463,8 +2368,8 @@ func rewriteValuePPC64_OpLsh16x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2532,8 +2437,7 @@ func rewriteValuePPC64_OpLsh16x64(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x64 x y)
@@ -2542,16 +2446,14 @@ func rewriteValuePPC64_OpLsh16x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -16
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2570,8 +2472,7 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x8 x y)
@@ -2580,9 +2481,7 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -16
@@ -2590,8 +2489,8 @@ func rewriteValuePPC64_OpLsh16x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2610,8 +2509,7 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x16 x y)
@@ -2620,9 +2518,7 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -2630,8 +2526,8 @@ func rewriteValuePPC64_OpLsh32x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2684,8 +2580,7 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x32 x y)
@@ -2694,9 +2589,7 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -2704,8 +2597,8 @@ func rewriteValuePPC64_OpLsh32x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2773,8 +2666,7 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x64 x (AND y (MOVDconst [31])))
@@ -2793,11 +2685,10 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool {
continue
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -2811,11 +2702,10 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Lsh32x64 x y)
@@ -2824,16 +2714,14 @@ func rewriteValuePPC64_OpLsh32x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2852,8 +2740,7 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x8 x y)
@@ -2862,9 +2749,7 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -2872,8 +2757,8 @@ func rewriteValuePPC64_OpLsh32x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2892,8 +2777,7 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool {
break
}
v.reset(OpPPC64SLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x16 x y)
@@ -2902,9 +2786,7 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -2912,8 +2794,8 @@ func rewriteValuePPC64_OpLsh64x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -2966,8 +2848,7 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool {
break
}
v.reset(OpPPC64SLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x32 x y)
@@ -2976,9 +2857,7 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -2986,8 +2865,8 @@ func rewriteValuePPC64_OpLsh64x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3055,8 +2934,7 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool {
break
}
v.reset(OpPPC64SLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x64 x (AND y (MOVDconst [63])))
@@ -3075,11 +2953,10 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool {
continue
}
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -3093,11 +2970,10 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Lsh64x64 x y)
@@ -3106,16 +2982,14 @@ func rewriteValuePPC64_OpLsh64x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3134,8 +3008,7 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool {
break
}
v.reset(OpPPC64SLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x8 x y)
@@ -3144,9 +3017,7 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -3154,8 +3025,8 @@ func rewriteValuePPC64_OpLsh64x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3174,8 +3045,7 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x16 x y)
@@ -3184,9 +3054,7 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -8
@@ -3194,8 +3062,8 @@ func rewriteValuePPC64_OpLsh8x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3248,8 +3116,7 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x32 x y)
@@ -3258,9 +3125,7 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -8
@@ -3268,8 +3133,8 @@ func rewriteValuePPC64_OpLsh8x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3337,8 +3202,7 @@ func rewriteValuePPC64_OpLsh8x64(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x64 x y)
@@ -3347,16 +3211,14 @@ func rewriteValuePPC64_OpLsh8x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -8
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3375,8 +3237,7 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool {
break
}
v.reset(OpPPC64SLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x8 x y)
@@ -3385,9 +3246,7 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SLW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -8
@@ -3395,8 +3254,8 @@ func rewriteValuePPC64_OpLsh8x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3413,10 +3272,9 @@ func rewriteValuePPC64_OpMod16(v *Value) bool {
v.reset(OpMod32)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3433,10 +3291,9 @@ func rewriteValuePPC64_OpMod16u(v *Value) bool {
v.reset(OpMod32u)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3451,14 +3308,11 @@ func rewriteValuePPC64_OpMod32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SUB)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64DIVW, typ.Int32)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(x, y)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3473,14 +3327,11 @@ func rewriteValuePPC64_OpMod32u(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SUB)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64MULLW, typ.Int32)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64DIVWU, typ.Int32)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(x, y)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3495,14 +3346,11 @@ func rewriteValuePPC64_OpMod64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SUB)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64DIVD, typ.Int64)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(x, y)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3517,14 +3365,11 @@ func rewriteValuePPC64_OpMod64u(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SUB)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64MULLD, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64DIVDU, typ.Int64)
- v1.AddArg(x)
- v1.AddArg(y)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(x, y)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3541,10 +3386,9 @@ func rewriteValuePPC64_OpMod8(v *Value) bool {
v.reset(OpMod32)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3561,10 +3405,9 @@ func rewriteValuePPC64_OpMod8u(v *Value) bool {
v.reset(OpMod32u)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3596,12 +3439,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpPPC64MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -3614,12 +3454,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpPPC64MOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -3632,12 +3469,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpPPC64MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] {t} dst src mem)
@@ -3655,12 +3489,9 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
break
}
v.reset(OpPPC64MOVDstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDload, typ.Int64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] dst src mem)
@@ -3674,20 +3505,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVWstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [3] dst src mem)
@@ -3701,20 +3526,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpPPC64MOVHload, typ.Int16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [5] dst src mem)
@@ -3728,20 +3547,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVBstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] dst src mem)
@@ -3755,20 +3568,14 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVHstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [7] dst src mem)
@@ -3782,29 +3589,20 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVBstore)
v.AuxInt = 6
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, typ.UInt8)
v0.AuxInt = 6
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpPPC64MOVHZload, typ.UInt16)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpPPC64MOVWstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpPPC64MOVWZload, typ.UInt32)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -3820,9 +3618,7 @@ func rewriteValuePPC64_OpMove(v *Value) bool {
}
v.reset(OpPPC64LoweredMove)
v.AuxInt = s
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
return false
@@ -3846,10 +3642,9 @@ func rewriteValuePPC64_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -3864,10 +3659,9 @@ func rewriteValuePPC64_OpNeq16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -3883,8 +3677,7 @@ func rewriteValuePPC64_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpPPC64NotEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3900,8 +3693,7 @@ func rewriteValuePPC64_OpNeq32F(v *Value) bool {
y := v_1
v.reset(OpPPC64NotEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3917,8 +3709,7 @@ func rewriteValuePPC64_OpNeq64(v *Value) bool {
y := v_1
v.reset(OpPPC64NotEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3934,8 +3725,7 @@ func rewriteValuePPC64_OpNeq64F(v *Value) bool {
y := v_1
v.reset(OpPPC64NotEqual)
v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -3959,10 +3749,9 @@ func rewriteValuePPC64_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -3977,10 +3766,9 @@ func rewriteValuePPC64_OpNeq8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -3996,8 +3784,7 @@ func rewriteValuePPC64_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpPPC64NotEqual)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -4026,8 +3813,7 @@ func rewriteValuePPC64_OpOffPtr(v *Value) bool {
v.reset(OpPPC64ADD)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = off
- v.AddArg(v0)
- v.AddArg(ptr)
+ v.AddArg2(v0, ptr)
return true
}
}
@@ -4119,8 +3905,7 @@ func rewriteValuePPC64_OpPPC64ADD(v *Value) bool {
continue
}
v.reset(OpPPC64ROTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4160,8 +3945,7 @@ func rewriteValuePPC64_OpPPC64ADD(v *Value) bool {
continue
}
v.reset(OpPPC64ROTLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4254,8 +4038,7 @@ func rewriteValuePPC64_OpPPC64AND(v *Value) bool {
continue
}
v.reset(OpPPC64ANDN)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -4585,8 +4368,7 @@ func rewriteValuePPC64_OpPPC64CMP(v *Value) bool {
}
v.reset(OpPPC64InvertFlags)
v0 := b.NewValue0(v.Pos, OpPPC64CMP, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -4643,8 +4425,7 @@ func rewriteValuePPC64_OpPPC64CMPU(v *Value) bool {
}
v.reset(OpPPC64InvertFlags)
v0 := b.NewValue0(v.Pos, OpPPC64CMPU, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -4712,8 +4493,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64CMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPW (MOVWreg x) y)
@@ -4725,8 +4505,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpPPC64CMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPW x (MOVDconst [c]))
@@ -4776,8 +4555,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value) bool {
}
v.reset(OpPPC64InvertFlags)
v0 := b.NewValue0(v.Pos, OpPPC64CMPW, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -4796,8 +4574,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64CMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWU (MOVWZreg x) y)
@@ -4809,8 +4586,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpPPC64CMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWU x (MOVDconst [c]))
@@ -4860,8 +4636,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value) bool {
}
v.reset(OpPPC64InvertFlags)
v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -5067,8 +4842,7 @@ func rewriteValuePPC64_OpPPC64Equal(v *Value) bool {
v.AuxInt = 2
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -5101,9 +4875,7 @@ func rewriteValuePPC64_OpPPC64FADD(v *Value) bool {
x := v_0.Args[0]
z := v_1
v.reset(OpPPC64FMADD)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -5124,9 +4896,7 @@ func rewriteValuePPC64_OpPPC64FADDS(v *Value) bool {
x := v_0.Args[0]
z := v_1
v.reset(OpPPC64FMADDS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -5175,15 +4945,12 @@ func rewriteValuePPC64_OpPPC64FGreaterEqual(v *Value) bool {
v.AuxInt = 2
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32)
v1.AuxInt = 1
v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v2.AuxInt = 1
- v1.AddArg(v2)
- v1.AddArg(cmp)
- v.AddArg(v1)
- v.AddArg(cmp)
+ v1.AddArg2(v2, cmp)
+ v.AddArg3(v0, v1, cmp)
return true
}
}
@@ -5199,8 +4966,7 @@ func rewriteValuePPC64_OpPPC64FGreaterThan(v *Value) bool {
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -5216,15 +4982,12 @@ func rewriteValuePPC64_OpPPC64FLessEqual(v *Value) bool {
v.AuxInt = 2
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32)
v1.AuxInt = 0
v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v2.AuxInt = 1
- v1.AddArg(v2)
- v1.AddArg(cmp)
- v.AddArg(v1)
- v.AddArg(cmp)
+ v1.AddArg2(v2, cmp)
+ v.AddArg3(v0, v1, cmp)
return true
}
}
@@ -5240,8 +5003,7 @@ func rewriteValuePPC64_OpPPC64FLessThan(v *Value) bool {
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -5286,8 +5048,7 @@ func rewriteValuePPC64_OpPPC64FMOVDload(v *Value) bool {
v.reset(OpPPC64FMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVDload [off1] {sym} (ADDconst [off2] ptr) mem)
@@ -5308,8 +5069,7 @@ func rewriteValuePPC64_OpPPC64FMOVDload(v *Value) bool {
v.reset(OpPPC64FMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -5332,9 +5092,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool {
v.reset(OpPPC64MOVDstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (FMOVDstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -5356,9 +5114,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool {
v.reset(OpPPC64FMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVDstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -5382,9 +5138,7 @@ func rewriteValuePPC64_OpPPC64FMOVDstore(v *Value) bool {
v.reset(OpPPC64FMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -5412,8 +5166,7 @@ func rewriteValuePPC64_OpPPC64FMOVSload(v *Value) bool {
v.reset(OpPPC64FMOVSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVSload [off1] {sym} (ADDconst [off2] ptr) mem)
@@ -5434,8 +5187,7 @@ func rewriteValuePPC64_OpPPC64FMOVSload(v *Value) bool {
v.reset(OpPPC64FMOVSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -5463,9 +5215,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore(v *Value) bool {
v.reset(OpPPC64FMOVSstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVSstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -5489,9 +5239,7 @@ func rewriteValuePPC64_OpPPC64FMOVSstore(v *Value) bool {
v.reset(OpPPC64FMOVSstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -5550,9 +5298,7 @@ func rewriteValuePPC64_OpPPC64FSUB(v *Value) bool {
x := v_0.Args[0]
z := v_1
v.reset(OpPPC64FMSUB)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
return false
@@ -5570,9 +5316,7 @@ func rewriteValuePPC64_OpPPC64FSUBS(v *Value) bool {
x := v_0.Args[0]
z := v_1
v.reset(OpPPC64FMSUBS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
return false
@@ -5645,8 +5389,7 @@ func rewriteValuePPC64_OpPPC64GreaterEqual(v *Value) bool {
v.AuxInt = 4
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -5703,8 +5446,7 @@ func rewriteValuePPC64_OpPPC64GreaterThan(v *Value) bool {
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -5998,9 +5740,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool {
}
v.reset(OpPPC64ISEL)
v.AuxInt = n + 1
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(bool)
+ v.AddArg3(x, y, bool)
return true
}
// match: (ISEL [n] x y (InvertFlags bool))
@@ -6019,9 +5759,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool {
}
v.reset(OpPPC64ISEL)
v.AuxInt = n - 1
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(bool)
+ v.AddArg3(x, y, bool)
return true
}
// match: (ISEL [n] x y (InvertFlags bool))
@@ -6040,9 +5778,7 @@ func rewriteValuePPC64_OpPPC64ISEL(v *Value) bool {
}
v.reset(OpPPC64ISEL)
v.AuxInt = n
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(bool)
+ v.AddArg3(x, y, bool)
return true
}
return false
@@ -6248,8 +5984,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool {
v.AuxInt = n + 1
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(bool)
+ v.AddArg2(v0, bool)
return true
}
// match: (ISELB [n] (MOVDconst [1]) (InvertFlags bool))
@@ -6268,8 +6003,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool {
v.AuxInt = n - 1
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(bool)
+ v.AddArg2(v0, bool)
return true
}
// match: (ISELB [n] (MOVDconst [1]) (InvertFlags bool))
@@ -6288,8 +6022,7 @@ func rewriteValuePPC64_OpPPC64ISELB(v *Value) bool {
v.AuxInt = n
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(bool)
+ v.AddArg2(v0, bool)
return true
}
return false
@@ -6347,8 +6080,7 @@ func rewriteValuePPC64_OpPPC64LessEqual(v *Value) bool {
v.AuxInt = 5
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -6405,8 +6137,7 @@ func rewriteValuePPC64_OpPPC64LessThan(v *Value) bool {
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -6446,8 +6177,7 @@ func rewriteValuePPC64_OpPPC64MFVSRD(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -6475,8 +6205,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool {
v.reset(OpPPC64MOVBZload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBZload [off1] {sym} (ADDconst [off2] x) mem)
@@ -6497,8 +6226,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool {
v.reset(OpPPC64MOVBZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVBZload [0] {sym} p:(ADD ptr idx) mem)
@@ -6520,9 +6248,7 @@ func rewriteValuePPC64_OpPPC64MOVBZload(v *Value) bool {
break
}
v.reset(OpPPC64MOVBZloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -6546,8 +6272,7 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVBZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBZloadidx (MOVDconst [c]) ptr mem)
@@ -6565,8 +6290,7 @@ func rewriteValuePPC64_OpPPC64MOVBZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVBZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -6945,9 +6669,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(x, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -6971,9 +6693,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -6989,8 +6709,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off] {sym} p:(ADD ptr idx) val mem)
@@ -7011,10 +6730,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
break
}
v.reset(OpPPC64MOVBstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBreg x) mem)
@@ -7031,9 +6747,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBZreg x) mem)
@@ -7050,9 +6764,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHreg x) mem)
@@ -7069,9 +6781,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVHZreg x) mem)
@@ -7088,9 +6798,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWreg x) mem)
@@ -7107,9 +6815,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVWZreg x) mem)
@@ -7126,9 +6832,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (SRWconst (MOVHreg x) [c]) mem)
@@ -7154,12 +6858,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (SRWconst (MOVHZreg x) [c]) mem)
@@ -7185,12 +6887,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (SRWconst (MOVWreg x) [c]) mem)
@@ -7216,12 +6916,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (SRWconst (MOVWZreg x) [c]) mem)
@@ -7247,12 +6945,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (MOVBstore [i1] {s} p (SRWconst w [24]) x0:(MOVBstore [i0] {s} p (SRWconst w [16]) mem))
@@ -7285,12 +6981,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x0.Pos, OpPPC64SRWconst, typ.UInt16)
v0.AuxInt = 16
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [i1] {s} p (SRDconst w [24]) x0:(MOVBstore [i0] {s} p (SRDconst w [16]) mem))
@@ -7323,12 +7017,10 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x0.Pos, OpPPC64SRWconst, typ.UInt16)
v0.AuxInt = 16
v0.AddArg(w)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
// match: (MOVBstore [i1] {s} p (SRWconst w [8]) x0:(MOVBstore [i0] {s} p w mem))
@@ -7357,9 +7049,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i1] {s} p (SRDconst w [8]) x0:(MOVBstore [i0] {s} p w mem))
@@ -7388,9 +7078,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i3] {s} p w x0:(MOVBstore [i2] {s} p (SRWconst w [8]) x1:(MOVBstore [i1] {s} p (SRWconst w [16]) x2:(MOVBstore [i0] {s} p (SRWconst w [24]) mem))))
@@ -7454,9 +7142,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v0.AuxInt = i0
v0.Aux = s
v0.AddArg(p)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(v0, w, mem)
return true
}
// match: (MOVBstore [i1] {s} p w x0:(MOVBstore [i0] {s} p (SRWconst w [8]) mem))
@@ -7488,9 +7174,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v0.AuxInt = i0
v0.Aux = s
v0.AddArg(p)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(v0, w, mem)
return true
}
// match: (MOVBstore [i7] {s} p (SRDconst w [56]) x0:(MOVBstore [i6] {s} p (SRDconst w [48]) x1:(MOVBstore [i5] {s} p (SRDconst w [40]) x2:(MOVBstore [i4] {s} p (SRDconst w [32]) x3:(MOVWstore [i0] {s} p w mem)))))
@@ -7567,9 +7251,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v.reset(OpPPC64MOVDstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i7] {s} p w x0:(MOVBstore [i6] {s} p (SRDconst w [8]) x1:(MOVBstore [i5] {s} p (SRDconst w [16]) x2:(MOVBstore [i4] {s} p (SRDconst w [24]) x3:(MOVBstore [i3] {s} p (SRDconst w [32]) x4:(MOVBstore [i2] {s} p (SRDconst w [40]) x5:(MOVBstore [i1] {s} p (SRDconst w [48]) x6:(MOVBstore [i0] {s} p (SRDconst w [56]) mem))))))))
@@ -7697,9 +7379,7 @@ func rewriteValuePPC64_OpPPC64MOVBstore(v *Value) bool {
v0.AuxInt = i0
v0.Aux = s
v0.AddArg(p)
- v.AddArg(v0)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(v0, w, mem)
return true
}
return false
@@ -7727,9 +7407,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVBstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstoreidx (MOVDconst [c]) ptr val mem)
@@ -7748,9 +7426,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVBstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVBreg x) mem)
@@ -7768,10 +7444,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVBZreg x) mem)
@@ -7789,10 +7462,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVHreg x) mem)
@@ -7810,10 +7480,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVHZreg x) mem)
@@ -7831,10 +7498,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVWreg x) mem)
@@ -7852,10 +7516,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (MOVWZreg x) mem)
@@ -7873,10 +7534,7 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVHreg x) [c]) mem)
@@ -7903,13 +7561,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVHZreg x) [c]) mem)
@@ -7936,13 +7591,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVWreg x) [c]) mem)
@@ -7969,13 +7621,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
// match: (MOVBstoreidx [off] {sym} ptr idx (SRWconst (MOVWZreg x) [c]) mem)
@@ -8002,13 +7651,10 @@ func rewriteValuePPC64_OpPPC64MOVBstoreidx(v *Value) bool {
v.reset(OpPPC64MOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
v0 := b.NewValue0(v.Pos, OpPPC64SRWconst, typ.UInt32)
v0.AuxInt = c
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, v0, mem)
return true
}
return false
@@ -8034,8 +7680,7 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero(v *Value) bool {
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVBstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem)
@@ -8058,8 +7703,7 @@ func rewriteValuePPC64_OpPPC64MOVBstorezero(v *Value) bool {
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
return false
@@ -8105,8 +7749,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool {
v.reset(OpPPC64MOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym} (ADDconst [off2] x) mem)
@@ -8127,8 +7770,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool {
v.reset(OpPPC64MOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVDload [0] {sym} p:(ADD ptr idx) mem)
@@ -8150,9 +7792,7 @@ func rewriteValuePPC64_OpPPC64MOVDload(v *Value) bool {
break
}
v.reset(OpPPC64MOVDloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -8176,8 +7816,7 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDloadidx (MOVDconst [c]) ptr mem)
@@ -8195,8 +7834,7 @@ func rewriteValuePPC64_OpPPC64MOVDloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVDload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -8219,9 +7857,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool {
v.reset(OpPPC64FMOVDstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVDstore [off1] {sym} (ADDconst [off2] x) val mem)
@@ -8243,9 +7879,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool {
v.reset(OpPPC64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(x, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -8269,9 +7903,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool {
v.reset(OpPPC64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -8287,8 +7919,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool {
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstore [off] {sym} p:(ADD ptr idx) val mem)
@@ -8309,10 +7940,7 @@ func rewriteValuePPC64_OpPPC64MOVDstore(v *Value) bool {
break
}
v.reset(OpPPC64MOVDstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -8338,9 +7966,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVDstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstoreidx (MOVDconst [c]) ptr val mem)
@@ -8359,9 +7985,7 @@ func rewriteValuePPC64_OpPPC64MOVDstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVDstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -8387,8 +8011,7 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero(v *Value) bool {
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVDstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem)
@@ -8411,8 +8034,7 @@ func rewriteValuePPC64_OpPPC64MOVDstorezero(v *Value) bool {
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
return false
@@ -8433,9 +8055,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVHBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHBRstore {sym} ptr (MOVHZreg x) mem)
@@ -8450,9 +8070,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVHBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHBRstore {sym} ptr (MOVWreg x) mem)
@@ -8467,9 +8085,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVHBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHBRstore {sym} ptr (MOVWZreg x) mem)
@@ -8484,9 +8100,7 @@ func rewriteValuePPC64_OpPPC64MOVHBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVHBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -8514,8 +8128,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool {
v.reset(OpPPC64MOVHZload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHZload [off1] {sym} (ADDconst [off2] x) mem)
@@ -8536,8 +8149,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool {
v.reset(OpPPC64MOVHZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVHZload [0] {sym} p:(ADD ptr idx) mem)
@@ -8559,9 +8171,7 @@ func rewriteValuePPC64_OpPPC64MOVHZload(v *Value) bool {
break
}
v.reset(OpPPC64MOVHZloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -8585,8 +8195,7 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVHZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHZloadidx (MOVDconst [c]) ptr mem)
@@ -8604,8 +8213,7 @@ func rewriteValuePPC64_OpPPC64MOVHZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVHZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -8874,8 +8482,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool {
v.reset(OpPPC64MOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym} (ADDconst [off2] x) mem)
@@ -8896,8 +8503,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool {
v.reset(OpPPC64MOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVHload [0] {sym} p:(ADD ptr idx) mem)
@@ -8919,9 +8525,7 @@ func rewriteValuePPC64_OpPPC64MOVHload(v *Value) bool {
break
}
v.reset(OpPPC64MOVHloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -8945,8 +8549,7 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHloadidx (MOVDconst [c]) ptr mem)
@@ -8964,8 +8567,7 @@ func rewriteValuePPC64_OpPPC64MOVHloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVHload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -9231,9 +8833,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(x, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -9257,9 +8857,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -9275,8 +8873,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstore [off] {sym} p:(ADD ptr idx) val mem)
@@ -9297,10 +8894,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
break
}
v.reset(OpPPC64MOVHstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHreg x) mem)
@@ -9317,9 +8911,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHZreg x) mem)
@@ -9336,9 +8928,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWreg x) mem)
@@ -9355,9 +8945,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVWZreg x) mem)
@@ -9374,9 +8962,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [i1] {s} p (SRWconst w [16]) x0:(MOVHstore [i0] {s} p w mem))
@@ -9405,9 +8991,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVHstore [i1] {s} p (SRDconst w [16]) x0:(MOVHstore [i0] {s} p w mem))
@@ -9436,9 +9020,7 @@ func rewriteValuePPC64_OpPPC64MOVHstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = i0
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
return false
@@ -9464,9 +9046,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVHstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstoreidx (MOVDconst [c]) ptr val mem)
@@ -9485,9 +9065,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVHstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstoreidx [off] {sym} ptr idx (MOVHreg x) mem)
@@ -9505,10 +9083,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
v.reset(OpPPC64MOVHstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx [off] {sym} ptr idx (MOVHZreg x) mem)
@@ -9526,10 +9101,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
v.reset(OpPPC64MOVHstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx [off] {sym} ptr idx (MOVWreg x) mem)
@@ -9547,10 +9119,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
v.reset(OpPPC64MOVHstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVHstoreidx [off] {sym} ptr idx (MOVWZreg x) mem)
@@ -9568,10 +9137,7 @@ func rewriteValuePPC64_OpPPC64MOVHstoreidx(v *Value) bool {
v.reset(OpPPC64MOVHstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
return false
@@ -9597,8 +9163,7 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero(v *Value) bool {
v.reset(OpPPC64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVHstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem)
@@ -9621,8 +9186,7 @@ func rewriteValuePPC64_OpPPC64MOVHstorezero(v *Value) bool {
v.reset(OpPPC64MOVHstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
return false
@@ -9643,9 +9207,7 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVWBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWBRstore {sym} ptr (MOVWZreg x) mem)
@@ -9660,9 +9222,7 @@ func rewriteValuePPC64_OpPPC64MOVWBRstore(v *Value) bool {
mem := v_2
v.reset(OpPPC64MOVWBRstore)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -9690,8 +9250,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool {
v.reset(OpPPC64MOVWZload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWZload [off1] {sym} (ADDconst [off2] x) mem)
@@ -9712,8 +9271,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool {
v.reset(OpPPC64MOVWZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVWZload [0] {sym} p:(ADD ptr idx) mem)
@@ -9735,9 +9293,7 @@ func rewriteValuePPC64_OpPPC64MOVWZload(v *Value) bool {
break
}
v.reset(OpPPC64MOVWZloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -9761,8 +9317,7 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVWZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWZloadidx (MOVDconst [c]) ptr mem)
@@ -9780,8 +9335,7 @@ func rewriteValuePPC64_OpPPC64MOVWZloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVWZload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -10129,8 +9683,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool {
v.reset(OpPPC64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWload [off1] {sym} (ADDconst [off2] x) mem)
@@ -10151,8 +9704,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool {
v.reset(OpPPC64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVWload [0] {sym} p:(ADD ptr idx) mem)
@@ -10174,9 +9726,7 @@ func rewriteValuePPC64_OpPPC64MOVWload(v *Value) bool {
break
}
v.reset(OpPPC64MOVWloadidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -10200,8 +9750,7 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWloadidx (MOVDconst [c]) ptr mem)
@@ -10219,8 +9768,7 @@ func rewriteValuePPC64_OpPPC64MOVWloadidx(v *Value) bool {
}
v.reset(OpPPC64MOVWload)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -10533,9 +10081,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(x, val, mem)
return true
}
// match: (MOVWstore [off1] {sym1} p:(MOVDaddr [off2] {sym2} ptr) val mem)
@@ -10559,9 +10105,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVDconst [0]) mem)
@@ -10577,8 +10121,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
v.reset(OpPPC64MOVWstorezero)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWstore [off] {sym} p:(ADD ptr idx) val mem)
@@ -10599,10 +10142,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
break
}
v.reset(OpPPC64MOVWstoreidx)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWreg x) mem)
@@ -10619,9 +10159,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVWstore [off] {sym} ptr (MOVWZreg x) mem)
@@ -10638,9 +10176,7 @@ func rewriteValuePPC64_OpPPC64MOVWstore(v *Value) bool {
v.reset(OpPPC64MOVWstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
return false
@@ -10666,9 +10202,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVWstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx (MOVDconst [c]) ptr val mem)
@@ -10687,9 +10221,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool {
}
v.reset(OpPPC64MOVWstore)
v.AuxInt = c
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVWstoreidx [off] {sym} ptr idx (MOVWreg x) mem)
@@ -10707,10 +10239,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool {
v.reset(OpPPC64MOVWstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
// match: (MOVWstoreidx [off] {sym} ptr idx (MOVWZreg x) mem)
@@ -10728,10 +10257,7 @@ func rewriteValuePPC64_OpPPC64MOVWstoreidx(v *Value) bool {
v.reset(OpPPC64MOVWstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, x, mem)
return true
}
return false
@@ -10757,8 +10283,7 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero(v *Value) bool {
v.reset(OpPPC64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
// match: (MOVWstorezero [off1] {sym1} p:(MOVDaddr [off2] {sym2} x) mem)
@@ -10781,8 +10306,7 @@ func rewriteValuePPC64_OpPPC64MOVWstorezero(v *Value) bool {
v.reset(OpPPC64MOVWstorezero)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg2(x, mem)
return true
}
return false
@@ -10823,8 +10347,7 @@ func rewriteValuePPC64_OpPPC64MTVSRD(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = off
v0.Aux = sym
- v0.AddArg(ptr)
- v0.AddArg(mem)
+ v0.AddArg2(ptr, mem)
return true
}
return false
@@ -10906,8 +10429,7 @@ func rewriteValuePPC64_OpPPC64NotEqual(v *Value) bool {
v.AuxInt = 6
v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v0.AuxInt = 1
- v.AddArg(v0)
- v.AddArg(cmp)
+ v.AddArg2(v0, cmp)
return true
}
}
@@ -11000,8 +10522,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
continue
}
v.reset(OpPPC64ROTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -11041,8 +10562,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
continue
}
v.reset(OpPPC64ROTLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -11121,8 +10641,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -11163,8 +10682,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
break
@@ -11207,8 +10725,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
break
@@ -11251,8 +10768,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
break
@@ -11303,8 +10819,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v2.AuxInt = i0
v2.Aux = s
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -11356,8 +10871,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v2.AuxInt = i0
v2.Aux = s
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -11423,8 +10937,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
}
@@ -11490,8 +11003,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
}
@@ -11560,8 +11072,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -11630,8 +11141,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -11700,8 +11210,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -11770,8 +11279,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -11846,8 +11354,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v2.AuxInt = i0
v2.Aux = s
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -11923,8 +11430,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v2.AuxInt = i0
v2.Aux = s
v2.AddArg(p)
- v1.AddArg(v2)
- v1.AddArg(mem)
+ v1.AddArg2(v2, mem)
v0.AddArg(v1)
return true
}
@@ -12039,8 +11545,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = i0
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
}
@@ -12159,8 +11664,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -12279,8 +11783,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -12399,8 +11902,7 @@ func rewriteValuePPC64_OpPPC64OR(v *Value) bool {
v1.AuxInt = i0
v1.Aux = s
v1.AddArg(p)
- v0.AddArg(v1)
- v0.AddArg(mem)
+ v0.AddArg2(v1, mem)
return true
}
}
@@ -12613,8 +12115,7 @@ func rewriteValuePPC64_OpPPC64XOR(v *Value) bool {
continue
}
v.reset(OpPPC64ROTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -12654,8 +12155,7 @@ func rewriteValuePPC64_OpPPC64XOR(v *Value) bool {
continue
}
v.reset(OpPPC64ROTLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -12747,9 +12247,7 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool {
}
v.reset(OpPPC64LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -12765,9 +12263,7 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool {
}
v.reset(OpPPC64LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -12783,9 +12279,7 @@ func rewriteValuePPC64_OpPanicBounds(v *Value) bool {
}
v.reset(OpPPC64LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -12851,17 +12345,14 @@ func rewriteValuePPC64_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -12888,8 +12379,7 @@ func rewriteValuePPC64_OpRotateLeft32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64ROTLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -12915,8 +12405,7 @@ func rewriteValuePPC64_OpRotateLeft64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64ROTL)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
}
@@ -12936,17 +12425,14 @@ func rewriteValuePPC64_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -12968,8 +12454,7 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux16 x y)
@@ -12980,9 +12465,7 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -12990,8 +12473,8 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13050,8 +12533,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux32 x y)
@@ -13062,9 +12544,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -13072,8 +12552,8 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13147,8 +12627,7 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux64 x y)
@@ -13159,16 +12638,14 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13189,8 +12666,7 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux8 x y)
@@ -13201,9 +12677,7 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -13211,8 +12685,8 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13233,8 +12707,7 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x16 x y)
@@ -13245,9 +12718,7 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -13255,8 +12726,8 @@ func rewriteValuePPC64_OpRsh16x16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13315,8 +12786,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x32 x y)
@@ -13327,9 +12797,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -13337,8 +12805,8 @@ func rewriteValuePPC64_OpRsh16x32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13416,8 +12884,7 @@ func rewriteValuePPC64_OpRsh16x64(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x64 x y)
@@ -13428,16 +12895,14 @@ func rewriteValuePPC64_OpRsh16x64(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13458,8 +12923,7 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x8 x y)
@@ -13470,9 +12934,7 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -16
@@ -13480,8 +12942,8 @@ func rewriteValuePPC64_OpRsh16x8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -13500,8 +12962,7 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool {
break
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux16 x y)
@@ -13510,9 +12971,7 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -13520,8 +12979,8 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -13574,8 +13033,7 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool {
break
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux32 x y)
@@ -13584,9 +13042,7 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -13594,8 +13050,8 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -13663,8 +13119,7 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
break
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux64 x (AND y (MOVDconst [31])))
@@ -13683,11 +13138,10 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
continue
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -13701,11 +13155,10 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32Ux64 x (SUB (MOVDconst [32]) (ANDconst [31] y)))
@@ -13726,16 +13179,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
}
y := v_1_1.Args[0]
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 32
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 31
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32Ux64 x (SUB (MOVDconst [32]) (AND y (MOVDconst [31]))))
@@ -13763,16 +13214,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
continue
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 32
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 31
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
break
@@ -13783,16 +13232,14 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -13811,8 +13258,7 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool {
break
}
v.reset(OpPPC64SRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux8 x y)
@@ -13821,9 +13267,7 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -13831,8 +13275,8 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -13851,8 +13295,7 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool {
break
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x16 x y)
@@ -13861,9 +13304,7 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -13871,8 +13312,8 @@ func rewriteValuePPC64_OpRsh32x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -13925,8 +13366,7 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool {
break
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x32 x y)
@@ -13935,9 +13375,7 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -13945,8 +13383,8 @@ func rewriteValuePPC64_OpRsh32x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14016,8 +13454,7 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
break
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x64 x (AND y (MOVDconst [31])))
@@ -14036,11 +13473,10 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
continue
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int32)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14054,11 +13490,10 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v0.AuxInt = 31
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x64 x (SUB (MOVDconst [32]) (ANDconst [31] y)))
@@ -14079,16 +13514,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
}
y := v_1_1.Args[0]
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 32
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 31
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh32x64 x (SUB (MOVDconst [32]) (AND y (MOVDconst [31]))))
@@ -14116,16 +13549,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
continue
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 32
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 31
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14136,16 +13567,14 @@ func rewriteValuePPC64_OpRsh32x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14164,8 +13593,7 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool {
break
}
v.reset(OpPPC64SRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x8 x y)
@@ -14174,9 +13602,7 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -32
@@ -14184,8 +13610,8 @@ func rewriteValuePPC64_OpRsh32x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14204,8 +13630,7 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool {
break
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux16 x y)
@@ -14214,9 +13639,7 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14224,8 +13647,8 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14278,8 +13701,7 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool {
break
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux32 x y)
@@ -14288,9 +13710,7 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14298,8 +13718,8 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14367,8 +13787,7 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
break
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux64 x (AND y (MOVDconst [63])))
@@ -14387,11 +13806,10 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
continue
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14405,11 +13823,10 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64Ux64 x (SUB (MOVDconst [64]) (ANDconst [63] y)))
@@ -14430,16 +13847,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
}
y := v_1_1.Args[0]
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 64
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 63
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64Ux64 x (SUB (MOVDconst [64]) (AND y (MOVDconst [63]))))
@@ -14467,16 +13882,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
continue
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 64
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 63
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14487,16 +13900,14 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14515,8 +13926,7 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool {
break
}
v.reset(OpPPC64SRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux8 x y)
@@ -14525,9 +13935,7 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14535,8 +13943,8 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14555,8 +13963,7 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool {
break
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x16 x y)
@@ -14565,9 +13972,7 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14575,8 +13980,8 @@ func rewriteValuePPC64_OpRsh64x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14629,8 +14034,7 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool {
break
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x32 x y)
@@ -14639,9 +14043,7 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14649,8 +14051,8 @@ func rewriteValuePPC64_OpRsh64x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14720,8 +14122,7 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
break
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x64 x (AND y (MOVDconst [63])))
@@ -14740,11 +14141,10 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
continue
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.Int64)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14758,11 +14158,10 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v0.AuxInt = 63
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x64 x (SUB (MOVDconst [64]) (ANDconst [63] y)))
@@ -14783,16 +14182,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
}
y := v_1_1.Args[0]
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 64
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 63
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
// match: (Rsh64x64 x (SUB (MOVDconst [64]) (AND y (MOVDconst [63]))))
@@ -14820,16 +14217,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
continue
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64SUB, typ.UInt)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
v1.AuxInt = 64
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpPPC64ANDconst, typ.UInt)
v2.AuxInt = 63
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
+ v.AddArg2(x, v0)
return true
}
break
@@ -14840,16 +14235,14 @@ func rewriteValuePPC64_OpRsh64x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14868,8 +14261,7 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool {
break
}
v.reset(OpPPC64SRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x8 x y)
@@ -14878,9 +14270,7 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpPPC64SRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v2.AuxInt = -64
@@ -14888,8 +14278,8 @@ func rewriteValuePPC64_OpRsh64x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -14910,8 +14300,7 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux16 x y)
@@ -14922,9 +14311,7 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -14932,8 +14319,8 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -14992,8 +14379,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux32 x y)
@@ -15004,9 +14390,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -15014,8 +14398,8 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15089,8 +14473,7 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux64 x y)
@@ -15101,16 +14484,14 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15131,8 +14512,7 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBZreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux8 x y)
@@ -15143,9 +14523,7 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool {
v.reset(OpPPC64SRW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -15153,8 +14531,8 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15175,8 +14553,7 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x16 x y)
@@ -15187,9 +14564,7 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -15197,8 +14572,8 @@ func rewriteValuePPC64_OpRsh8x16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15257,8 +14632,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x32 x y)
@@ -15269,9 +14643,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -15279,8 +14651,8 @@ func rewriteValuePPC64_OpRsh8x32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15358,8 +14730,7 @@ func rewriteValuePPC64_OpRsh8x64(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x64 x y)
@@ -15370,16 +14741,14 @@ func rewriteValuePPC64_OpRsh8x64(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15400,8 +14769,7 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpPPC64MOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x8 x y)
@@ -15412,9 +14780,7 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool {
v.reset(OpPPC64SRAW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpPPC64ORN, typ.Int64)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, typ.Int64)
v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, types.TypeFlags)
v3.AuxInt = -8
@@ -15422,8 +14788,8 @@ func rewriteValuePPC64_OpRsh8x8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -15459,9 +14825,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64FMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15476,9 +14840,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64FMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15493,9 +14855,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64FMOVSstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15510,9 +14870,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64MOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15527,9 +14885,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15544,9 +14900,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64MOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -15561,9 +14915,7 @@ func rewriteValuePPC64_OpStore(v *Value) bool {
break
}
v.reset(OpPPC64MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -15737,8 +15089,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
destptr := v_0
mem := v_1
v.reset(OpPPC64MOVBstorezero)
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [2] destptr mem)
@@ -15750,8 +15101,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
destptr := v_0
mem := v_1
v.reset(OpPPC64MOVHstorezero)
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [3] destptr mem)
@@ -15764,11 +15114,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = 2
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, types.TypeMem)
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [4] destptr mem)
@@ -15780,8 +15128,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
destptr := v_0
mem := v_1
v.reset(OpPPC64MOVWstorezero)
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [5] destptr mem)
@@ -15794,11 +15141,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = 4
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem)
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [6] destptr mem)
@@ -15811,11 +15156,9 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64MOVHstorezero)
v.AuxInt = 4
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem)
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [7] destptr mem)
@@ -15828,15 +15171,12 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64MOVBstorezero)
v.AuxInt = 6
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, types.TypeMem)
v0.AuxInt = 4
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem)
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(destptr, mem)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [8] {t} destptr mem)
@@ -15853,8 +15193,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
break
}
v.reset(OpPPC64MOVDstorezero)
- v.AddArg(destptr)
- v.AddArg(mem)
+ v.AddArg2(destptr, mem)
return true
}
// match: (Zero [8] destptr mem)
@@ -15867,12 +15206,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64MOVWstorezero)
v.AuxInt = 4
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [12] {t} destptr mem)
@@ -15890,12 +15227,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
}
v.reset(OpPPC64MOVWstorezero)
v.AuxInt = 8
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [16] {t} destptr mem)
@@ -15913,12 +15248,10 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
}
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = 8
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v0.AuxInt = 0
- v0.AddArg(destptr)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(destptr, mem)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [24] {t} destptr mem)
@@ -15936,16 +15269,13 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
}
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = 16
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v0.AuxInt = 8
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v1.AuxInt = 0
- v1.AddArg(destptr)
- v1.AddArg(mem)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg2(destptr, mem)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [32] {t} destptr mem)
@@ -15963,20 +15293,16 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
}
v.reset(OpPPC64MOVDstorezero)
v.AuxInt = 24
- v.AddArg(destptr)
v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v0.AuxInt = 16
- v0.AddArg(destptr)
v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(destptr)
v2 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, types.TypeMem)
v2.AuxInt = 0
- v2.AddArg(destptr)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v2.AddArg2(destptr, mem)
+ v1.AddArg2(destptr, v2)
+ v0.AddArg2(destptr, v1)
+ v.AddArg2(destptr, v0)
return true
}
// match: (Zero [s] ptr mem)
@@ -15987,8 +15313,7 @@ func rewriteValuePPC64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpPPC64LoweredZero)
v.AuxInt = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
}
@@ -16127,8 +15452,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16157,8 +15481,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16187,8 +15510,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64EQ)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16286,8 +15608,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16316,8 +15637,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16346,8 +15666,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16446,8 +15765,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16476,8 +15794,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16506,8 +15823,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64GT)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16707,8 +16023,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16737,8 +16052,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16767,8 +16081,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16867,8 +16180,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16897,8 +16209,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -16927,8 +16238,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64LT)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17226,8 +16536,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ANDCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17256,8 +16565,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64ORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
@@ -17286,8 +16594,7 @@ func rewriteBlockPPC64(b *Block) bool {
}
b.Reset(BlockPPC64NE)
v0 := b.NewValue0(v_0.Pos, OpPPC64XORCC, types.TypeFlags)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
b.AddControl(v0)
return true
}
diff --git a/src/cmd/compile/internal/ssa/rewriteRISCV64.go b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
index 4d70814cfd..e40fe69930 100644
--- a/src/cmd/compile/internal/ssa/rewriteRISCV64.go
+++ b/src/cmd/compile/internal/ssa/rewriteRISCV64.go
@@ -590,19 +590,16 @@ func rewriteValueRISCV64_OpAvg64u(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpRISCV64SRLI, t)
v1.AuxInt = 1
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpRISCV64SRLI, t)
v2.AuxInt = 1
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpRISCV64ANDI, t)
v3.AuxInt = 1
v4 := b.NewValue0(v.Pos, OpRISCV64AND, t)
- v4.AddArg(x)
- v4.AddArg(y)
+ v4.AddArg2(x, y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg2(v0, v3)
return true
}
}
@@ -704,10 +701,9 @@ func rewriteValueRISCV64_OpDiv16(v *Value) bool {
v.reset(OpRISCV64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -724,10 +720,9 @@ func rewriteValueRISCV64_OpDiv16u(v *Value) bool {
v.reset(OpRISCV64DIVUW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -744,10 +739,9 @@ func rewriteValueRISCV64_OpDiv8(v *Value) bool {
v.reset(OpRISCV64DIVW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -764,10 +758,9 @@ func rewriteValueRISCV64_OpDiv8u(v *Value) bool {
v.reset(OpRISCV64DIVUW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -784,8 +777,7 @@ func rewriteValueRISCV64_OpEq16(v *Value) bool {
v.reset(OpRISCV64SEQZ)
v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -802,8 +794,7 @@ func rewriteValueRISCV64_OpEq32(v *Value) bool {
y := v_1
v.reset(OpRISCV64SEQZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUBW, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -819,8 +810,7 @@ func rewriteValueRISCV64_OpEq64(v *Value) bool {
y := v_1
v.reset(OpRISCV64SEQZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -838,8 +828,7 @@ func rewriteValueRISCV64_OpEq8(v *Value) bool {
v.reset(OpRISCV64SEQZ)
v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -858,8 +847,7 @@ func rewriteValueRISCV64_OpEqB(v *Value) bool {
v.reset(OpRISCV64XORI)
v.AuxInt = 1
v0 := b.NewValue0(v.Pos, OpRISCV64XOR, typ.Bool)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -875,8 +863,7 @@ func rewriteValueRISCV64_OpEqPtr(v *Value) bool {
y := v_1
v.reset(OpRISCV64SEQZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -890,8 +877,7 @@ func rewriteValueRISCV64_OpGeq32F(v *Value) bool {
x := v_0
y := v_1
v.reset(OpRISCV64FLES)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -904,8 +890,7 @@ func rewriteValueRISCV64_OpGeq64F(v *Value) bool {
x := v_0
y := v_1
v.reset(OpRISCV64FLED)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -918,8 +903,7 @@ func rewriteValueRISCV64_OpGreater32F(v *Value) bool {
x := v_0
y := v_1
v.reset(OpRISCV64FLTS)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -932,8 +916,7 @@ func rewriteValueRISCV64_OpGreater64F(v *Value) bool {
x := v_0
y := v_1
v.reset(OpRISCV64FLTD)
- v.AddArg(y)
- v.AddArg(x)
+ v.AddArg2(y, x)
return true
}
}
@@ -952,10 +935,9 @@ func rewriteValueRISCV64_OpHmul32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64MUL, typ.Int64)
v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -975,10 +957,9 @@ func rewriteValueRISCV64_OpHmul32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64MUL, typ.Int64)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -993,8 +974,7 @@ func rewriteValueRISCV64_OpIsNonNil(v *Value) bool {
p := v_0
v.reset(OpNeqPtr)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
- v.AddArg(v0)
- v.AddArg(p)
+ v.AddArg2(v0, p)
return true
}
}
@@ -1010,8 +990,7 @@ func rewriteValueRISCV64_OpLeq16(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess16, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1028,8 +1007,7 @@ func rewriteValueRISCV64_OpLeq16U(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess16U, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1046,8 +1024,7 @@ func rewriteValueRISCV64_OpLeq32(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess32, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1064,8 +1041,7 @@ func rewriteValueRISCV64_OpLeq32U(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1082,8 +1058,7 @@ func rewriteValueRISCV64_OpLeq64(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess64, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1100,8 +1075,7 @@ func rewriteValueRISCV64_OpLeq64U(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess64U, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1118,8 +1092,7 @@ func rewriteValueRISCV64_OpLeq8(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess8, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1136,8 +1109,7 @@ func rewriteValueRISCV64_OpLeq8U(v *Value) bool {
y := v_1
v.reset(OpNot)
v0 := b.NewValue0(v.Pos, OpLess8U, typ.Bool)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -1155,10 +1127,9 @@ func rewriteValueRISCV64_OpLess16(v *Value) bool {
v.reset(OpRISCV64SLT)
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1175,10 +1146,9 @@ func rewriteValueRISCV64_OpLess16U(v *Value) bool {
v.reset(OpRISCV64SLTU)
v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1195,10 +1165,9 @@ func rewriteValueRISCV64_OpLess32(v *Value) bool {
v.reset(OpRISCV64SLT)
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1215,10 +1184,9 @@ func rewriteValueRISCV64_OpLess32U(v *Value) bool {
v.reset(OpRISCV64SLTU)
v0 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1235,10 +1203,9 @@ func rewriteValueRISCV64_OpLess8(v *Value) bool {
v.reset(OpRISCV64SLT)
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1255,10 +1222,9 @@ func rewriteValueRISCV64_OpLess8U(v *Value) bool {
v.reset(OpRISCV64SLTU)
v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1276,8 +1242,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1291,8 +1256,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1306,8 +1270,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVBUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1321,8 +1284,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1336,8 +1298,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVHUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1351,8 +1312,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1366,8 +1326,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVWUload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1381,8 +1340,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64MOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1396,8 +1354,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64FMOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -1411,8 +1368,7 @@ func rewriteValueRISCV64_OpLoad(v *Value) bool {
break
}
v.reset(OpRISCV64FMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -1443,9 +1399,7 @@ func rewriteValueRISCV64_OpLsh16x16(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg16, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1453,7 +1407,7 @@ func rewriteValueRISCV64_OpLsh16x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1470,9 +1424,7 @@ func rewriteValueRISCV64_OpLsh16x32(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg16, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1480,7 +1432,7 @@ func rewriteValueRISCV64_OpLsh16x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1496,15 +1448,13 @@ func rewriteValueRISCV64_OpLsh16x64(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg16, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1521,9 +1471,7 @@ func rewriteValueRISCV64_OpLsh16x8(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg16, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1531,7 +1479,7 @@ func rewriteValueRISCV64_OpLsh16x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1548,9 +1496,7 @@ func rewriteValueRISCV64_OpLsh32x16(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg32, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1558,7 +1504,7 @@ func rewriteValueRISCV64_OpLsh32x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1575,9 +1521,7 @@ func rewriteValueRISCV64_OpLsh32x32(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg32, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1585,7 +1529,7 @@ func rewriteValueRISCV64_OpLsh32x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1601,15 +1545,13 @@ func rewriteValueRISCV64_OpLsh32x64(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg32, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1626,9 +1568,7 @@ func rewriteValueRISCV64_OpLsh32x8(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg32, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1636,7 +1576,7 @@ func rewriteValueRISCV64_OpLsh32x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1653,9 +1593,7 @@ func rewriteValueRISCV64_OpLsh64x16(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1663,7 +1601,7 @@ func rewriteValueRISCV64_OpLsh64x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1680,9 +1618,7 @@ func rewriteValueRISCV64_OpLsh64x32(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1690,7 +1626,7 @@ func rewriteValueRISCV64_OpLsh64x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1706,15 +1642,13 @@ func rewriteValueRISCV64_OpLsh64x64(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1731,9 +1665,7 @@ func rewriteValueRISCV64_OpLsh64x8(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1741,7 +1673,7 @@ func rewriteValueRISCV64_OpLsh64x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1758,9 +1690,7 @@ func rewriteValueRISCV64_OpLsh8x16(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg8, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1768,7 +1698,7 @@ func rewriteValueRISCV64_OpLsh8x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1785,9 +1715,7 @@ func rewriteValueRISCV64_OpLsh8x32(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg8, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1795,7 +1723,7 @@ func rewriteValueRISCV64_OpLsh8x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1811,15 +1739,13 @@ func rewriteValueRISCV64_OpLsh8x64(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg8, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1836,9 +1762,7 @@ func rewriteValueRISCV64_OpLsh8x8(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SLL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg8, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -1846,7 +1770,7 @@ func rewriteValueRISCV64_OpLsh8x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1863,10 +1787,9 @@ func rewriteValueRISCV64_OpMod16(v *Value) bool {
v.reset(OpRISCV64REMW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1883,10 +1806,9 @@ func rewriteValueRISCV64_OpMod16u(v *Value) bool {
v.reset(OpRISCV64REMUW)
v0 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1903,10 +1825,9 @@ func rewriteValueRISCV64_OpMod8(v *Value) bool {
v.reset(OpRISCV64REMW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1923,10 +1844,9 @@ func rewriteValueRISCV64_OpMod8u(v *Value) bool {
v.reset(OpRISCV64REMUW)
v0 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1959,12 +1879,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpRISCV64MOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVBload, typ.Int8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -1977,12 +1894,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpRISCV64MOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVHload, typ.Int16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -1995,12 +1909,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpRISCV64MOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVWload, typ.Int32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] dst src mem)
@@ -2013,12 +1924,9 @@ func rewriteValueRISCV64_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpRISCV64MOVDstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVDload, typ.Int64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [s] {t} dst src mem)
@@ -2031,13 +1939,10 @@ func rewriteValueRISCV64_OpMove(v *Value) bool {
mem := v_2
v.reset(OpRISCV64LoweredMove)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpRISCV64ADDI, src.Type)
v0.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
v0.AddArg(src)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg4(dst, src, v0, mem)
return true
}
}
@@ -2054,10 +1959,9 @@ func rewriteValueRISCV64_OpMul16(v *Value) bool {
v.reset(OpRISCV64MULW)
v0 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -2074,10 +1978,9 @@ func rewriteValueRISCV64_OpMul8(v *Value) bool {
v.reset(OpRISCV64MULW)
v0 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -2091,8 +1994,7 @@ func rewriteValueRISCV64_OpNeg16(v *Value) bool {
x := v_0
v.reset(OpRISCV64SUB)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -2106,8 +2008,7 @@ func rewriteValueRISCV64_OpNeg32(v *Value) bool {
x := v_0
v.reset(OpRISCV64SUB)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -2121,8 +2022,7 @@ func rewriteValueRISCV64_OpNeg64(v *Value) bool {
x := v_0
v.reset(OpRISCV64SUB)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -2136,8 +2036,7 @@ func rewriteValueRISCV64_OpNeg8(v *Value) bool {
x := v_0
v.reset(OpRISCV64SUB)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8)
- v.AddArg(v0)
- v.AddArg(x)
+ v.AddArg2(v0, x)
return true
}
}
@@ -2154,8 +2053,7 @@ func rewriteValueRISCV64_OpNeq16(v *Value) bool {
v.reset(OpRISCV64SNEZ)
v0 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -2172,8 +2070,7 @@ func rewriteValueRISCV64_OpNeq32(v *Value) bool {
y := v_1
v.reset(OpRISCV64SNEZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUBW, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2189,8 +2086,7 @@ func rewriteValueRISCV64_OpNeq64(v *Value) bool {
y := v_1
v.reset(OpRISCV64SNEZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2208,8 +2104,7 @@ func rewriteValueRISCV64_OpNeq8(v *Value) bool {
v.reset(OpRISCV64SNEZ)
v0 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
v.AddArg(v0)
return true
@@ -2226,8 +2121,7 @@ func rewriteValueRISCV64_OpNeqPtr(v *Value) bool {
y := v_1
v.reset(OpRISCV64SNEZ)
v0 := b.NewValue0(v.Pos, OpRISCV64SUB, x.Type)
- v0.AddArg(x)
- v0.AddArg(y)
+ v0.AddArg2(x, y)
v.AddArg(v0)
return true
}
@@ -2283,8 +2177,7 @@ func rewriteValueRISCV64_OpOffPtr(v *Value) bool {
v.reset(OpRISCV64ADD)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v0.AuxInt = off
- v.AddArg(v0)
- v.AddArg(ptr)
+ v.AddArg2(v0, ptr)
return true
}
}
@@ -2305,9 +2198,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool {
}
v.reset(OpRISCV64LoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -2323,9 +2214,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool {
}
v.reset(OpRISCV64LoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -2341,9 +2230,7 @@ func rewriteValueRISCV64_OpPanicBounds(v *Value) bool {
}
v.reset(OpRISCV64LoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -2431,8 +2318,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBUload(v *Value) bool {
v.reset(OpRISCV64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBUload [off1] {sym} (ADDI [off2] base) mem)
@@ -2453,8 +2339,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBUload(v *Value) bool {
v.reset(OpRISCV64MOVBUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2481,8 +2366,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBload(v *Value) bool {
v.reset(OpRISCV64MOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBload [off1] {sym} (ADDI [off2] base) mem)
@@ -2503,8 +2387,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBload(v *Value) bool {
v.reset(OpRISCV64MOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2533,9 +2416,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBstore(v *Value) bool {
v.reset(OpRISCV64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVBstore [off1] {sym} (ADDI [off2] base) val mem)
@@ -2557,9 +2438,7 @@ func rewriteValueRISCV64_OpRISCV64MOVBstore(v *Value) bool {
v.reset(OpRISCV64MOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2582,10 +2461,9 @@ func rewriteValueRISCV64_OpRISCV64MOVDconst(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v1.AuxInt = c>>32 + 1
v0.AddArg(v1)
- v.AddArg(v0)
v2 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v2.AuxInt = int64(int32(c))
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
// match: (MOVDconst [c])
@@ -2603,10 +2481,9 @@ func rewriteValueRISCV64_OpRISCV64MOVDconst(v *Value) bool {
v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v1.AuxInt = c>>32 + 0
v0.AddArg(v1)
- v.AddArg(v0)
v2 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v2.AuxInt = int64(int32(c))
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -2633,8 +2510,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDload(v *Value) bool {
v.reset(OpRISCV64MOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVDload [off1] {sym} (ADDI [off2] base) mem)
@@ -2655,8 +2531,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDload(v *Value) bool {
v.reset(OpRISCV64MOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2685,9 +2560,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDstore(v *Value) bool {
v.reset(OpRISCV64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVDstore [off1] {sym} (ADDI [off2] base) val mem)
@@ -2709,9 +2582,7 @@ func rewriteValueRISCV64_OpRISCV64MOVDstore(v *Value) bool {
v.reset(OpRISCV64MOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2738,8 +2609,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHUload(v *Value) bool {
v.reset(OpRISCV64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVHUload [off1] {sym} (ADDI [off2] base) mem)
@@ -2760,8 +2630,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHUload(v *Value) bool {
v.reset(OpRISCV64MOVHUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2788,8 +2657,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHload(v *Value) bool {
v.reset(OpRISCV64MOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVHload [off1] {sym} (ADDI [off2] base) mem)
@@ -2810,8 +2678,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHload(v *Value) bool {
v.reset(OpRISCV64MOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2840,9 +2707,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHstore(v *Value) bool {
v.reset(OpRISCV64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVHstore [off1] {sym} (ADDI [off2] base) val mem)
@@ -2864,9 +2729,7 @@ func rewriteValueRISCV64_OpRISCV64MOVHstore(v *Value) bool {
v.reset(OpRISCV64MOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -2893,8 +2756,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWUload(v *Value) bool {
v.reset(OpRISCV64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVWUload [off1] {sym} (ADDI [off2] base) mem)
@@ -2915,8 +2777,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWUload(v *Value) bool {
v.reset(OpRISCV64MOVWUload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2943,8 +2804,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWload(v *Value) bool {
v.reset(OpRISCV64MOVWload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVWload [off1] {sym} (ADDI [off2] base) mem)
@@ -2965,8 +2825,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWload(v *Value) bool {
v.reset(OpRISCV64MOVWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
return false
@@ -2995,9 +2854,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWstore(v *Value) bool {
v.reset(OpRISCV64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVWstore [off1] {sym} (ADDI [off2] base) val mem)
@@ -3019,9 +2876,7 @@ func rewriteValueRISCV64_OpRISCV64MOVWstore(v *Value) bool {
v.reset(OpRISCV64MOVWstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
return false
@@ -3042,17 +2897,14 @@ func rewriteValueRISCV64_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -3073,17 +2925,14 @@ func rewriteValueRISCV64_OpRotateLeft32(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr32)
v0 := b.NewValue0(v.Pos, OpLsh32x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32)
v1.AuxInt = c & 31
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh32Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32)
v3.AuxInt = -c & 31
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -3104,17 +2953,14 @@ func rewriteValueRISCV64_OpRotateLeft64(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr64)
v0 := b.NewValue0(v.Pos, OpLsh64x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v1.AuxInt = c & 63
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh64Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v3.AuxInt = -c & 63
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -3135,17 +2981,14 @@ func rewriteValueRISCV64_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -3165,9 +3008,7 @@ func rewriteValueRISCV64_OpRsh16Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg16, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3175,7 +3016,7 @@ func rewriteValueRISCV64_OpRsh16Ux16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3194,9 +3035,7 @@ func rewriteValueRISCV64_OpRsh16Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg16, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3204,7 +3043,7 @@ func rewriteValueRISCV64_OpRsh16Ux32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3223,15 +3062,13 @@ func rewriteValueRISCV64_OpRsh16Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg16, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3250,9 +3087,7 @@ func rewriteValueRISCV64_OpRsh16Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg16, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3260,7 +3095,7 @@ func rewriteValueRISCV64_OpRsh16Ux8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3279,9 +3114,7 @@ func rewriteValueRISCV64_OpRsh16x16(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3290,8 +3123,8 @@ func rewriteValueRISCV64_OpRsh16x16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3310,9 +3143,7 @@ func rewriteValueRISCV64_OpRsh16x32(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3321,8 +3152,8 @@ func rewriteValueRISCV64_OpRsh16x32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3341,17 +3172,15 @@ func rewriteValueRISCV64_OpRsh16x64(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3370,9 +3199,7 @@ func rewriteValueRISCV64_OpRsh16x8(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt16to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3381,8 +3208,8 @@ func rewriteValueRISCV64_OpRsh16x8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3401,9 +3228,7 @@ func rewriteValueRISCV64_OpRsh32Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg32, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3411,7 +3236,7 @@ func rewriteValueRISCV64_OpRsh32Ux16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3430,9 +3255,7 @@ func rewriteValueRISCV64_OpRsh32Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg32, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3440,7 +3263,7 @@ func rewriteValueRISCV64_OpRsh32Ux32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3459,15 +3282,13 @@ func rewriteValueRISCV64_OpRsh32Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg32, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3486,9 +3307,7 @@ func rewriteValueRISCV64_OpRsh32Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg32, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3496,7 +3315,7 @@ func rewriteValueRISCV64_OpRsh32Ux8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3515,9 +3334,7 @@ func rewriteValueRISCV64_OpRsh32x16(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3526,8 +3343,8 @@ func rewriteValueRISCV64_OpRsh32x16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3546,9 +3363,7 @@ func rewriteValueRISCV64_OpRsh32x32(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3557,8 +3372,8 @@ func rewriteValueRISCV64_OpRsh32x32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3577,17 +3392,15 @@ func rewriteValueRISCV64_OpRsh32x64(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3606,9 +3419,7 @@ func rewriteValueRISCV64_OpRsh32x8(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3617,8 +3428,8 @@ func rewriteValueRISCV64_OpRsh32x8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3635,9 +3446,7 @@ func rewriteValueRISCV64_OpRsh64Ux16(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -3645,7 +3454,7 @@ func rewriteValueRISCV64_OpRsh64Ux16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3662,9 +3471,7 @@ func rewriteValueRISCV64_OpRsh64Ux32(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -3672,7 +3479,7 @@ func rewriteValueRISCV64_OpRsh64Ux32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3688,15 +3495,13 @@ func rewriteValueRISCV64_OpRsh64Ux64(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3713,9 +3518,7 @@ func rewriteValueRISCV64_OpRsh64Ux8(v *Value) bool {
y := v_1
v.reset(OpRISCV64AND)
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpNeg64, t)
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v2.AuxInt = 64
@@ -3723,7 +3526,7 @@ func rewriteValueRISCV64_OpRsh64Ux8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3740,9 +3543,7 @@ func rewriteValueRISCV64_OpRsh64x16(v *Value) bool {
y := v_1
v.reset(OpRISCV64SRA)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v1.AuxInt = -1
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3751,8 +3552,8 @@ func rewriteValueRISCV64_OpRsh64x16(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3769,9 +3570,7 @@ func rewriteValueRISCV64_OpRsh64x32(v *Value) bool {
y := v_1
v.reset(OpRISCV64SRA)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v1.AuxInt = -1
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3780,8 +3579,8 @@ func rewriteValueRISCV64_OpRsh64x32(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3797,17 +3596,15 @@ func rewriteValueRISCV64_OpRsh64x64(v *Value) bool {
y := v_1
v.reset(OpRISCV64SRA)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v1.AuxInt = -1
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
v2.AuxInt = 64
v2.AddArg(y)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3824,9 +3621,7 @@ func rewriteValueRISCV64_OpRsh64x8(v *Value) bool {
y := v_1
v.reset(OpRISCV64SRA)
v.Type = t
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v1.AuxInt = -1
v2 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3835,8 +3630,8 @@ func rewriteValueRISCV64_OpRsh64x8(v *Value) bool {
v3.AddArg(y)
v2.AddArg(v3)
v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(y, v1)
+ v.AddArg2(x, v0)
return true
}
}
@@ -3855,9 +3650,7 @@ func rewriteValueRISCV64_OpRsh8Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg8, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3865,7 +3658,7 @@ func rewriteValueRISCV64_OpRsh8Ux16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3884,9 +3677,7 @@ func rewriteValueRISCV64_OpRsh8Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg8, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3894,7 +3685,7 @@ func rewriteValueRISCV64_OpRsh8Ux32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3913,15 +3704,13 @@ func rewriteValueRISCV64_OpRsh8Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg8, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3940,9 +3729,7 @@ func rewriteValueRISCV64_OpRsh8Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpRISCV64SRL, t)
v1 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpNeg8, t)
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, t)
v3.AuxInt = 64
@@ -3950,7 +3737,7 @@ func rewriteValueRISCV64_OpRsh8Ux8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg2(v0, v2)
return true
}
}
@@ -3969,9 +3756,7 @@ func rewriteValueRISCV64_OpRsh8x16(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -3980,8 +3765,8 @@ func rewriteValueRISCV64_OpRsh8x16(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4000,9 +3785,7 @@ func rewriteValueRISCV64_OpRsh8x32(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -4011,8 +3794,8 @@ func rewriteValueRISCV64_OpRsh8x32(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4031,17 +3814,15 @@ func rewriteValueRISCV64_OpRsh8x64(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
v3.AuxInt = 64
v3.AddArg(y)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4060,9 +3841,7 @@ func rewriteValueRISCV64_OpRsh8x8(v *Value) bool {
v.Type = t
v0 := b.NewValue0(v.Pos, OpSignExt8to64, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpRISCV64OR, y.Type)
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpRISCV64ADDI, y.Type)
v2.AuxInt = -1
v3 := b.NewValue0(v.Pos, OpRISCV64SLTIU, y.Type)
@@ -4071,8 +3850,8 @@ func rewriteValueRISCV64_OpRsh8x8(v *Value) bool {
v4.AddArg(y)
v3.AddArg(v4)
v2.AddArg(v3)
- v1.AddArg(v2)
- v.AddArg(v1)
+ v1.AddArg2(y, v2)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4209,9 +3988,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64MOVBstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -4226,9 +4003,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64MOVHstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -4243,9 +4018,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64MOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -4260,9 +4033,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64MOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -4277,9 +4048,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64FMOVWstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (Store {t} ptr val mem)
@@ -4294,9 +4063,7 @@ func rewriteValueRISCV64_OpStore(v *Value) bool {
break
}
v.reset(OpRISCV64FMOVDstore)
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
return false
@@ -4328,10 +4095,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpRISCV64MOVBstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVBconst, typ.UInt8)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [2] ptr mem)
@@ -4343,10 +4108,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpRISCV64MOVHstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVHconst, typ.UInt16)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [4] ptr mem)
@@ -4358,10 +4121,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpRISCV64MOVWstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVWconst, typ.UInt32)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [8] ptr mem)
@@ -4373,10 +4134,8 @@ func rewriteValueRISCV64_OpZero(v *Value) bool {
ptr := v_0
mem := v_1
v.reset(OpRISCV64MOVDstore)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(ptr, v0, mem)
return true
}
// match: (Zero [s] {t} ptr mem)
@@ -4388,14 +4147,11 @@ func rewriteValueRISCV64_OpZero(v *Value) bool {
mem := v_1
v.reset(OpRISCV64LoweredZero)
v.AuxInt = t.(*types.Type).Alignment()
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpRISCV64ADD, ptr.Type)
- v0.AddArg(ptr)
v1 := b.NewValue0(v.Pos, OpRISCV64MOVDconst, typ.UInt64)
v1.AuxInt = s - moveSize(t.(*types.Type).Alignment(), config)
- v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(ptr, v1)
+ v.AddArg3(ptr, v0, mem)
return true
}
}
diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go
index 4fc90128d0..7a78dfdac7 100644
--- a/src/cmd/compile/internal/ssa/rewriteS390X.go
+++ b/src/cmd/compile/internal/ssa/rewriteS390X.go
@@ -936,12 +936,9 @@ func rewriteValueS390X_OpAtomicAdd32(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpS390XAddTupleFirst32)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpS390XLAA, types.NewTuple(typ.UInt32, types.TypeMem))
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg3(ptr, val, mem)
+ v.AddArg2(val, v0)
return true
}
}
@@ -958,12 +955,9 @@ func rewriteValueS390X_OpAtomicAdd64(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpS390XAddTupleFirst64)
- v.AddArg(val)
v0 := b.NewValue0(v.Pos, OpS390XLAAG, types.NewTuple(typ.UInt64, types.TypeMem))
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg3(ptr, val, mem)
+ v.AddArg2(val, v0)
return true
}
}
@@ -980,21 +974,17 @@ func rewriteValueS390X_OpAtomicAnd8(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpS390XLANfloor)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpS390XRLL, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpS390XORWconst, typ.UInt32)
v1.AuxInt = -1 << 8
v1.AddArg(val)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XRXSBG, typ.UInt32)
v2.Aux = s390x.NewRotateParams(59, 60, 3)
v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v3.AuxInt = 3 << 3
- v2.AddArg(v3)
- v2.AddArg(ptr)
- v0.AddArg(v2)
- v.AddArg(v0)
- v.AddArg(mem)
+ v2.AddArg2(v3, ptr)
+ v0.AddArg2(v1, v2)
+ v.AddArg3(ptr, v0, mem)
return true
}
}
@@ -1011,20 +1001,16 @@ func rewriteValueS390X_OpAtomicOr8(v *Value) bool {
val := v_1
mem := v_2
v.reset(OpS390XLAOfloor)
- v.AddArg(ptr)
v0 := b.NewValue0(v.Pos, OpS390XSLW, typ.UInt32)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt32)
v1.AddArg(val)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XRXSBG, typ.UInt32)
v2.Aux = s390x.NewRotateParams(59, 60, 3)
v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v3.AuxInt = 3 << 3
- v2.AddArg(v3)
- v2.AddArg(ptr)
- v0.AddArg(v2)
- v.AddArg(v0)
- v.AddArg(mem)
+ v2.AddArg2(v3, ptr)
+ v0.AddArg2(v1, v2)
+ v.AddArg3(ptr, v0, mem)
return true
}
}
@@ -1041,9 +1027,7 @@ func rewriteValueS390X_OpAtomicStore32(v *Value) bool {
mem := v_2
v.reset(OpS390XSYNC)
v0 := b.NewValue0(v.Pos, OpS390XMOVWatomicstore, types.TypeMem)
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -1061,9 +1045,7 @@ func rewriteValueS390X_OpAtomicStore64(v *Value) bool {
mem := v_2
v.reset(OpS390XSYNC)
v0 := b.NewValue0(v.Pos, OpS390XMOVDatomicstore, types.TypeMem)
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -1081,9 +1063,7 @@ func rewriteValueS390X_OpAtomicStore8(v *Value) bool {
mem := v_2
v.reset(OpS390XSYNC)
v0 := b.NewValue0(v.Pos, OpS390XMOVBatomicstore, types.TypeMem)
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -1101,9 +1081,7 @@ func rewriteValueS390X_OpAtomicStorePtrNoWB(v *Value) bool {
mem := v_2
v.reset(OpS390XSYNC)
v0 := b.NewValue0(v.Pos, OpS390XMOVDatomicstore, types.TypeMem)
- v0.AddArg(ptr)
- v0.AddArg(val)
- v0.AddArg(mem)
+ v0.AddArg3(ptr, val, mem)
v.AddArg(v0)
return true
}
@@ -1122,11 +1100,9 @@ func rewriteValueS390X_OpAvg64u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRDconst, t)
v0.AuxInt = 1
v1 := b.NewValue0(v.Pos, OpS390XSUB, t)
- v1.AddArg(x)
- v1.AddArg(y)
+ v1.AddArg2(x, y)
v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -1141,10 +1117,9 @@ func rewriteValueS390X_OpBitLen64(v *Value) bool {
v.reset(OpS390XSUB)
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 64
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64)
v1.AddArg(x)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1181,20 +1156,18 @@ func rewriteValueS390X_OpCtz32(v *Value) bool {
v.reset(OpS390XSUB)
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 64
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64)
v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
v3 := b.NewValue0(v.Pos, OpS390XANDW, t)
v4 := b.NewValue0(v.Pos, OpS390XSUBWconst, t)
v4.AuxInt = 1
v4.AddArg(x)
- v3.AddArg(v4)
v5 := b.NewValue0(v.Pos, OpS390XNOTW, t)
v5.AddArg(x)
- v3.AddArg(v5)
+ v3.AddArg2(v4, v5)
v2.AddArg(v3)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1210,18 +1183,16 @@ func rewriteValueS390X_OpCtz64(v *Value) bool {
v.reset(OpS390XSUB)
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 64
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XFLOGR, typ.UInt64)
v2 := b.NewValue0(v.Pos, OpS390XAND, t)
v3 := b.NewValue0(v.Pos, OpS390XSUBconst, t)
v3.AuxInt = 1
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XNOT, t)
v4.AddArg(x)
- v2.AddArg(v4)
+ v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1238,10 +1209,9 @@ func rewriteValueS390X_OpDiv16(v *Value) bool {
v.reset(OpS390XDIVW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1258,10 +1228,9 @@ func rewriteValueS390X_OpDiv16u(v *Value) bool {
v.reset(OpS390XDIVWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1278,8 +1247,7 @@ func rewriteValueS390X_OpDiv32(v *Value) bool {
v.reset(OpS390XDIVW)
v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -1296,8 +1264,7 @@ func rewriteValueS390X_OpDiv32u(v *Value) bool {
v.reset(OpS390XDIVWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -1314,10 +1281,9 @@ func rewriteValueS390X_OpDiv8(v *Value) bool {
v.reset(OpS390XDIVW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1334,10 +1300,9 @@ func rewriteValueS390X_OpDiv8u(v *Value) bool {
v.reset(OpS390XDIVWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -1355,18 +1320,15 @@ func rewriteValueS390X_OpEq16(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1384,14 +1346,11 @@ func rewriteValueS390X_OpEq32(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1409,14 +1368,11 @@ func rewriteValueS390X_OpEq32F(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1434,14 +1390,11 @@ func rewriteValueS390X_OpEq64(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1459,14 +1412,11 @@ func rewriteValueS390X_OpEq64F(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1484,18 +1434,15 @@ func rewriteValueS390X_OpEq8(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1513,18 +1460,15 @@ func rewriteValueS390X_OpEqB(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1542,14 +1486,11 @@ func rewriteValueS390X_OpEqPtr(v *Value) bool {
v.Aux = s390x.Equal
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1564,9 +1505,7 @@ func rewriteValueS390X_OpFMA(v *Value) bool {
y := v_1
z := v_2
v.reset(OpS390XFMADD)
- v.AddArg(z)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg3(z, x, y)
return true
}
}
@@ -1596,14 +1535,11 @@ func rewriteValueS390X_OpGeq32F(v *Value) bool {
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1621,14 +1557,11 @@ func rewriteValueS390X_OpGeq64F(v *Value) bool {
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1646,14 +1579,11 @@ func rewriteValueS390X_OpGreater32F(v *Value) bool {
v.Aux = s390x.Greater
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1671,14 +1601,11 @@ func rewriteValueS390X_OpGreater64F(v *Value) bool {
v.Aux = s390x.Greater
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1697,10 +1624,9 @@ func rewriteValueS390X_OpHmul32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64)
v1 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1720,10 +1646,9 @@ func rewriteValueS390X_OpHmul32u(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XMULLD, typ.Int64)
v1 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
v2.AddArg(y)
- v0.AddArg(v2)
+ v0.AddArg2(v1, v2)
v.AddArg(v0)
return true
}
@@ -1739,8 +1664,7 @@ func rewriteValueS390X_OpITab(v *Value) bool {
mem := v_0.Args[1]
ptr := v_0.Args[0]
v.reset(OpS390XMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -1759,14 +1683,11 @@ func rewriteValueS390X_OpIsInBounds(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags)
- v2.AddArg(idx)
- v2.AddArg(len)
- v.AddArg(v2)
+ v2.AddArg2(idx, len)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1782,14 +1703,12 @@ func rewriteValueS390X_OpIsNonNil(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPconst, types.TypeFlags)
v2.AuxInt = 0
v2.AddArg(p)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1807,14 +1726,11 @@ func rewriteValueS390X_OpIsSliceInBounds(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags)
- v2.AddArg(idx)
- v2.AddArg(len)
- v.AddArg(v2)
+ v2.AddArg2(idx, len)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1832,18 +1748,15 @@ func rewriteValueS390X_OpLeq16(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1861,18 +1774,15 @@ func rewriteValueS390X_OpLeq16U(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1890,14 +1800,11 @@ func rewriteValueS390X_OpLeq32(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1915,14 +1822,11 @@ func rewriteValueS390X_OpLeq32F(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1940,14 +1844,11 @@ func rewriteValueS390X_OpLeq32U(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1965,14 +1866,11 @@ func rewriteValueS390X_OpLeq64(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -1990,14 +1888,11 @@ func rewriteValueS390X_OpLeq64F(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2015,14 +1910,11 @@ func rewriteValueS390X_OpLeq64U(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2040,18 +1932,15 @@ func rewriteValueS390X_OpLeq8(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2069,18 +1958,15 @@ func rewriteValueS390X_OpLeq8U(v *Value) bool {
v.Aux = s390x.LessOrEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2098,18 +1984,15 @@ func rewriteValueS390X_OpLess16(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2127,18 +2010,15 @@ func rewriteValueS390X_OpLess16U(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2156,14 +2036,11 @@ func rewriteValueS390X_OpLess32(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2181,14 +2058,11 @@ func rewriteValueS390X_OpLess32F(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2206,14 +2080,11 @@ func rewriteValueS390X_OpLess32U(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2231,14 +2102,11 @@ func rewriteValueS390X_OpLess64(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2256,14 +2124,11 @@ func rewriteValueS390X_OpLess64F(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2281,14 +2146,11 @@ func rewriteValueS390X_OpLess64U(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2306,18 +2168,15 @@ func rewriteValueS390X_OpLess8(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2335,18 +2194,15 @@ func rewriteValueS390X_OpLess8U(v *Value) bool {
v.Aux = s390x.Less
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2364,8 +2220,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2379,8 +2234,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVWload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2394,8 +2248,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVWZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2409,8 +2262,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVHload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2424,8 +2276,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVHZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2439,8 +2290,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVBload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2454,8 +2304,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XMOVBZload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2469,8 +2318,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XFMOVSload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (Load ptr mem)
@@ -2484,8 +2332,7 @@ func rewriteValueS390X_OpLoad(v *Value) bool {
break
}
v.reset(OpS390XFMOVDload)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -2518,8 +2365,7 @@ func rewriteValueS390X_OpLsh16x16(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x16 x y)
@@ -2532,18 +2378,15 @@ func rewriteValueS390X_OpLsh16x16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2562,8 +2405,7 @@ func rewriteValueS390X_OpLsh16x32(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x32 x y)
@@ -2576,16 +2418,13 @@ func rewriteValueS390X_OpLsh16x32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2604,8 +2443,7 @@ func rewriteValueS390X_OpLsh16x64(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x64 x y)
@@ -2618,16 +2456,13 @@ func rewriteValueS390X_OpLsh16x64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2646,8 +2481,7 @@ func rewriteValueS390X_OpLsh16x8(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh16x8 x y)
@@ -2660,18 +2494,15 @@ func rewriteValueS390X_OpLsh16x8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2690,8 +2521,7 @@ func rewriteValueS390X_OpLsh32x16(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x16 x y)
@@ -2704,18 +2534,15 @@ func rewriteValueS390X_OpLsh32x16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2734,8 +2561,7 @@ func rewriteValueS390X_OpLsh32x32(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x32 x y)
@@ -2748,16 +2574,13 @@ func rewriteValueS390X_OpLsh32x32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2776,8 +2599,7 @@ func rewriteValueS390X_OpLsh32x64(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x64 x y)
@@ -2790,16 +2612,13 @@ func rewriteValueS390X_OpLsh32x64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2818,8 +2637,7 @@ func rewriteValueS390X_OpLsh32x8(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh32x8 x y)
@@ -2832,18 +2650,15 @@ func rewriteValueS390X_OpLsh32x8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2862,8 +2677,7 @@ func rewriteValueS390X_OpLsh64x16(v *Value) bool {
break
}
v.reset(OpS390XSLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x16 x y)
@@ -2876,18 +2690,15 @@ func rewriteValueS390X_OpLsh64x16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2906,8 +2717,7 @@ func rewriteValueS390X_OpLsh64x32(v *Value) bool {
break
}
v.reset(OpS390XSLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x32 x y)
@@ -2920,16 +2730,13 @@ func rewriteValueS390X_OpLsh64x32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2948,8 +2755,7 @@ func rewriteValueS390X_OpLsh64x64(v *Value) bool {
break
}
v.reset(OpS390XSLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x64 x y)
@@ -2962,16 +2768,13 @@ func rewriteValueS390X_OpLsh64x64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -2990,8 +2793,7 @@ func rewriteValueS390X_OpLsh64x8(v *Value) bool {
break
}
v.reset(OpS390XSLD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh64x8 x y)
@@ -3004,18 +2806,15 @@ func rewriteValueS390X_OpLsh64x8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3034,8 +2833,7 @@ func rewriteValueS390X_OpLsh8x16(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x16 x y)
@@ -3048,18 +2846,15 @@ func rewriteValueS390X_OpLsh8x16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3078,8 +2873,7 @@ func rewriteValueS390X_OpLsh8x32(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x32 x y)
@@ -3092,16 +2886,13 @@ func rewriteValueS390X_OpLsh8x32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3120,8 +2911,7 @@ func rewriteValueS390X_OpLsh8x64(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x64 x y)
@@ -3134,16 +2924,13 @@ func rewriteValueS390X_OpLsh8x64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3162,8 +2949,7 @@ func rewriteValueS390X_OpLsh8x8(v *Value) bool {
break
}
v.reset(OpS390XSLW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Lsh8x8 x y)
@@ -3176,18 +2962,15 @@ func rewriteValueS390X_OpLsh8x8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3204,10 +2987,9 @@ func rewriteValueS390X_OpMod16(v *Value) bool {
v.reset(OpS390XMODW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3224,10 +3006,9 @@ func rewriteValueS390X_OpMod16u(v *Value) bool {
v.reset(OpS390XMODWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3244,8 +3025,7 @@ func rewriteValueS390X_OpMod32(v *Value) bool {
v.reset(OpS390XMODW)
v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -3262,8 +3042,7 @@ func rewriteValueS390X_OpMod32u(v *Value) bool {
v.reset(OpS390XMODWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
}
@@ -3280,10 +3059,9 @@ func rewriteValueS390X_OpMod8(v *Value) bool {
v.reset(OpS390XMODW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3300,10 +3078,9 @@ func rewriteValueS390X_OpMod8u(v *Value) bool {
v.reset(OpS390XMODWU)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(y)
- v.AddArg(v1)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -3335,12 +3112,9 @@ func rewriteValueS390X_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpS390XMOVBstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [2] dst src mem)
@@ -3353,12 +3127,9 @@ func rewriteValueS390X_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpS390XMOVHstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [4] dst src mem)
@@ -3371,12 +3142,9 @@ func rewriteValueS390X_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpS390XMOVWstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, typ.UInt32)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [8] dst src mem)
@@ -3389,12 +3157,9 @@ func rewriteValueS390X_OpMove(v *Value) bool {
src := v_1
mem := v_2
v.reset(OpS390XMOVDstore)
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, mem)
+ v.AddArg3(dst, v0, mem)
return true
}
// match: (Move [16] dst src mem)
@@ -3408,20 +3173,14 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVDstore)
v.AuxInt = 8
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
v0.AuxInt = 8
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [24] dst src mem)
@@ -3435,29 +3194,20 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVDstore)
v.AuxInt = 16
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
v0.AuxInt = 16
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem)
v1.AuxInt = 8
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
v2.AuxInt = 8
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpS390XMOVDstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpS390XMOVDload, typ.UInt64)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [3] dst src mem)
@@ -3471,20 +3221,14 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVBstore)
v.AuxInt = 2
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8)
v0.AuxInt = 2
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [5] dst src mem)
@@ -3498,20 +3242,14 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVBstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [6] dst src mem)
@@ -3525,20 +3263,14 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVHstore)
v.AuxInt = 4
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16)
v0.AuxInt = 4
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem)
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, typ.UInt32)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v1.AddArg(mem)
- v.AddArg(v1)
+ v2.AddArg2(src, mem)
+ v1.AddArg3(dst, v2, mem)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [7] dst src mem)
@@ -3552,29 +3284,20 @@ func rewriteValueS390X_OpMove(v *Value) bool {
mem := v_2
v.reset(OpS390XMOVBstore)
v.AuxInt = 6
- v.AddArg(dst)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, typ.UInt8)
v0.AuxInt = 6
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg2(src, mem)
v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, types.TypeMem)
v1.AuxInt = 4
- v1.AddArg(dst)
v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, typ.UInt16)
v2.AuxInt = 4
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
+ v2.AddArg2(src, mem)
v3 := b.NewValue0(v.Pos, OpS390XMOVWstore, types.TypeMem)
- v3.AddArg(dst)
v4 := b.NewValue0(v.Pos, OpS390XMOVWZload, typ.UInt32)
- v4.AddArg(src)
- v4.AddArg(mem)
- v3.AddArg(v4)
- v3.AddArg(mem)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v4.AddArg2(src, mem)
+ v3.AddArg3(dst, v4, mem)
+ v1.AddArg3(dst, v2, v3)
+ v.AddArg3(dst, v0, v1)
return true
}
// match: (Move [s] dst src mem)
@@ -3590,9 +3313,7 @@ func rewriteValueS390X_OpMove(v *Value) bool {
}
v.reset(OpS390XMVC)
v.AuxInt = makeValAndOff(s, 0)
- v.AddArg(dst)
- v.AddArg(src)
- v.AddArg(mem)
+ v.AddArg3(dst, src, mem)
return true
}
// match: (Move [s] dst src mem)
@@ -3608,14 +3329,10 @@ func rewriteValueS390X_OpMove(v *Value) bool {
}
v.reset(OpS390XMVC)
v.AuxInt = makeValAndOff(s-256, 256)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v0.AuxInt = makeValAndOff(256, 0)
- v0.AddArg(dst)
- v0.AddArg(src)
- v0.AddArg(mem)
- v.AddArg(v0)
+ v0.AddArg3(dst, src, mem)
+ v.AddArg3(dst, src, v0)
return true
}
// match: (Move [s] dst src mem)
@@ -3631,19 +3348,13 @@ func rewriteValueS390X_OpMove(v *Value) bool {
}
v.reset(OpS390XMVC)
v.AuxInt = makeValAndOff(s-512, 512)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v0.AuxInt = makeValAndOff(256, 256)
- v0.AddArg(dst)
- v0.AddArg(src)
v1 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v1.AuxInt = makeValAndOff(256, 0)
- v1.AddArg(dst)
- v1.AddArg(src)
- v1.AddArg(mem)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v1.AddArg3(dst, src, mem)
+ v0.AddArg3(dst, src, v1)
+ v.AddArg3(dst, src, v0)
return true
}
// match: (Move [s] dst src mem)
@@ -3659,24 +3370,16 @@ func rewriteValueS390X_OpMove(v *Value) bool {
}
v.reset(OpS390XMVC)
v.AuxInt = makeValAndOff(s-768, 768)
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v0.AuxInt = makeValAndOff(256, 512)
- v0.AddArg(dst)
- v0.AddArg(src)
v1 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v1.AuxInt = makeValAndOff(256, 256)
- v1.AddArg(dst)
- v1.AddArg(src)
v2 := b.NewValue0(v.Pos, OpS390XMVC, types.TypeMem)
v2.AuxInt = makeValAndOff(256, 0)
- v2.AddArg(dst)
- v2.AddArg(src)
- v2.AddArg(mem)
- v1.AddArg(v2)
- v0.AddArg(v1)
- v.AddArg(v0)
+ v2.AddArg3(dst, src, mem)
+ v1.AddArg3(dst, src, v2)
+ v0.AddArg3(dst, src, v1)
+ v.AddArg3(dst, src, v0)
return true
}
// match: (Move [s] dst src mem)
@@ -3692,15 +3395,11 @@ func rewriteValueS390X_OpMove(v *Value) bool {
}
v.reset(OpS390XLoweredMove)
v.AuxInt = s % 256
- v.AddArg(dst)
- v.AddArg(src)
v0 := b.NewValue0(v.Pos, OpS390XADD, src.Type)
- v0.AddArg(src)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = (s / 256) * 256
- v0.AddArg(v1)
- v.AddArg(v0)
- v.AddArg(mem)
+ v0.AddArg2(src, v1)
+ v.AddArg4(dst, src, v0, mem)
return true
}
return false
@@ -3719,18 +3418,15 @@ func rewriteValueS390X_OpNeq16(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3748,14 +3444,11 @@ func rewriteValueS390X_OpNeq32(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3773,14 +3466,11 @@ func rewriteValueS390X_OpNeq32F(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMPS, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3798,14 +3488,11 @@ func rewriteValueS390X_OpNeq64(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3823,14 +3510,11 @@ func rewriteValueS390X_OpNeq64F(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XFCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3848,18 +3532,15 @@ func rewriteValueS390X_OpNeq8(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3877,18 +3558,15 @@ func rewriteValueS390X_OpNeqB(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v3.AddArg(x)
- v2.AddArg(v3)
v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v4.AddArg(y)
- v2.AddArg(v4)
- v.AddArg(v2)
+ v2.AddArg2(v3, v4)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3906,14 +3584,11 @@ func rewriteValueS390X_OpNeqPtr(v *Value) bool {
v.Aux = s390x.NotEqual
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = 0
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 1
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v2.AddArg(x)
- v2.AddArg(y)
- v.AddArg(v2)
+ v2.AddArg2(x, y)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -3968,8 +3643,7 @@ func rewriteValueS390X_OpOffPtr(v *Value) bool {
v.reset(OpS390XADD)
v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = off
- v.AddArg(v0)
- v.AddArg(ptr)
+ v.AddArg2(v0, ptr)
return true
}
}
@@ -3990,9 +3664,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool {
}
v.reset(OpS390XLoweredPanicBoundsA)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -4008,9 +3680,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool {
}
v.reset(OpS390XLoweredPanicBoundsB)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
// match: (PanicBounds [kind] x y mem)
@@ -4026,9 +3696,7 @@ func rewriteValueS390X_OpPanicBounds(v *Value) bool {
}
v.reset(OpS390XLoweredPanicBoundsC)
v.AuxInt = kind
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(mem)
+ v.AddArg3(x, y, mem)
return true
}
return false
@@ -4115,17 +3783,14 @@ func rewriteValueS390X_OpRotateLeft16(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = c & 15
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh16Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v3.AuxInt = -c & 15
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -4146,17 +3811,14 @@ func rewriteValueS390X_OpRotateLeft8(v *Value) bool {
c := v_1.AuxInt
v.reset(OpOr8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
- v0.AddArg(x)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = c & 7
- v0.AddArg(v1)
- v.AddArg(v0)
+ v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpRsh8Ux64, t)
- v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v3.AuxInt = -c & 7
- v2.AddArg(v3)
- v.AddArg(v2)
+ v2.AddArg2(x, v3)
+ v.AddArg2(v0, v2)
return true
}
return false
@@ -4202,8 +3864,7 @@ func rewriteValueS390X_OpRsh16Ux16(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux16 x y)
@@ -4218,18 +3879,15 @@ func rewriteValueS390X_OpRsh16Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -4250,8 +3908,7 @@ func rewriteValueS390X_OpRsh16Ux32(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux32 x y)
@@ -4266,16 +3923,13 @@ func rewriteValueS390X_OpRsh16Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -4296,8 +3950,7 @@ func rewriteValueS390X_OpRsh16Ux64(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux64 x y)
@@ -4312,16 +3965,13 @@ func rewriteValueS390X_OpRsh16Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -4342,8 +3992,7 @@ func rewriteValueS390X_OpRsh16Ux8(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16Ux8 x y)
@@ -4358,18 +4007,15 @@ func rewriteValueS390X_OpRsh16Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -4390,8 +4036,7 @@ func rewriteValueS390X_OpRsh16x16(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x16 x y)
@@ -4402,20 +4047,17 @@ func rewriteValueS390X_OpRsh16x16(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4436,8 +4078,7 @@ func rewriteValueS390X_OpRsh16x32(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x32 x y)
@@ -4448,18 +4089,15 @@ func rewriteValueS390X_OpRsh16x32(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4480,8 +4118,7 @@ func rewriteValueS390X_OpRsh16x64(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x64 x y)
@@ -4492,18 +4129,15 @@ func rewriteValueS390X_OpRsh16x64(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4524,8 +4158,7 @@ func rewriteValueS390X_OpRsh16x8(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh16x8 x y)
@@ -4536,20 +4169,17 @@ func rewriteValueS390X_OpRsh16x8(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -4568,8 +4198,7 @@ func rewriteValueS390X_OpRsh32Ux16(v *Value) bool {
break
}
v.reset(OpS390XSRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux16 x y)
@@ -4582,18 +4211,15 @@ func rewriteValueS390X_OpRsh32Ux16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4612,8 +4238,7 @@ func rewriteValueS390X_OpRsh32Ux32(v *Value) bool {
break
}
v.reset(OpS390XSRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux32 x y)
@@ -4626,16 +4251,13 @@ func rewriteValueS390X_OpRsh32Ux32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4654,8 +4276,7 @@ func rewriteValueS390X_OpRsh32Ux64(v *Value) bool {
break
}
v.reset(OpS390XSRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux64 x y)
@@ -4668,16 +4289,13 @@ func rewriteValueS390X_OpRsh32Ux64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4696,8 +4314,7 @@ func rewriteValueS390X_OpRsh32Ux8(v *Value) bool {
break
}
v.reset(OpS390XSRW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32Ux8 x y)
@@ -4710,18 +4327,15 @@ func rewriteValueS390X_OpRsh32Ux8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4740,8 +4354,7 @@ func rewriteValueS390X_OpRsh32x16(v *Value) bool {
break
}
v.reset(OpS390XSRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x16 x y)
@@ -4750,20 +4363,17 @@ func rewriteValueS390X_OpRsh32x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -4781,8 +4391,7 @@ func rewriteValueS390X_OpRsh32x32(v *Value) bool {
break
}
v.reset(OpS390XSRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x32 x y)
@@ -4791,18 +4400,15 @@ func rewriteValueS390X_OpRsh32x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -4820,8 +4426,7 @@ func rewriteValueS390X_OpRsh32x64(v *Value) bool {
break
}
v.reset(OpS390XSRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x64 x y)
@@ -4830,18 +4435,15 @@ func rewriteValueS390X_OpRsh32x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -4860,8 +4462,7 @@ func rewriteValueS390X_OpRsh32x8(v *Value) bool {
break
}
v.reset(OpS390XSRAW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh32x8 x y)
@@ -4870,20 +4471,17 @@ func rewriteValueS390X_OpRsh32x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAW)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -4902,8 +4500,7 @@ func rewriteValueS390X_OpRsh64Ux16(v *Value) bool {
break
}
v.reset(OpS390XSRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux16 x y)
@@ -4916,18 +4513,15 @@ func rewriteValueS390X_OpRsh64Ux16(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4946,8 +4540,7 @@ func rewriteValueS390X_OpRsh64Ux32(v *Value) bool {
break
}
v.reset(OpS390XSRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux32 x y)
@@ -4960,16 +4553,13 @@ func rewriteValueS390X_OpRsh64Ux32(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -4988,8 +4578,7 @@ func rewriteValueS390X_OpRsh64Ux64(v *Value) bool {
break
}
v.reset(OpS390XSRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux64 x y)
@@ -5002,16 +4591,13 @@ func rewriteValueS390X_OpRsh64Ux64(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -5030,8 +4616,7 @@ func rewriteValueS390X_OpRsh64Ux8(v *Value) bool {
break
}
v.reset(OpS390XSRD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64Ux8 x y)
@@ -5044,18 +4629,15 @@ func rewriteValueS390X_OpRsh64Ux8(v *Value) bool {
v.Type = t
v.Aux = s390x.GreaterOrEqual
v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
- v0.AddArg(x)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(x, y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v.AddArg(v2)
+ v.AddArg3(v0, v1, v2)
return true
}
}
@@ -5074,8 +4656,7 @@ func rewriteValueS390X_OpRsh64x16(v *Value) bool {
break
}
v.reset(OpS390XSRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x16 x y)
@@ -5084,20 +4665,17 @@ func rewriteValueS390X_OpRsh64x16(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -5115,8 +4693,7 @@ func rewriteValueS390X_OpRsh64x32(v *Value) bool {
break
}
v.reset(OpS390XSRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x32 x y)
@@ -5125,18 +4702,15 @@ func rewriteValueS390X_OpRsh64x32(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -5154,8 +4728,7 @@ func rewriteValueS390X_OpRsh64x64(v *Value) bool {
break
}
v.reset(OpS390XSRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x64 x y)
@@ -5164,18 +4737,15 @@ func rewriteValueS390X_OpRsh64x64(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v2.AuxInt = 64
v2.AddArg(y)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -5194,8 +4764,7 @@ func rewriteValueS390X_OpRsh64x8(v *Value) bool {
break
}
v.reset(OpS390XSRAD)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (Rsh64x8 x y)
@@ -5204,20 +4773,17 @@ func rewriteValueS390X_OpRsh64x8(v *Value) bool {
x := v_0
y := v_1
v.reset(OpS390XSRAD)
- v.AddArg(x)
v0 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v0.Aux = s390x.GreaterOrEqual
- v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v1.AuxInt = 63
- v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v2.AuxInt = 64
v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v3.AddArg(y)
v2.AddArg(v3)
- v0.AddArg(v2)
- v.AddArg(v0)
+ v0.AddArg3(y, v1, v2)
+ v.AddArg2(x, v0)
return true
}
}
@@ -5238,8 +4804,7 @@ func rewriteValueS390X_OpRsh8Ux16(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux16 x y)
@@ -5254,18 +4819,15 @@ func rewriteValueS390X_OpRsh8Ux16(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -5286,8 +4848,7 @@ func rewriteValueS390X_OpRsh8Ux32(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux32 x y)
@@ -5302,16 +4863,13 @@ func rewriteValueS390X_OpRsh8Ux32(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -5332,8 +4890,7 @@ func rewriteValueS390X_OpRsh8Ux64(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux64 x y)
@@ -5348,16 +4905,13 @@ func rewriteValueS390X_OpRsh8Ux64(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -5378,8 +4932,7 @@ func rewriteValueS390X_OpRsh8Ux8(v *Value) bool {
v.reset(OpS390XSRW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8Ux8 x y)
@@ -5394,18 +4947,15 @@ func rewriteValueS390X_OpRsh8Ux8(v *Value) bool {
v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v1.AddArg(x)
- v0.AddArg(v1)
- v0.AddArg(y)
- v.AddArg(v0)
+ v0.AddArg2(v1, y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v.AddArg(v3)
+ v.AddArg3(v0, v2, v3)
return true
}
}
@@ -5426,8 +4976,7 @@ func rewriteValueS390X_OpRsh8x16(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x16 x y)
@@ -5438,20 +4987,17 @@ func rewriteValueS390X_OpRsh8x16(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5472,8 +5018,7 @@ func rewriteValueS390X_OpRsh8x32(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x32 x y)
@@ -5484,18 +5029,15 @@ func rewriteValueS390X_OpRsh8x32(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5516,8 +5058,7 @@ func rewriteValueS390X_OpRsh8x64(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x64 x y)
@@ -5528,18 +5069,15 @@ func rewriteValueS390X_OpRsh8x64(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, types.TypeFlags)
v3.AuxInt = 64
v3.AddArg(y)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5560,8 +5098,7 @@ func rewriteValueS390X_OpRsh8x8(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
- v.AddArg(y)
+ v.AddArg2(v0, y)
return true
}
// match: (Rsh8x8 x y)
@@ -5572,20 +5109,17 @@ func rewriteValueS390X_OpRsh8x8(v *Value) bool {
v.reset(OpS390XSRAW)
v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, typ.Int64)
v0.AddArg(x)
- v.AddArg(v0)
v1 := b.NewValue0(v.Pos, OpS390XLOCGR, y.Type)
v1.Aux = s390x.GreaterOrEqual
- v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, y.Type)
v2.AuxInt = 63
- v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, types.TypeFlags)
v3.AuxInt = 64
v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, typ.UInt64)
v4.AddArg(y)
v3.AddArg(v4)
- v1.AddArg(v3)
- v.AddArg(v1)
+ v1.AddArg3(y, v2, v3)
+ v.AddArg2(v0, v1)
return true
}
}
@@ -5654,8 +5188,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = c
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(idx)
+ v.AddArg2(ptr, idx)
return true
}
break
@@ -5670,8 +5203,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XSUB)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -5698,9 +5230,7 @@ func rewriteValueS390X_OpS390XADD(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -5745,8 +5275,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool {
break
}
v.reset(OpS390XADDC)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDE x y (FlagLT))
@@ -5758,8 +5287,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool {
break
}
v.reset(OpS390XADDC)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDE x y (Select1 (ADDCconst [-1] (Select0 (ADDE (MOVDconst [0]) (MOVDconst [0]) c)))))
@@ -5792,9 +5320,7 @@ func rewriteValueS390X_OpS390XADDE(v *Value) bool {
break
}
v.reset(OpS390XADDE)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(c)
+ v.AddArg3(x, y, c)
return true
}
return false
@@ -5852,8 +5378,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XSUBW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
break
@@ -5880,9 +5405,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -5909,9 +5432,7 @@ func rewriteValueS390X_OpS390XADDW(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -5985,9 +5506,7 @@ func rewriteValueS390X_OpS390XADDWload(v *Value) bool {
v.reset(OpS390XADDWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
// match: (ADDWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem)
@@ -6010,9 +5529,7 @@ func rewriteValueS390X_OpS390XADDWload(v *Value) bool {
v.reset(OpS390XADDWload)
v.AuxInt = o1 + o2
v.Aux = mergeSym(s1, s2)
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -6077,8 +5594,7 @@ func rewriteValueS390X_OpS390XADDconst(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (ADDconst [0] x)
@@ -6149,10 +5665,9 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool {
break
}
v.reset(OpS390XADD)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (ADDload [off1] {sym} x (ADDconst [off2] ptr) mem)
@@ -6174,9 +5689,7 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool {
v.reset(OpS390XADDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
// match: (ADDload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem)
@@ -6199,9 +5712,7 @@ func rewriteValueS390X_OpS390XADDload(v *Value) bool {
v.reset(OpS390XADDload)
v.AuxInt = o1 + o2
v.Aux = mergeSym(s1, s2)
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -6365,9 +5876,7 @@ func rewriteValueS390X_OpS390XAND(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -6427,9 +5936,7 @@ func rewriteValueS390X_OpS390XANDW(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -6456,9 +5963,7 @@ func rewriteValueS390X_OpS390XANDW(v *Value) bool {
v.Type = t
v.AuxInt = off
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
break
@@ -6566,9 +6071,7 @@ func rewriteValueS390X_OpS390XANDWload(v *Value) bool {
v.reset(OpS390XANDWload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
// match: (ANDWload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem)
@@ -6591,9 +6094,7 @@ func rewriteValueS390X_OpS390XANDWload(v *Value) bool {
v.reset(OpS390XANDWload)
v.AuxInt = o1 + o2
v.Aux = mergeSym(s1, s2)
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -6674,10 +6175,9 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool {
break
}
v.reset(OpS390XAND)
- v.AddArg(x)
v0 := b.NewValue0(v_2.Pos, OpS390XLGDR, t)
v0.AddArg(y)
- v.AddArg(v0)
+ v.AddArg2(x, v0)
return true
}
// match: (ANDload [off1] {sym} x (ADDconst [off2] ptr) mem)
@@ -6699,9 +6199,7 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool {
v.reset(OpS390XANDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
// match: (ANDload [o1] {s1} x (MOVDaddr [o2] {s2} ptr) mem)
@@ -6724,9 +6222,7 @@ func rewriteValueS390X_OpS390XANDload(v *Value) bool {
v.reset(OpS390XANDload)
v.AuxInt = o1 + o2
v.Aux = mergeSym(s1, s2)
- v.AddArg(x)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg3(x, ptr, mem)
return true
}
return false
@@ -6782,8 +6278,7 @@ func rewriteValueS390X_OpS390XCMP(v *Value) bool {
}
v.reset(OpS390XInvertFlags)
v0 := b.NewValue0(v.Pos, OpS390XCMP, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -6840,8 +6335,7 @@ func rewriteValueS390X_OpS390XCMPU(v *Value) bool {
}
v.reset(OpS390XInvertFlags)
v0 := b.NewValue0(v.Pos, OpS390XCMPU, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -7061,8 +6555,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool {
}
v.reset(OpS390XInvertFlags)
v0 := b.NewValue0(v.Pos, OpS390XCMPW, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -7075,8 +6568,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XCMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPW x (MOVWZreg y))
@@ -7088,8 +6580,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XCMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPW (MOVWreg x) y)
@@ -7101,8 +6592,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpS390XCMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPW (MOVWZreg x) y)
@@ -7114,8 +6604,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpS390XCMPW)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -7163,8 +6652,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool {
}
v.reset(OpS390XInvertFlags)
v0 := b.NewValue0(v.Pos, OpS390XCMPWU, types.TypeFlags)
- v0.AddArg(y)
- v0.AddArg(x)
+ v0.AddArg2(y, x)
v.AddArg(v0)
return true
}
@@ -7177,8 +6665,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XCMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWU x (MOVWZreg y))
@@ -7190,8 +6677,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool {
}
y := v_1.Args[0]
v.reset(OpS390XCMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWU (MOVWreg x) y)
@@ -7203,8 +6689,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpS390XCMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (CMPWU (MOVWZreg x) y)
@@ -7216,8 +6701,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value) bool {
x := v_0.Args[0]
y := v_1
v.reset(OpS390XCMPWU)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -7734,9 +7218,7 @@ func rewriteValueS390X_OpS390XFADD(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpS390XFMADD)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -7757,9 +7239,7 @@ func rewriteValueS390X_OpS390XFADDS(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpS390XFMADDS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
break
@@ -7828,8 +7308,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
v.reset(OpS390XFMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -7851,8 +7330,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
v.reset(OpS390XFMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (FMOVDload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -7875,9 +7353,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
v.reset(OpS390XFMOVDloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVDload [off] {sym} (ADD ptr idx) mem)
@@ -7902,9 +7378,7 @@ func rewriteValueS390X_OpS390XFMOVDload(v *Value) bool {
v.reset(OpS390XFMOVDloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -7934,9 +7408,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx(v *Value) bool {
v.reset(OpS390XFMOVDloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVDloadidx [c] {sym} ptr (ADDconst [d] idx) mem)
@@ -7958,9 +7430,7 @@ func rewriteValueS390X_OpS390XFMOVDloadidx(v *Value) bool {
v.reset(OpS390XFMOVDloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -7988,9 +7458,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool {
v.reset(OpS390XFMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem)
@@ -8013,9 +7481,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool {
v.reset(OpS390XFMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (FMOVDstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem)
@@ -8039,10 +7505,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool {
v.reset(OpS390XFMOVDstoreidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVDstore [off] {sym} (ADD ptr idx) val mem)
@@ -8068,10 +7531,7 @@ func rewriteValueS390X_OpS390XFMOVDstore(v *Value) bool {
v.reset(OpS390XFMOVDstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -8103,10 +7563,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx(v *Value) bool {
v.reset(OpS390XFMOVDstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVDstoreidx [c] {sym} ptr (ADDconst [d] idx) val mem)
@@ -8129,10 +7586,7 @@ func rewriteValueS390X_OpS390XFMOVDstoreidx(v *Value) bool {
v.reset(OpS390XFMOVDstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -8179,8 +7633,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool {
v.reset(OpS390XFMOVSload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (FMOVSload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -8202,8 +7655,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool {
v.reset(OpS390XFMOVSload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (FMOVSload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -8226,9 +7678,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool {
v.reset(OpS390XFMOVSloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVSload [off] {sym} (ADD ptr idx) mem)
@@ -8253,9 +7703,7 @@ func rewriteValueS390X_OpS390XFMOVSload(v *Value) bool {
v.reset(OpS390XFMOVSloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -8285,9 +7733,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx(v *Value) bool {
v.reset(OpS390XFMOVSloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (FMOVSloadidx [c] {sym} ptr (ADDconst [d] idx) mem)
@@ -8309,9 +7755,7 @@ func rewriteValueS390X_OpS390XFMOVSloadidx(v *Value) bool {
v.reset(OpS390XFMOVSloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
return false
@@ -8339,9 +7783,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool {
v.reset(OpS390XFMOVSstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (FMOVSstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem)
@@ -8364,9 +7806,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool {
v.reset(OpS390XFMOVSstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (FMOVSstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem)
@@ -8390,10 +7830,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool {
v.reset(OpS390XFMOVSstoreidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVSstore [off] {sym} (ADD ptr idx) val mem)
@@ -8419,10 +7856,7 @@ func rewriteValueS390X_OpS390XFMOVSstore(v *Value) bool {
v.reset(OpS390XFMOVSstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -8454,10 +7888,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx(v *Value) bool {
v.reset(OpS390XFMOVSstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (FMOVSstoreidx [c] {sym} ptr (ADDconst [d] idx) val mem)
@@ -8480,10 +7911,7 @@ func rewriteValueS390X_OpS390XFMOVSstoreidx(v *Value) bool {
v.reset(OpS390XFMOVSstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
return false
@@ -8553,9 +7981,7 @@ func rewriteValueS390X_OpS390XFSUB(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpS390XFMSUB)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
return false
@@ -8573,9 +7999,7 @@ func rewriteValueS390X_OpS390XFSUBS(v *Value) bool {
y := v_0.Args[0]
x := v_1
v.reset(OpS390XFMSUBS)
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(z)
+ v.AddArg3(x, y, z)
return true
}
return false
@@ -8676,8 +8100,7 @@ func rewriteValueS390X_OpS390XLDGR(v *Value) bool {
v2 := b.NewValue0(x.Pos, OpS390XMOVDload, t1)
v2.AuxInt = off
v2.Aux = sym
- v2.AddArg(ptr)
- v2.AddArg(mem)
+ v2.AddArg2(ptr, mem)
v1.AddArg(v2)
v0.AddArg(v1)
return true
@@ -8762,9 +8185,7 @@ func rewriteValueS390X_OpS390XLOCGR(v *Value) bool {
cmp := v_2.Args[0]
v.reset(OpS390XLOCGR)
v.Aux = c.(s390x.CCMask).ReverseComparison()
- v.AddArg(x)
- v.AddArg(y)
- v.AddArg(cmp)
+ v.AddArg3(x, y, cmp)
return true
}
// match: (LOCGR {c} _ x (FlagEQ))
@@ -8954,8 +8375,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool {
v.reset(OpS390XMOVBZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBZload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -8977,8 +8397,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool {
v.reset(OpS390XMOVBZload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBZload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -9001,9 +8420,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool {
v.reset(OpS390XMOVBZloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBZload [off] {sym} (ADD ptr idx) mem)
@@ -9028,9 +8445,7 @@ func rewriteValueS390X_OpS390XMOVBZload(v *Value) bool {
v.reset(OpS390XMOVBZloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9061,9 +8476,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx(v *Value) bool {
v.reset(OpS390XMOVBZloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9088,9 +8501,7 @@ func rewriteValueS390X_OpS390XMOVBZloadidx(v *Value) bool {
v.reset(OpS390XMOVBZloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9253,8 +8664,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
// match: (MOVBZreg x:(MOVBloadidx [o] {s} p i mem))
@@ -9280,9 +8690,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(i)
- v0.AddArg(mem)
+ v0.AddArg3(p, i, mem)
return true
}
// match: (MOVBZreg x:(Arg ))
@@ -9398,8 +8806,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool {
v.reset(OpS390XMOVBload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -9421,8 +8828,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool {
v.reset(OpS390XMOVBload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVBload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -9445,9 +8851,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool {
v.reset(OpS390XMOVBloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVBload [off] {sym} (ADD ptr idx) mem)
@@ -9472,9 +8876,7 @@ func rewriteValueS390X_OpS390XMOVBload(v *Value) bool {
v.reset(OpS390XMOVBloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9505,9 +8907,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx(v *Value) bool {
v.reset(OpS390XMOVBloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9532,9 +8932,7 @@ func rewriteValueS390X_OpS390XMOVBloadidx(v *Value) bool {
v.reset(OpS390XMOVBloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -9697,8 +9095,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
// match: (MOVBreg x:(MOVBZloadidx [o] {s} p i mem))
@@ -9724,9 +9121,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(i)
- v0.AddArg(mem)
+ v0.AddArg3(p, i, mem)
return true
}
// match: (MOVBreg x:(Arg ))
@@ -9796,9 +9191,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVBZreg x) mem)
@@ -9815,9 +9208,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVBstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -9839,9 +9230,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVBstore [off] {sym} ptr (MOVDconst [c]) mem)
@@ -9862,8 +9251,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstoreconst)
v.AuxInt = makeValAndOff(int64(int8(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem)
@@ -9886,9 +9274,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVBstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem)
@@ -9912,10 +9298,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstoreidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVBstore [off] {sym} (ADD ptr idx) val mem)
@@ -9941,10 +9324,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVBstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -9972,9 +9352,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w0:(SRDconst [j] w) x:(MOVBstore [i-1] {s} p (SRDconst [j+8] w) mem))
@@ -10005,9 +9383,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVBstore [i] {s} p w x:(MOVBstore [i-1] {s} p (SRWconst [8] w) mem))
@@ -10033,9 +9409,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p w0:(SRWconst [j] w) x:(MOVBstore [i-1] {s} p (SRWconst [j+8] w) mem))
@@ -10066,9 +9440,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVBstore [i] {s} p (SRDconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -10093,9 +9465,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHBRstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SRDconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SRDconst [j-8] w) mem))
@@ -10125,9 +9495,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHBRstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVBstore [i] {s} p (SRWconst [8] w) x:(MOVBstore [i-1] {s} p w mem))
@@ -10152,9 +9520,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHBRstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVBstore [i] {s} p (SRWconst [j] w) x:(MOVBstore [i-1] {s} p w0:(SRWconst [j-8] w) mem))
@@ -10184,9 +9550,7 @@ func rewriteValueS390X_OpS390XMOVBstore(v *Value) bool {
v.reset(OpS390XMOVHBRstore)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -10212,8 +9576,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool {
v.reset(OpS390XMOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem)
@@ -10235,8 +9598,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool {
v.reset(OpS390XMOVBstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVBstoreconst [c] {s} p x:(MOVBstoreconst [a] {s} p mem))
@@ -10261,8 +9623,7 @@ func rewriteValueS390X_OpS390XMOVBstoreconst(v *Value) bool {
v.reset(OpS390XMOVHstoreconst)
v.AuxInt = makeValAndOff(ValAndOff(c).Val()&0xff|ValAndOff(a).Val()<<8, ValAndOff(a).Off())
v.Aux = s
- v.AddArg(p)
- v.AddArg(mem)
+ v.AddArg2(p, mem)
return true
}
return false
@@ -10293,10 +9654,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVBstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -10322,10 +9680,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVBstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -10358,10 +9713,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -10400,10 +9752,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -10437,10 +9786,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -10479,10 +9825,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -10515,10 +9858,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHBRstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -10556,10 +9896,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHBRstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -10592,10 +9929,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHBRstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -10633,10 +9967,7 @@ func rewriteValueS390X_OpS390XMOVBstoreidx(v *Value) bool {
v.reset(OpS390XMOVHBRstoreidx)
v.AuxInt = i - 1
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -10665,8 +9996,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (MOVDaddridx [c] {s} x (ADDconst [d] y))
@@ -10687,8 +10017,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = c + d
v.Aux = s
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (MOVDaddridx [off1] {sym1} (MOVDaddr [off2] {sym2} x) y)
@@ -10710,8 +10039,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
// match: (MOVDaddridx [off1] {sym1} x (MOVDaddr [off2] {sym2} y))
@@ -10733,8 +10061,7 @@ func rewriteValueS390X_OpS390XMOVDaddridx(v *Value) bool {
v.reset(OpS390XMOVDaddridx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(x)
- v.AddArg(y)
+ v.AddArg2(x, y)
return true
}
return false
@@ -10801,8 +10128,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
v.reset(OpS390XMOVDload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -10825,8 +10151,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
v.reset(OpS390XMOVDload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVDload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -10849,9 +10174,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
v.reset(OpS390XMOVDloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVDload [off] {sym} (ADD ptr idx) mem)
@@ -10876,9 +10199,7 @@ func rewriteValueS390X_OpS390XMOVDload(v *Value) bool {
v.reset(OpS390XMOVDloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10909,9 +10230,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx(v *Value) bool {
v.reset(OpS390XMOVDloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10936,9 +10255,7 @@ func rewriteValueS390X_OpS390XMOVDloadidx(v *Value) bool {
v.reset(OpS390XMOVDloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -10968,9 +10285,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XMOVDstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVDstore [off] {sym} ptr (MOVDconst [c]) mem)
@@ -10991,8 +10306,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XMOVDstoreconst)
v.AuxInt = makeValAndOff(c, off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem)
@@ -11016,9 +10330,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XMOVDstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVDstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem)
@@ -11042,10 +10354,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XMOVDstoreidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVDstore [off] {sym} (ADD ptr idx) val mem)
@@ -11071,10 +10380,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XMOVDstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -11102,10 +10408,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XSTMG2)
v.AuxInt = i - 8
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(w1)
- v.AddArg(mem)
+ v.AddArg4(p, w0, w1, mem)
return true
}
// match: (MOVDstore [i] {s} p w2 x:(STMG2 [i-16] {s} p w0 w1 mem))
@@ -11132,11 +10435,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XSTMG3)
v.AuxInt = i - 16
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(w1)
- v.AddArg(w2)
- v.AddArg(mem)
+ v.AddArg5(p, w0, w1, w2, mem)
return true
}
// match: (MOVDstore [i] {s} p w3 x:(STMG3 [i-24] {s} p w0 w1 w2 mem))
@@ -11164,12 +10463,7 @@ func rewriteValueS390X_OpS390XMOVDstore(v *Value) bool {
v.reset(OpS390XSTMG4)
v.AuxInt = i - 24
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(w1)
- v.AddArg(w2)
- v.AddArg(w3)
- v.AddArg(mem)
+ v.AddArg6(p, w0, w1, w2, w3, mem)
return true
}
return false
@@ -11195,8 +10489,7 @@ func rewriteValueS390X_OpS390XMOVDstoreconst(v *Value) bool {
v.reset(OpS390XMOVDstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVDstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem)
@@ -11218,8 +10511,7 @@ func rewriteValueS390X_OpS390XMOVDstoreconst(v *Value) bool {
v.reset(OpS390XMOVDstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
return false
@@ -11250,10 +10542,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx(v *Value) bool {
v.reset(OpS390XMOVDstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -11279,10 +10568,7 @@ func rewriteValueS390X_OpS390XMOVDstoreidx(v *Value) bool {
v.reset(OpS390XMOVDstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -11315,9 +10601,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool {
v.reset(OpS390XMOVWBRstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVHBRstore [i] {s} p (SRDconst [j] w) x:(MOVHBRstore [i-2] {s} p w0:(SRDconst [j-16] w) mem))
@@ -11347,9 +10631,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool {
v.reset(OpS390XMOVWBRstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVHBRstore [i] {s} p (SRWconst [16] w) x:(MOVHBRstore [i-2] {s} p w mem))
@@ -11374,9 +10656,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool {
v.reset(OpS390XMOVWBRstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVHBRstore [i] {s} p (SRWconst [j] w) x:(MOVHBRstore [i-2] {s} p w0:(SRWconst [j-16] w) mem))
@@ -11406,9 +10686,7 @@ func rewriteValueS390X_OpS390XMOVHBRstore(v *Value) bool {
v.reset(OpS390XMOVWBRstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -11445,10 +10723,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVWBRstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -11486,10 +10761,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVWBRstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -11522,10 +10794,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVWBRstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -11563,10 +10832,7 @@ func rewriteValueS390X_OpS390XMOVHBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVWBRstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -11615,8 +10881,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool {
v.reset(OpS390XMOVHZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHZload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -11639,8 +10904,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool {
v.reset(OpS390XMOVHZload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVHZload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -11663,9 +10927,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool {
v.reset(OpS390XMOVHZloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHZload [off] {sym} (ADD ptr idx) mem)
@@ -11690,9 +10952,7 @@ func rewriteValueS390X_OpS390XMOVHZload(v *Value) bool {
v.reset(OpS390XMOVHZloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -11723,9 +10983,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx(v *Value) bool {
v.reset(OpS390XMOVHZloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -11750,9 +11008,7 @@ func rewriteValueS390X_OpS390XMOVHZloadidx(v *Value) bool {
v.reset(OpS390XMOVHZloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -11933,8 +11189,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
// match: (MOVHZreg x:(MOVHloadidx [o] {s} p i mem))
@@ -11960,9 +11215,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(i)
- v0.AddArg(mem)
+ v0.AddArg3(p, i, mem)
return true
}
// match: (MOVHZreg x:(Arg ))
@@ -12051,8 +11304,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool {
v.reset(OpS390XMOVHload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVDaddr [off2] {sym2} base) mem)
@@ -12075,8 +11327,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool {
v.reset(OpS390XMOVHload)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(mem)
+ v.AddArg2(base, mem)
return true
}
// match: (MOVHload [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) mem)
@@ -12099,9 +11350,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool {
v.reset(OpS390XMOVHloadidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
// match: (MOVHload [off] {sym} (ADD ptr idx) mem)
@@ -12126,9 +11375,7 @@ func rewriteValueS390X_OpS390XMOVHload(v *Value) bool {
v.reset(OpS390XMOVHloadidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -12159,9 +11406,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx(v *Value) bool {
v.reset(OpS390XMOVHloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -12186,9 +11431,7 @@ func rewriteValueS390X_OpS390XMOVHloadidx(v *Value) bool {
v.reset(OpS390XMOVHloadidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(mem)
+ v.AddArg3(ptr, idx, mem)
return true
}
break
@@ -12403,8 +11646,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(mem)
+ v0.AddArg2(p, mem)
return true
}
// match: (MOVHreg x:(MOVHZloadidx [o] {s} p i mem))
@@ -12430,9 +11672,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value) bool {
v.AddArg(v0)
v0.AuxInt = o
v0.Aux = s
- v0.AddArg(p)
- v0.AddArg(i)
- v0.AddArg(mem)
+ v0.AddArg3(p, i, mem)
return true
}
// match: (MOVHreg x:(Arg ))
@@ -12502,9 +11742,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVHZreg x) mem)
@@ -12521,9 +11759,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(x)
- v.AddArg(mem)
+ v.AddArg3(ptr, x, mem)
return true
}
// match: (MOVHstore [off1] {sym} (ADDconst [off2] ptr) val mem)
@@ -12545,9 +11781,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(ptr, val, mem)
return true
}
// match: (MOVHstore [off] {sym} ptr (MOVDconst [c]) mem)
@@ -12568,8 +11802,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstoreconst)
v.AuxInt = makeValAndOff(int64(int16(c)), off)
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVDaddr [off2] {sym2} base) val mem)
@@ -12593,9 +11826,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstore)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(base)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg3(base, val, mem)
return true
}
// match: (MOVHstore [off1] {sym1} (MOVDaddridx [off2] {sym2} ptr idx) val mem)
@@ -12619,10 +11850,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = off1 + off2
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
// match: (MOVHstore [off] {sym} (ADD ptr idx) val mem)
@@ -12648,10 +11876,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = off
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -12679,9 +11904,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVHstore [i] {s} p w0:(SRDconst [j] w) x:(MOVHstore [i-2] {s} p (SRDconst [j+16] w) mem))
@@ -12712,9 +11935,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
// match: (MOVHstore [i] {s} p w x:(MOVHstore [i-2] {s} p (SRWconst [16] w) mem))
@@ -12740,9 +11961,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVHstore [i] {s} p w0:(SRWconst [j] w) x:(MOVHstore [i-2] {s} p (SRWconst [j+16] w) mem))
@@ -12773,9 +11992,7 @@ func rewriteValueS390X_OpS390XMOVHstore(v *Value) bool {
v.reset(OpS390XMOVWstore)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -12803,8 +12020,7 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool {
v.reset(OpS390XMOVHstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = s
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstoreconst [sc] {sym1} (MOVDaddr [off] {sym2} ptr) mem)
@@ -12826,8 +12042,7 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool {
v.reset(OpS390XMOVHstoreconst)
v.AuxInt = ValAndOff(sc).add(off)
v.Aux = mergeSym(sym1, sym2)
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVHstoreconst [c] {s} p x:(MOVHstoreconst [a] {s} p mem))
@@ -12852,11 +12067,9 @@ func rewriteValueS390X_OpS390XMOVHstoreconst(v *Value) bool {
v.reset(OpS390XMOVWstore)
v.AuxInt = ValAndOff(a).Off()
v.Aux = s
- v.AddArg(p)
v0 := b.NewValue0(x.Pos, OpS390XMOVDconst, typ.UInt64)
v0.AuxInt = int64(int32(ValAndOff(c).Val()&0xffff | ValAndOff(a).Val()<<16))
- v.AddArg(v0)
- v.AddArg(mem)
+ v.AddArg3(p, v0, mem)
return true
}
return false
@@ -12887,10 +12100,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -12916,10 +12126,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVHstoreidx)
v.AuxInt = c + d
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(idx)
- v.AddArg(val)
- v.AddArg(mem)
+ v.AddArg4(ptr, idx, val, mem)
return true
}
break
@@ -12952,10 +12159,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVWstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -12994,10 +12198,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVWstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -13031,10 +12232,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVWstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -13073,10 +12271,7 @@ func rewriteValueS390X_OpS390XMOVHstoreidx(v *Value) bool {
v.reset(OpS390XMOVWstoreidx)
v.AuxInt = i - 2
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -13110,9 +12305,7 @@ func rewriteValueS390X_OpS390XMOVWBRstore(v *Value) bool {
v.reset(OpS390XMOVDBRstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg3(p, w, mem)
return true
}
// match: (MOVWBRstore [i] {s} p (SRDconst [j] w) x:(MOVWBRstore [i-4] {s} p w0:(SRDconst [j-32] w) mem))
@@ -13142,9 +12335,7 @@ func rewriteValueS390X_OpS390XMOVWBRstore(v *Value) bool {
v.reset(OpS390XMOVDBRstore)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg3(p, w0, mem)
return true
}
return false
@@ -13181,10 +12372,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVDBRstoreidx)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w, mem)
return true
}
}
@@ -13222,10 +12410,7 @@ func rewriteValueS390X_OpS390XMOVWBRstoreidx(v *Value) bool {
v.reset(OpS390XMOVDBRstoreidx)
v.AuxInt = i - 4
v.Aux = s
- v.AddArg(p)
- v.AddArg(idx)
- v.AddArg(w0)
- v.AddArg(mem)
+ v.AddArg4(p, idx, w0, mem)
return true
}
}
@@ -13274,8 +12459,7 @@ func rewriteValueS390X_OpS390XMOVWZload(v *Value) bool {
v.reset(OpS390XMOVWZload)
v.AuxInt = off1 + off2
v.Aux = sym
- v.AddArg(ptr)
- v.AddArg(mem)
+ v.AddArg2(ptr, mem)
return true
}
// match: (MOVWZload [off1] {sym1} (MOVDaddr