]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/arm: merge cases in ssaGenValue
authorTobias Klauser <tklauser@distanz.ch>
Fri, 12 Apr 2019 12:03:39 +0000 (14:03 +0200)
committerTobias Klauser <tobias.klauser@gmail.com>
Sat, 13 Apr 2019 17:08:29 +0000 (17:08 +0000)
Merge case statement for OpARMSLL, OpARMSRL and OpARMSRA into an
existing one using the same logic.

Change-Id: Ic4224668228902e5188fb0559b5f1949cfea1381
Reviewed-on: https://go-review.googlesource.com/c/go/+/171724
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/arm/ssa.go

index ee9c9f1c3fc3fda9d54eb94f9f93de49b699a523..16752977a8b3634f644460186a2ca5b5962d35fe 100644 (file)
@@ -206,6 +206,9 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                ssa.OpARMADDD,
                ssa.OpARMSUBF,
                ssa.OpARMSUBD,
+               ssa.OpARMSLL,
+               ssa.OpARMSRL,
+               ssa.OpARMSRA,
                ssa.OpARMMULF,
                ssa.OpARMMULD,
                ssa.OpARMNMULF,
@@ -247,18 +250,6 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                p.Reg = r1
                p.To.Type = obj.TYPE_REG
                p.To.Reg = r
-       case ssa.OpARMSLL,
-               ssa.OpARMSRL,
-               ssa.OpARMSRA:
-               r := v.Reg()
-               r1 := v.Args[0].Reg()
-               r2 := v.Args[1].Reg()
-               p := s.Prog(v.Op.Asm())
-               p.From.Type = obj.TYPE_REG
-               p.From.Reg = r2
-               p.Reg = r1
-               p.To.Type = obj.TYPE_REG
-               p.To.Reg = r
        case ssa.OpARMSRAcond:
                // ARM shift instructions uses only the low-order byte of the shift amount
                // generate conditional instructions to deal with large shifts