aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/opGen.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2020-06-15 14:43:02 -0700
committerKeith Randall <khr@golang.org>2020-06-18 20:57:49 +0000
commit40ef1faabc44ab8ea28a1cf282ecab723ecb0394 (patch)
tree1c04bdc4b2eb3226759499dd6867c6771510ba75 /src/cmd/compile/internal/ssa/opGen.go
parent377c1536f548ae6295699475683db7574bea3d51 (diff)
downloadgo-40ef1faabc44ab8ea28a1cf282ecab723ecb0394.tar.gz
go-40ef1faabc44ab8ea28a1cf282ecab723ecb0394.zip
cmd/compile: redo flag constant ops for arm
Encode the flag results in an auxint field instead of having one opcode per flag state. This helps us handle the new *noov branches in a unified manner. This is only for arm, arm64 is in a subsequent CL. We could extend to other architectures as well, athough it would only be cleanup, no behavioral change. Update #39505 Change-Id: Ia46cea596faad540d1496c5915ab1274571543f0 Reviewed-on: https://go-review.googlesource.com/c/go/+/238077 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/opGen.go')
-rw-r--r--src/cmd/compile/internal/ssa/opGen.go33
1 files changed, 5 insertions, 28 deletions
diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go
index 2ce3f6aafd..48edb3e3af 100644
--- a/src/cmd/compile/internal/ssa/opGen.go
+++ b/src/cmd/compile/internal/ssa/opGen.go
@@ -1283,11 +1283,7 @@ const (
OpARMLoweredPanicExtendA
OpARMLoweredPanicExtendB
OpARMLoweredPanicExtendC
- OpARMFlagEQ
- OpARMFlagLT_ULT
- OpARMFlagLT_UGT
- OpARMFlagGT_UGT
- OpARMFlagGT_ULT
+ OpARMFlagConstant
OpARMInvertFlags
OpARMLoweredWB
@@ -16911,29 +16907,10 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "FlagEQ",
- argLen: 0,
- reg: regInfo{},
- },
- {
- name: "FlagLT_ULT",
- argLen: 0,
- reg: regInfo{},
- },
- {
- name: "FlagLT_UGT",
- argLen: 0,
- reg: regInfo{},
- },
- {
- name: "FlagGT_UGT",
- argLen: 0,
- reg: regInfo{},
- },
- {
- name: "FlagGT_ULT",
- argLen: 0,
- reg: regInfo{},
+ name: "FlagConstant",
+ auxType: auxFlagConstant,
+ argLen: 0,
+ reg: regInfo{},
},
{
name: "InvertFlags",