diff options
author | Keith Randall <khr@golang.org> | 2020-06-15 14:43:02 -0700 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2020-06-18 20:57:49 +0000 |
commit | 40ef1faabc44ab8ea28a1cf282ecab723ecb0394 (patch) | |
tree | 1c04bdc4b2eb3226759499dd6867c6771510ba75 /src/cmd/compile/internal/ssa/opGen.go | |
parent | 377c1536f548ae6295699475683db7574bea3d51 (diff) | |
download | go-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.go | 33 |
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", |