aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/opGen.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2020-01-07 13:41:02 -0800
committerJosh Bleecher Snyder <josharian@gmail.com>2020-02-20 18:37:38 +0000
commitf53f987ebffa5888f1affe5255af849331be2164 (patch)
tree682fdefec9b2d7c940eff99a70b82f384bff5914 /src/cmd/compile/internal/ssa/opGen.go
parentbd6d78ef37b5a607abfb530f3e353cfa653492f1 (diff)
downloadgo-f53f987ebffa5888f1affe5255af849331be2164.tar.gz
go-f53f987ebffa5888f1affe5255af849331be2164.zip
cmd/compile: merge more shifts into stores
Updates #36223 (Might fix #36223. I'm not sure whether there are more outstanding.) This helps a bit, but not as much as I'd expected/hoped. file before after Δ % runtime.s 477286 477256 -30 -0.006% bytes.s 31089 31085 -4 -0.013% time.s 83561 83547 -14 -0.017% strings.s 43284 43280 -4 -0.009% compress/flate.s 51374 51295 -79 -0.154% math/big.s 184283 184256 -27 -0.015% crypto/elliptic.s 51649 51577 -72 -0.139% crypto/sha512.s 8661 8644 -17 -0.196% crypto/sha1.s 6975 6959 -16 -0.229% crypto/sha256.s 6412 6393 -19 -0.296% vendor/golang.org/x/text/unicode/bidi.s 27158 27146 -12 -0.044% vendor/golang.org/x/text/unicode/norm.s 66802 66788 -14 -0.021% net/http.s 560936 560929 -7 -0.001% text/template.s 96475 96467 -8 -0.008% go/parser.s 80284 80280 -4 -0.005% text/tabwriter.s 9618 9611 -7 -0.073% go/printer.s 78502 78499 -3 -0.004% go/types.s 321815 321807 -8 -0.002% internal/xcoff.s 23175 23171 -4 -0.017% image/jpeg.s 36609 36587 -22 -0.060% cmd/vendor/golang.org/x/arch/x86/x86asm.s 81274 81001 -273 -0.336% cmd/internal/obj.s 115184 115126 -58 -0.050% cmd/internal/obj/arm64.s 151502 151487 -15 -0.010% cmd/internal/obj/s390x.s 128054 128046 -8 -0.006% cmd/internal/obj/wasm.s 44295 44291 -4 -0.009% cmd/compile/internal/ssa.s 4201992 4209504 +7512 +0.179% cmd/compile/internal/gc.s 1555029 1555011 -18 -0.001% total 9792875 9799640 +6765 +0.069% Change-Id: If4a857c0953a766578e68aa299b112a20d9b2b86 Reviewed-on: https://go-review.googlesource.com/c/go/+/213704 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/opGen.go')
-rw-r--r--src/cmd/compile/internal/ssa/opGen.go104
1 files changed, 56 insertions, 48 deletions
diff --git a/src/cmd/compile/internal/ssa/opGen.go b/src/cmd/compile/internal/ssa/opGen.go
index 8512661943..6e18f1933b 100644
--- a/src/cmd/compile/internal/ssa/opGen.go
+++ b/src/cmd/compile/internal/ssa/opGen.go
@@ -10969,12 +10969,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVBstoreidx1",
- auxType: auxSymOff,
- argLen: 4,
- symEffect: SymWrite,
- asm: x86.AMOVB,
- scale: 1,
+ name: "MOVBstoreidx1",
+ auxType: auxSymOff,
+ argLen: 4,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVB,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -10984,12 +10985,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVWstoreidx1",
- auxType: auxSymOff,
- argLen: 4,
- symEffect: SymWrite,
- asm: x86.AMOVW,
- scale: 1,
+ name: "MOVWstoreidx1",
+ auxType: auxSymOff,
+ argLen: 4,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVW,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11014,12 +11016,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVLstoreidx1",
- auxType: auxSymOff,
- argLen: 4,
- symEffect: SymWrite,
- asm: x86.AMOVL,
- scale: 1,
+ name: "MOVLstoreidx1",
+ auxType: auxSymOff,
+ argLen: 4,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVL,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11059,12 +11062,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVQstoreidx1",
- auxType: auxSymOff,
- argLen: 4,
- symEffect: SymWrite,
- asm: x86.AMOVQ,
- scale: 1,
+ name: "MOVQstoreidx1",
+ auxType: auxSymOff,
+ argLen: 4,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVQ,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11141,12 +11145,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVBstoreconstidx1",
- auxType: auxSymValAndOff,
- argLen: 3,
- symEffect: SymWrite,
- asm: x86.AMOVB,
- scale: 1,
+ name: "MOVBstoreconstidx1",
+ auxType: auxSymValAndOff,
+ argLen: 3,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVB,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11155,12 +11160,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVWstoreconstidx1",
- auxType: auxSymValAndOff,
- argLen: 3,
- symEffect: SymWrite,
- asm: x86.AMOVW,
- scale: 1,
+ name: "MOVWstoreconstidx1",
+ auxType: auxSymValAndOff,
+ argLen: 3,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVW,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11183,12 +11189,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVLstoreconstidx1",
- auxType: auxSymValAndOff,
- argLen: 3,
- symEffect: SymWrite,
- asm: x86.AMOVL,
- scale: 1,
+ name: "MOVLstoreconstidx1",
+ auxType: auxSymValAndOff,
+ argLen: 3,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVL,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15
@@ -11211,12 +11218,13 @@ var opcodeTable = [...]opInfo{
},
},
{
- name: "MOVQstoreconstidx1",
- auxType: auxSymValAndOff,
- argLen: 3,
- symEffect: SymWrite,
- asm: x86.AMOVQ,
- scale: 1,
+ name: "MOVQstoreconstidx1",
+ auxType: auxSymValAndOff,
+ argLen: 3,
+ commutative: true,
+ symEffect: SymWrite,
+ asm: x86.AMOVQ,
+ scale: 1,
reg: regInfo{
inputs: []inputInfo{
{1, 65535}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 R14 R15