(MOVLstoreconstidx1 [c] {sym} ptr (SHLLconst [2] idx) mem) -> (MOVLstoreconstidx4 [c] {sym} ptr idx mem)
// combine ADDL into indexed loads and stores
-(MOVBloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVBloadidx1 [c+d] {sym} ptr idx mem)
-(MOVWloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVWloadidx1 [c+d] {sym} ptr idx mem)
-(MOVWloadidx2 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVWloadidx2 [c+d] {sym} ptr idx mem)
-(MOVLloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVLloadidx1 [c+d] {sym} ptr idx mem)
-(MOVLloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVLloadidx4 [c+d] {sym} ptr idx mem)
-(MOVSSloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSSloadidx1 [c+d] {sym} ptr idx mem)
-(MOVSSloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSSloadidx4 [c+d] {sym} ptr idx mem)
-(MOVSDloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSDloadidx1 [c+d] {sym} ptr idx mem)
-(MOVSDloadidx8 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSDloadidx8 [c+d] {sym} ptr idx mem)
-
-(MOVBstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVWstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVWstoreidx2 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVWstoreidx2 [c+d] {sym} ptr idx val mem)
-(MOVLstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVLstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVLstoreidx4 [c+d] {sym} ptr idx val mem)
-(MOVSSstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSSstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVSSstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSSstoreidx4 [c+d] {sym} ptr idx val mem)
-(MOVSDstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSDstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVSDstoreidx8 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSDstoreidx8 [c+d] {sym} ptr idx val mem)
-
-(MOVBloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVBloadidx1 [c+d] {sym} ptr idx mem)
-(MOVWloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVWloadidx1 [c+d] {sym} ptr idx mem)
-(MOVWloadidx2 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVWloadidx2 [c+2*d] {sym} ptr idx mem)
-(MOVLloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVLloadidx1 [c+d] {sym} ptr idx mem)
-(MOVLloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVLloadidx4 [c+4*d] {sym} ptr idx mem)
-(MOVSSloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSSloadidx1 [c+d] {sym} ptr idx mem)
-(MOVSSloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSSloadidx4 [c+4*d] {sym} ptr idx mem)
-(MOVSDloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSDloadidx1 [c+d] {sym} ptr idx mem)
-(MOVSDloadidx8 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSDloadidx8 [c+8*d] {sym} ptr idx mem)
-
-(MOVBstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVWstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVWstoreidx2 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVWstoreidx2 [c+2*d] {sym} ptr idx val mem)
-(MOVLstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVLstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVLstoreidx4 [c+4*d] {sym} ptr idx val mem)
-(MOVSSstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSSstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVSSstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSSstoreidx4 [c+4*d] {sym} ptr idx val mem)
-(MOVSDstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSDstoreidx1 [c+d] {sym} ptr idx val mem)
-(MOVSDstoreidx8 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSDstoreidx8 [c+8*d] {sym} ptr idx val mem)
+(MOVBloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVWloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVWloadidx2 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVWloadidx2 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVLloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVLloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVLloadidx4 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSSloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSSloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSSloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSSloadidx4 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSDloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSDloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSDloadidx8 [c] {sym} (ADDLconst [d] ptr) idx mem) -> (MOVSDloadidx8 [int64(int32(c+d))] {sym} ptr idx mem)
+
+(MOVBstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVWstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVWstoreidx2 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVWstoreidx2 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVLstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVLstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVLstoreidx4 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSSstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSSstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSSstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSSstoreidx4 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSDstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSDstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSDstoreidx8 [c] {sym} (ADDLconst [d] ptr) idx val mem) -> (MOVSDstoreidx8 [int64(int32(c+d))] {sym} ptr idx val mem)
+
+(MOVBloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVWloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVWloadidx2 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVWloadidx2 [int64(int32(c+2*d))] {sym} ptr idx mem)
+(MOVLloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVLloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVLloadidx4 [int64(int32(c+4*d))] {sym} ptr idx mem)
+(MOVSSloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSSloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSSloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSSloadidx4 [int64(int32(c+4*d))] {sym} ptr idx mem)
+(MOVSDloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSDloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
+(MOVSDloadidx8 [c] {sym} ptr (ADDLconst [d] idx) mem) -> (MOVSDloadidx8 [int64(int32(c+8*d))] {sym} ptr idx mem)
+
+(MOVBstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVWstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVWstoreidx2 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVWstoreidx2 [int64(int32(c+2*d))] {sym} ptr idx val mem)
+(MOVLstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVLstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVLstoreidx4 [int64(int32(c+4*d))] {sym} ptr idx val mem)
+(MOVSSstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSSstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSSstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSSstoreidx4 [int64(int32(c+4*d))] {sym} ptr idx val mem)
+(MOVSDstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSDstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
+(MOVSDstoreidx8 [c] {sym} ptr (ADDLconst [d] idx) val mem) -> (MOVSDstoreidx8 [int64(int32(c+8*d))] {sym} ptr idx val mem)
(MOVBstoreconstidx1 [x] {sym} (ADDLconst [c] ptr) idx mem) ->
(MOVBstoreconstidx1 [ValAndOff(x).add(c)] {sym} ptr idx mem)
func rewriteValue386_Op386MOVBloadidx1_0(v *Value) bool {
// match: (MOVBloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVBloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVBloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBloadidx1 [c] {sym} idx (ADDLconst [d] ptr) mem)
// cond:
- // result: (MOVBloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVBloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVBloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVBloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBloadidx1 [c] {sym} (ADDLconst [d] idx) ptr mem)
// cond:
- // result: (MOVBloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVBloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVBloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVBstoreidx1_0(v *Value) bool {
// match: (MOVBstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVBstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBstoreidx1 [c] {sym} idx (ADDLconst [d] ptr) val mem)
// cond:
- // result: (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVBstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVBstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVBstoreidx1 [c] {sym} (ADDLconst [d] idx) ptr val mem)
// cond:
- // result: (MOVBstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVBstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVBstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVLloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVLloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLloadidx1 [c] {sym} idx (ADDLconst [d] ptr) mem)
// cond:
- // result: (MOVLloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVLloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVLloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVLloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLloadidx1 [c] {sym} (ADDLconst [d] idx) ptr mem)
// cond:
- // result: (MOVLloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVLloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVLloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVLloadidx4_0(v *Value) bool {
// match: (MOVLloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVLloadidx4 [c+d] {sym} ptr idx mem)
+ // result: (MOVLloadidx4 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVLloadidx4)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVLloadidx4 [c+4*d] {sym} ptr idx mem)
+ // result: (MOVLloadidx4 [int64(int32(c+4*d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVLloadidx4)
- v.AuxInt = c + 4*d
+ v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLstoreidx1 [c] {sym} idx (ADDLconst [d] ptr) val mem)
// cond:
- // result: (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLstoreidx1 [c] {sym} (ADDLconst [d] idx) ptr val mem)
// cond:
- // result: (MOVLstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVLstoreidx4_0(v *Value) bool {
// match: (MOVLstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVLstoreidx4 [c+d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx4 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx4)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVLstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVLstoreidx4 [c+4*d] {sym} ptr idx val mem)
+ // result: (MOVLstoreidx4 [int64(int32(c+4*d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVLstoreidx4)
- v.AuxInt = c + 4*d
+ v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSDloadidx1_0(v *Value) bool {
// match: (MOVSDloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVSDloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVSDloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVSDloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSDloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVSDloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVSDloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVSDloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSDloadidx8_0(v *Value) bool {
// match: (MOVSDloadidx8 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVSDloadidx8 [c+d] {sym} ptr idx mem)
+ // result: (MOVSDloadidx8 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVSDloadidx8)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSDloadidx8 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVSDloadidx8 [c+8*d] {sym} ptr idx mem)
+ // result: (MOVSDloadidx8 [int64(int32(c+8*d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVSDloadidx8)
- v.AuxInt = c + 8*d
+ v.AuxInt = int64(int32(c + 8*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSDstoreidx1_0(v *Value) bool {
// match: (MOVSDstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVSDstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSDstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSDstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSDstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVSDstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSDstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSDstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSDstoreidx8_0(v *Value) bool {
// match: (MOVSDstoreidx8 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVSDstoreidx8 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSDstoreidx8 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSDstoreidx8)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSDstoreidx8 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVSDstoreidx8 [c+8*d] {sym} ptr idx val mem)
+ // result: (MOVSDstoreidx8 [int64(int32(c+8*d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSDstoreidx8)
- v.AuxInt = c + 8*d
+ v.AuxInt = int64(int32(c + 8*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSSloadidx1_0(v *Value) bool {
// match: (MOVSSloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVSSloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVSSloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVSSloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSSloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVSSloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVSSloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVSSloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSSloadidx4_0(v *Value) bool {
// match: (MOVSSloadidx4 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVSSloadidx4 [c+d] {sym} ptr idx mem)
+ // result: (MOVSSloadidx4 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVSSloadidx4)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSSloadidx4 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVSSloadidx4 [c+4*d] {sym} ptr idx mem)
+ // result: (MOVSSloadidx4 [int64(int32(c+4*d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVSSloadidx4)
- v.AuxInt = c + 4*d
+ v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSSstoreidx1_0(v *Value) bool {
// match: (MOVSSstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVSSstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSSstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSSstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSSstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVSSstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSSstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSSstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVSSstoreidx4_0(v *Value) bool {
// match: (MOVSSstoreidx4 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVSSstoreidx4 [c+d] {sym} ptr idx val mem)
+ // result: (MOVSSstoreidx4 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSSstoreidx4)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVSSstoreidx4 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVSSstoreidx4 [c+4*d] {sym} ptr idx val mem)
+ // result: (MOVSSstoreidx4 [int64(int32(c+4*d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVSSstoreidx4)
- v.AuxInt = c + 4*d
+ v.AuxInt = int64(int32(c + 4*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWloadidx1 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVWloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVWloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWloadidx1 [c] {sym} idx (ADDLconst [d] ptr) mem)
// cond:
- // result: (MOVWloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVWloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWloadidx1 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVWloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVWloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWloadidx1 [c] {sym} (ADDLconst [d] idx) ptr mem)
// cond:
- // result: (MOVWloadidx1 [c+d] {sym} ptr idx mem)
+ // result: (MOVWloadidx1 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
ptr := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVWloadidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
func rewriteValue386_Op386MOVWloadidx2_0(v *Value) bool {
// match: (MOVWloadidx2 [c] {sym} (ADDLconst [d] ptr) idx mem)
// cond:
- // result: (MOVWloadidx2 [c+d] {sym} ptr idx mem)
+ // result: (MOVWloadidx2 [int64(int32(c+d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v.Args[1]
mem := v.Args[2]
v.reset(Op386MOVWloadidx2)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWloadidx2 [c] {sym} ptr (ADDLconst [d] idx) mem)
// cond:
- // result: (MOVWloadidx2 [c+2*d] {sym} ptr idx mem)
+ // result: (MOVWloadidx2 [int64(int32(c+2*d))] {sym} ptr idx mem)
for {
c := v.AuxInt
sym := v.Aux
idx := v_1.Args[0]
mem := v.Args[2]
v.reset(Op386MOVWloadidx2)
- v.AuxInt = c + 2*d
+ v.AuxInt = int64(int32(c + 2*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWstoreidx1 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWstoreidx1 [c] {sym} idx (ADDLconst [d] ptr) val mem)
// cond:
- // result: (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWstoreidx1 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWstoreidx1 [c] {sym} (ADDLconst [d] idx) ptr val mem)
// cond:
- // result: (MOVWstoreidx1 [c+d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx1 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx1)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
_ = b
// match: (MOVWstoreidx2 [c] {sym} (ADDLconst [d] ptr) idx val mem)
// cond:
- // result: (MOVWstoreidx2 [c+d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx2 [int64(int32(c+d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx2)
- v.AuxInt = c + d
+ v.AuxInt = int64(int32(c + d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)
}
// match: (MOVWstoreidx2 [c] {sym} ptr (ADDLconst [d] idx) val mem)
// cond:
- // result: (MOVWstoreidx2 [c+2*d] {sym} ptr idx val mem)
+ // result: (MOVWstoreidx2 [int64(int32(c+2*d))] {sym} ptr idx val mem)
for {
c := v.AuxInt
sym := v.Aux
val := v.Args[2]
mem := v.Args[3]
v.reset(Op386MOVWstoreidx2)
- v.AuxInt = c + 2*d
+ v.AuxInt = int64(int32(c + 2*d))
v.Aux = sym
v.AddArg(ptr)
v.AddArg(idx)