]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: simplify AMD64's assembly generator
authorBen Shi <powerman1st@163.com>
Tue, 18 Sep 2018 01:53:42 +0000 (01:53 +0000)
committerBen Shi <powerman1st@163.com>
Wed, 19 Sep 2018 01:35:46 +0000 (01:35 +0000)
AMD64's ADDQconstmodify/ADDLconstmodify have similar logic with
other constmodify like operators, but seperated case statements.
This CL simplify them with a fallthrough.

Change-Id: Ia73ffeaddc5080182f68c06c9d9b48fe32a14e38
Reviewed-on: https://go-review.googlesource.com/135855
Run-TryBot: Ben Shi <powerman1st@163.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/amd64/ssa.go

index 2afb556d80f40d03fbbcac62b180461003ff58c0..818bc359414ada452e84279fa753351ed0671444 100644 (file)
@@ -759,14 +759,9 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                        p.To.Type = obj.TYPE_MEM
                        p.To.Reg = v.Args[0].Reg()
                        gc.AddAux2(&p.To, v, off)
-               } else {
-                       p := s.Prog(v.Op.Asm())
-                       p.From.Type = obj.TYPE_CONST
-                       p.From.Offset = val
-                       p.To.Type = obj.TYPE_MEM
-                       p.To.Reg = v.Args[0].Reg()
-                       gc.AddAux2(&p.To, v, off)
+                       break
                }
+               fallthrough
        case ssa.OpAMD64ANDQconstmodify, ssa.OpAMD64ANDLconstmodify, ssa.OpAMD64ORQconstmodify, ssa.OpAMD64ORLconstmodify,
                ssa.OpAMD64XORQconstmodify, ssa.OpAMD64XORLconstmodify:
                sc := v.AuxValAndOff()