diff options
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewriteAMD64.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewriteAMD64.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go index c104157cec..366eac0706 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go @@ -4326,7 +4326,7 @@ func rewriteValueAMD64_OpAMD64BTCLconst_0(v *Value) bool { return true } // match: (BTCLconst [c] (MOVLconst [d])) - // result: (MOVLconst [d^(1<<uint32(c))]) + // result: (MOVLconst [int64(int32(d^(1<<uint32(c))))]) for { c := v.AuxInt v_0 := v.Args[0] @@ -4335,7 +4335,7 @@ func rewriteValueAMD64_OpAMD64BTCLconst_0(v *Value) bool { } d := v_0.AuxInt v.reset(OpAMD64MOVLconst) - v.AuxInt = d ^ (1 << uint32(c)) + v.AuxInt = int64(int32(d ^ (1 << uint32(c)))) return true } return false @@ -4825,7 +4825,7 @@ func rewriteValueAMD64_OpAMD64BTRLconst_0(v *Value) bool { return true } // match: (BTRLconst [c] (MOVLconst [d])) - // result: (MOVLconst [d&^(1<<uint32(c))]) + // result: (MOVLconst [int64(int32(d&^(1<<uint32(c))))]) for { c := v.AuxInt v_0 := v.Args[0] @@ -4834,7 +4834,7 @@ func rewriteValueAMD64_OpAMD64BTRLconst_0(v *Value) bool { } d := v_0.AuxInt v.reset(OpAMD64MOVLconst) - v.AuxInt = d &^ (1 << uint32(c)) + v.AuxInt = int64(int32(d &^ (1 << uint32(c)))) return true } return false @@ -5181,7 +5181,7 @@ func rewriteValueAMD64_OpAMD64BTSLconst_0(v *Value) bool { return true } // match: (BTSLconst [c] (MOVLconst [d])) - // result: (MOVLconst [d|(1<<uint32(c))]) + // result: (MOVLconst [int64(int32(d|(1<<uint32(c))))]) for { c := v.AuxInt v_0 := v.Args[0] @@ -5190,7 +5190,7 @@ func rewriteValueAMD64_OpAMD64BTSLconst_0(v *Value) bool { } d := v_0.AuxInt v.reset(OpAMD64MOVLconst) - v.AuxInt = d | (1 << uint32(c)) + v.AuxInt = int64(int32(d | (1 << uint32(c)))) return true } return false |