// license that can be found in the LICENSE file.
// Lowering arithmetic
-(Add(64|32|16|8) ...) -> (ADD(Q|L|L|L) ...)
-(AddPtr ...) -> (ADDQ ...)
-(Add(32|64)F ...) -> (ADDS(S|D) ...)
+(Add(64|32|16|8) ...) => (ADD(Q|L|L|L) ...)
+(AddPtr ...) => (ADDQ ...)
+(Add(32|64)F ...) => (ADDS(S|D) ...)
-(Sub(64|32|16|8) ...) -> (SUB(Q|L|L|L) ...)
-(SubPtr ...) -> (SUBQ ...)
-(Sub(32|64)F ...) -> (SUBS(S|D) ...)
+(Sub(64|32|16|8) ...) => (SUB(Q|L|L|L) ...)
+(SubPtr ...) => (SUBQ ...)
+(Sub(32|64)F ...) => (SUBS(S|D) ...)
-(Mul(64|32|16|8) ...) -> (MUL(Q|L|L|L) ...)
-(Mul(32|64)F ...) -> (MULS(S|D) ...)
+(Mul(64|32|16|8) ...) => (MUL(Q|L|L|L) ...)
+(Mul(32|64)F ...) => (MULS(S|D) ...)
-(Select0 (Mul64uover x y)) -> (Select0 <typ.UInt64> (MULQU x y))
-(Select0 (Mul32uover x y)) -> (Select0 <typ.UInt32> (MULLU x y))
-(Select1 (Mul(64|32)uover x y)) -> (SETO (Select1 <types.TypeFlags> (MUL(Q|L)U x y)))
+(Select0 (Mul64uover x y)) => (Select0 <typ.UInt64> (MULQU x y))
+(Select0 (Mul32uover x y)) => (Select0 <typ.UInt32> (MULLU x y))
+(Select1 (Mul(64|32)uover x y)) => (SETO (Select1 <types.TypeFlags> (MUL(Q|L)U x y)))
-(Hmul(64|32) ...) -> (HMUL(Q|L) ...)
-(Hmul(64|32)u ...) -> (HMUL(Q|L)U ...)
+(Hmul(64|32) ...) => (HMUL(Q|L) ...)
+(Hmul(64|32)u ...) => (HMUL(Q|L)U ...)
-(Div(64|32|16) [a] x y) -> (Select0 (DIV(Q|L|W) [a] x y))
-(Div8 x y) -> (Select0 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
-(Div(64|32|16)u x y) -> (Select0 (DIV(Q|L|W)U x y))
-(Div8u x y) -> (Select0 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
-(Div(32|64)F ...) -> (DIVS(S|D) ...)
+(Div(64|32|16) [a] x y) => (Select0 (DIV(Q|L|W) [a] x y))
+(Div8 x y) => (Select0 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
+(Div(64|32|16)u x y) => (Select0 (DIV(Q|L|W)U x y))
+(Div8u x y) => (Select0 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
+(Div(32|64)F ...) => (DIVS(S|D) ...)
-(Select0 (Add64carry x y c)) ->
+(Select0 (Add64carry x y c)) =>
(Select0 <typ.UInt64> (ADCQ x y (Select1 <types.TypeFlags> (NEGLflags c))))
-(Select1 (Add64carry x y c)) ->
+(Select1 (Add64carry x y c)) =>
(NEGQ <typ.UInt64> (SBBQcarrymask <typ.UInt64> (Select1 <types.TypeFlags> (ADCQ x y (Select1 <types.TypeFlags> (NEGLflags c))))))
-(Select0 (Sub64borrow x y c)) ->
+(Select0 (Sub64borrow x y c)) =>
(Select0 <typ.UInt64> (SBBQ x y (Select1 <types.TypeFlags> (NEGLflags c))))
-(Select1 (Sub64borrow x y c)) ->
+(Select1 (Sub64borrow x y c)) =>
(NEGQ <typ.UInt64> (SBBQcarrymask <typ.UInt64> (Select1 <types.TypeFlags> (SBBQ x y (Select1 <types.TypeFlags> (NEGLflags c))))))
// Optimize ADCQ and friends
-(ADCQ x (MOVQconst [c]) carry) && is32Bit(c) -> (ADCQconst x [c] carry)
-(ADCQ x y (FlagEQ)) -> (ADDQcarry x y)
-(ADCQconst x [c] (FlagEQ)) -> (ADDQconstcarry x [c])
-(ADDQcarry x (MOVQconst [c])) && is32Bit(c) -> (ADDQconstcarry x [c])
-(SBBQ x (MOVQconst [c]) borrow) && is32Bit(c) -> (SBBQconst x [c] borrow)
-(SBBQ x y (FlagEQ)) -> (SUBQborrow x y)
-(SBBQconst x [c] (FlagEQ)) -> (SUBQconstborrow x [c])
-(SUBQborrow x (MOVQconst [c])) && is32Bit(c) -> (SUBQconstborrow x [c])
-(Select1 (NEGLflags (MOVQconst [0]))) -> (FlagEQ)
-(Select1 (NEGLflags (NEGQ (SBBQcarrymask x)))) -> x
+(ADCQ x (MOVQconst [c]) carry) && is32Bit(c) => (ADCQconst x [int32(c)] carry)
+(ADCQ x y (FlagEQ)) => (ADDQcarry x y)
+(ADCQconst x [c] (FlagEQ)) => (ADDQconstcarry x [c])
+(ADDQcarry x (MOVQconst [c])) && is32Bit(c) => (ADDQconstcarry x [int32(c)])
+(SBBQ x (MOVQconst [c]) borrow) && is32Bit(c) => (SBBQconst x [int32(c)] borrow)
+(SBBQ x y (FlagEQ)) => (SUBQborrow x y)
+(SBBQconst x [c] (FlagEQ)) => (SUBQconstborrow x [c])
+(SUBQborrow x (MOVQconst [c])) && is32Bit(c) => (SUBQconstborrow x [int32(c)])
+(Select1 (NEGLflags (MOVQconst [0]))) => (FlagEQ)
+(Select1 (NEGLflags (NEGQ (SBBQcarrymask x)))) => x
-(Mul64uhilo ...) -> (MULQU2 ...)
-(Div128u ...) -> (DIVQU2 ...)
+(Mul64uhilo ...) => (MULQU2 ...)
+(Div128u ...) => (DIVQU2 ...)
-(Avg64u ...) -> (AVGQU ...)
+(Avg64u ...) => (AVGQU ...)
-(Mod(64|32|16) [a] x y) -> (Select1 (DIV(Q|L|W) [a] x y))
-(Mod8 x y) -> (Select1 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
-(Mod(64|32|16)u x y) -> (Select1 (DIV(Q|L|W)U x y))
-(Mod8u x y) -> (Select1 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
+(Mod(64|32|16) [a] x y) => (Select1 (DIV(Q|L|W) [a] x y))
+(Mod8 x y) => (Select1 (DIVW (SignExt8to16 x) (SignExt8to16 y)))
+(Mod(64|32|16)u x y) => (Select1 (DIV(Q|L|W)U x y))
+(Mod8u x y) => (Select1 (DIVWU (ZeroExt8to16 x) (ZeroExt8to16 y)))
-(And(64|32|16|8) ...) -> (AND(Q|L|L|L) ...)
-(Or(64|32|16|8) ...) -> (OR(Q|L|L|L) ...)
-(Xor(64|32|16|8) ...) -> (XOR(Q|L|L|L) ...)
-(Com(64|32|16|8) ...) -> (NOT(Q|L|L|L) ...)
+(And(64|32|16|8) ...) => (AND(Q|L|L|L) ...)
+(Or(64|32|16|8) ...) => (OR(Q|L|L|L) ...)
+(Xor(64|32|16|8) ...) => (XOR(Q|L|L|L) ...)
+(Com(64|32|16|8) ...) => (NOT(Q|L|L|L) ...)
-(Neg(64|32|16|8) ...) -> (NEG(Q|L|L|L) ...)
-(Neg32F x) -> (PXOR x (MOVSSconst <typ.Float32> [auxFrom32F(float32(math.Copysign(0, -1)))]))
-(Neg64F x) -> (PXOR x (MOVSDconst <typ.Float64> [auxFrom64F(math.Copysign(0, -1))]))
+(Neg(64|32|16|8) ...) => (NEG(Q|L|L|L) ...)
+(Neg32F x) => (PXOR x (MOVSSconst <typ.Float32> [float32(math.Copysign(0, -1))]))
+(Neg64F x) => (PXOR x (MOVSDconst <typ.Float64> [math.Copysign(0, -1)]))
// Lowering boolean ops
-(AndB ...) -> (ANDL ...)
-(OrB ...) -> (ORL ...)
-(Not x) -> (XORLconst [1] x)
+(AndB ...) => (ANDL ...)
+(OrB ...) => (ORL ...)
+(Not x) => (XORLconst [1] x)
// Lowering pointer arithmetic
-(OffPtr [off] ptr) && is32Bit(off) -> (ADDQconst [off] ptr)
-(OffPtr [off] ptr) -> (ADDQ (MOVQconst [off]) ptr)
+(OffPtr [off] ptr) && is32Bit(off) => (ADDQconst [int32(off)] ptr)
+(OffPtr [off] ptr) => (ADDQ (MOVQconst [off]) ptr)
// Lowering other arithmetic
-(Ctz64 <t> x) -> (CMOVQEQ (Select0 <t> (BSFQ x)) (MOVQconst <t> [64]) (Select1 <types.TypeFlags> (BSFQ x)))
-(Ctz32 x) -> (Select0 (BSFQ (BTSQconst <typ.UInt64> [32] x)))
-(Ctz16 x) -> (BSFL (BTSLconst <typ.UInt32> [16] x))
-(Ctz8 x) -> (BSFL (BTSLconst <typ.UInt32> [ 8] x))
+(Ctz64 <t> x) => (CMOVQEQ (Select0 <t> (BSFQ x)) (MOVQconst <t> [64]) (Select1 <types.TypeFlags> (BSFQ x)))
+(Ctz32 x) => (Select0 (BSFQ (BTSQconst <typ.UInt64> [32] x)))
+(Ctz16 x) => (BSFL (BTSLconst <typ.UInt32> [16] x))
+(Ctz8 x) => (BSFL (BTSLconst <typ.UInt32> [ 8] x))
-(Ctz64NonZero x) -> (Select0 (BSFQ x))
-(Ctz32NonZero ...) -> (BSFL ...)
-(Ctz16NonZero ...) -> (BSFL ...)
-(Ctz8NonZero ...) -> (BSFL ...)
+(Ctz64NonZero x) => (Select0 (BSFQ x))
+(Ctz32NonZero ...) => (BSFL ...)
+(Ctz16NonZero ...) => (BSFL ...)
+(Ctz8NonZero ...) => (BSFL ...)
// BitLen64 of a 64 bit value x requires checking whether x == 0, since BSRQ is undefined when x == 0.
// However, for zero-extended values, we can cheat a bit, and calculate
// BSR(x<<1 + 1), which is guaranteed to be non-zero, and which conveniently
// places the index of the highest set bit where we want it.
-(BitLen64 <t> x) -> (ADDQconst [1] (CMOVQEQ <t> (Select0 <t> (BSRQ x)) (MOVQconst <t> [-1]) (Select1 <types.TypeFlags> (BSRQ x))))
-(BitLen32 x) -> (Select0 (BSRQ (LEAQ1 <typ.UInt64> [1] (MOVLQZX <typ.UInt64> x) (MOVLQZX <typ.UInt64> x))))
-(BitLen16 x) -> (BSRL (LEAL1 <typ.UInt32> [1] (MOVWQZX <typ.UInt32> x) (MOVWQZX <typ.UInt32> x)))
-(BitLen8 x) -> (BSRL (LEAL1 <typ.UInt32> [1] (MOVBQZX <typ.UInt32> x) (MOVBQZX <typ.UInt32> x)))
+(BitLen64 <t> x) => (ADDQconst [1] (CMOVQEQ <t> (Select0 <t> (BSRQ x)) (MOVQconst <t> [-1]) (Select1 <types.TypeFlags> (BSRQ x))))
+(BitLen32 x) => (Select0 (BSRQ (LEAQ1 <typ.UInt64> [1] (MOVLQZX <typ.UInt64> x) (MOVLQZX <typ.UInt64> x))))
+(BitLen16 x) => (BSRL (LEAL1 <typ.UInt32> [1] (MOVWQZX <typ.UInt32> x) (MOVWQZX <typ.UInt32> x)))
+(BitLen8 x) => (BSRL (LEAL1 <typ.UInt32> [1] (MOVBQZX <typ.UInt32> x) (MOVBQZX <typ.UInt32> x)))
-(Bswap(64|32) ...) -> (BSWAP(Q|L) ...)
+(Bswap(64|32) ...) => (BSWAP(Q|L) ...)
-(PopCount(64|32) ...) -> (POPCNT(Q|L) ...)
-(PopCount16 x) -> (POPCNTL (MOVWQZX <typ.UInt32> x))
-(PopCount8 x) -> (POPCNTL (MOVBQZX <typ.UInt32> x))
+(PopCount(64|32) ...) => (POPCNT(Q|L) ...)
+(PopCount16 x) => (POPCNTL (MOVWQZX <typ.UInt32> x))
+(PopCount8 x) => (POPCNTL (MOVBQZX <typ.UInt32> x))
-(Sqrt ...) -> (SQRTSD ...)
+(Sqrt ...) => (SQRTSD ...)
-(RoundToEven x) -> (ROUNDSD [0] x)
-(Floor x) -> (ROUNDSD [1] x)
-(Ceil x) -> (ROUNDSD [2] x)
-(Trunc x) -> (ROUNDSD [3] x)
-(FMA x y z) -> (VFMADD231SD z x y)
+(RoundToEven x) => (ROUNDSD [0] x)
+(Floor x) => (ROUNDSD [1] x)
+(Ceil x) => (ROUNDSD [2] x)
+(Trunc x) => (ROUNDSD [3] x)
+
+(FMA x y z) => (VFMADD231SD z x y)
// Lowering extension
// Note: we always extend to 64 bits even though some ops don't need that many result bits.
v_0 := v.Args[0]
// match: (ADCQ x (MOVQconst [c]) carry)
// cond: is32Bit(c)
- // result: (ADCQconst x [c] carry)
+ // result: (ADCQconst x [int32(c)] carry)
for {
for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
x := v_0
if v_1.Op != OpAMD64MOVQconst {
continue
}
- c := v_1.AuxInt
+ c := auxIntToInt64(v_1.AuxInt)
carry := v_2
if !(is32Bit(c)) {
continue
}
v.reset(OpAMD64ADCQconst)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(int32(c))
v.AddArg2(x, carry)
return true
}
// match: (ADCQconst x [c] (FlagEQ))
// result: (ADDQconstcarry x [c])
for {
- c := v.AuxInt
+ c := auxIntToInt32(v.AuxInt)
x := v_0
if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64ADDQconstcarry)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(c)
v.AddArg(x)
return true
}
v_0 := v.Args[0]
// match: (ADDQcarry x (MOVQconst [c]))
// cond: is32Bit(c)
- // result: (ADDQconstcarry x [c])
+ // result: (ADDQconstcarry x [int32(c)])
for {
for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
x := v_0
if v_1.Op != OpAMD64MOVQconst {
continue
}
- c := v_1.AuxInt
+ c := auxIntToInt64(v_1.AuxInt)
if !(is32Bit(c)) {
continue
}
v.reset(OpAMD64ADDQconstcarry)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(int32(c))
v.AddArg(x)
return true
}
break
}
off := auxIntToInt32(l.AuxInt)
- sym, _ := l.Aux.(Sym)
+ sym := auxToSym(l.Aux)
mem := l.Args[1]
ptr := l.Args[0]
if !(l.Uses == 1 && clobber(l)) {
b = l.Block
v0 := b.NewValue0(l.Pos, OpAMD64CMPBconstload, types.TypeFlags)
v.copyOf(v0)
- var _auxint ValAndOff = makeValAndOff32(int32(c), off)
- v0.AuxInt = ValAndOffToAuxInt(_auxint)
- var _aux Sym = sym
- v0.Aux = _aux
+ v0.AuxInt = valAndOffToAuxInt(makeValAndOff32(int32(c), off))
+ v0.Aux = symToAux(sym)
v0.AddArg2(ptr, mem)
return true
}
break
}
off := auxIntToInt32(l.AuxInt)
- sym, _ := l.Aux.(Sym)
+ sym := auxToSym(l.Aux)
mem := l.Args[1]
ptr := l.Args[0]
if !(l.Uses == 1 && clobber(l)) {
b = l.Block
v0 := b.NewValue0(l.Pos, OpAMD64CMPLconstload, types.TypeFlags)
v.copyOf(v0)
- var _auxint ValAndOff = makeValAndOff32(c, off)
- v0.AuxInt = ValAndOffToAuxInt(_auxint)
- var _aux Sym = sym
- v0.Aux = _aux
+ v0.AuxInt = valAndOffToAuxInt(makeValAndOff32(c, off))
+ v0.Aux = symToAux(sym)
v0.AddArg2(ptr, mem)
return true
}
break
}
off := auxIntToInt32(l.AuxInt)
- sym, _ := l.Aux.(Sym)
+ sym := auxToSym(l.Aux)
mem := l.Args[1]
ptr := l.Args[0]
if !(l.Uses == 1 && clobber(l)) {
b = l.Block
v0 := b.NewValue0(l.Pos, OpAMD64CMPQconstload, types.TypeFlags)
v.copyOf(v0)
- var _auxint ValAndOff = makeValAndOff32(c, off)
- v0.AuxInt = ValAndOffToAuxInt(_auxint)
- var _aux Sym = sym
- v0.Aux = _aux
+ v0.AuxInt = valAndOffToAuxInt(makeValAndOff32(c, off))
+ v0.Aux = symToAux(sym)
v0.AddArg2(ptr, mem)
return true
}
break
}
off := auxIntToInt32(l.AuxInt)
- sym, _ := l.Aux.(Sym)
+ sym := auxToSym(l.Aux)
mem := l.Args[1]
ptr := l.Args[0]
if !(l.Uses == 1 && clobber(l)) {
b = l.Block
v0 := b.NewValue0(l.Pos, OpAMD64CMPWconstload, types.TypeFlags)
v.copyOf(v0)
- var _auxint ValAndOff = makeValAndOff32(int32(c), off)
- v0.AuxInt = ValAndOffToAuxInt(_auxint)
- var _aux Sym = sym
- v0.Aux = _aux
+ v0.AuxInt = valAndOffToAuxInt(makeValAndOff32(int32(c), off))
+ v0.Aux = symToAux(sym)
v0.AddArg2(ptr, mem)
return true
}
v_0 := v.Args[0]
// match: (SBBQ x (MOVQconst [c]) borrow)
// cond: is32Bit(c)
- // result: (SBBQconst x [c] borrow)
+ // result: (SBBQconst x [int32(c)] borrow)
for {
x := v_0
if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v_1.AuxInt
+ c := auxIntToInt64(v_1.AuxInt)
borrow := v_2
if !(is32Bit(c)) {
break
}
v.reset(OpAMD64SBBQconst)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(int32(c))
v.AddArg2(x, borrow)
return true
}
// match: (SBBQconst x [c] (FlagEQ))
// result: (SUBQconstborrow x [c])
for {
- c := v.AuxInt
+ c := auxIntToInt32(v.AuxInt)
x := v_0
if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64SUBQconstborrow)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(c)
v.AddArg(x)
return true
}
v_0 := v.Args[0]
// match: (SUBQborrow x (MOVQconst [c]))
// cond: is32Bit(c)
- // result: (SUBQconstborrow x [c])
+ // result: (SUBQconstborrow x [int32(c)])
for {
x := v_0
if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v_1.AuxInt
+ c := auxIntToInt64(v_1.AuxInt)
if !(is32Bit(c)) {
break
}
v.reset(OpAMD64SUBQconstborrow)
- v.AuxInt = c
+ v.AuxInt = int32ToAuxInt(int32(c))
v.AddArg(x)
return true
}
x := v_0
v.reset(OpAMD64BSRL)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL1, typ.UInt32)
- v0.AuxInt = 1
+ v0.AuxInt = int32ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
v1.AddArg(x)
v2 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v1 := b.NewValue0(v.Pos, OpAMD64LEAQ1, typ.UInt64)
- v1.AuxInt = 1
+ v1.AuxInt = int32ToAuxInt(1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
v2.AddArg(x)
v3 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
t := v.Type
x := v_0
v.reset(OpAMD64ADDQconst)
- v.AuxInt = 1
+ v.AuxInt = int32ToAuxInt(1)
v0 := b.NewValue0(v.Pos, OpAMD64CMOVQEQ, t)
v1 := b.NewValue0(v.Pos, OpSelect0, t)
v2 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v2.AddArg(x)
v1.AddArg(v2)
v3 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
- v3.AuxInt = -1
+ v3.AuxInt = int64ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v5 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v5.AddArg(x)
x := v_0
v.reset(OpAMD64BSRL)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL1, typ.UInt32)
- v0.AuxInt = 1
+ v0.AuxInt = int32ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
v1.AddArg(x)
v2 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
for {
x := v_0
v.reset(OpAMD64ROUNDSD)
- v.AuxInt = 2
+ v.AuxInt = int8ToAuxInt(2)
v.AddArg(x)
return true
}
x := v_0
v.reset(OpAMD64BSFL)
v0 := b.NewValue0(v.Pos, OpAMD64BTSLconst, typ.UInt32)
- v0.AuxInt = 16
+ v0.AuxInt = int8ToAuxInt(16)
v0.AddArg(x)
v.AddArg(v0)
return true
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v1 := b.NewValue0(v.Pos, OpAMD64BTSQconst, typ.UInt64)
- v1.AuxInt = 32
+ v1.AuxInt = int8ToAuxInt(32)
v1.AddArg(x)
v0.AddArg(v1)
v.AddArg(v0)
v1.AddArg(x)
v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
- v2.AuxInt = 64
+ v2.AuxInt = int64ToAuxInt(64)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
v4 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags))
v4.AddArg(x)
x := v_0
v.reset(OpAMD64BSFL)
v0 := b.NewValue0(v.Pos, OpAMD64BTSLconst, typ.UInt32)
- v0.AuxInt = 8
+ v0.AuxInt = int8ToAuxInt(8)
v0.AddArg(x)
v.AddArg(v0)
return true
// match: (Div16 [a] x y)
// result: (Select0 (DIVW [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
// match: (Div32 [a] x y)
// result: (Select0 (DIVL [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
// match: (Div64 [a] x y)
// result: (Select0 (DIVQ [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect0)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
for {
x := v_0
v.reset(OpAMD64ROUNDSD)
- v.AuxInt = 1
+ v.AuxInt = int8ToAuxInt(1)
v.AddArg(x)
return true
}
// match: (Mod16 [a] x y)
// result: (Select1 (DIVW [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVW, types.NewTuple(typ.Int16, typ.Int16))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
// match: (Mod32 [a] x y)
// result: (Select1 (DIVL [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVL, types.NewTuple(typ.Int32, typ.Int32))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
// match: (Mod64 [a] x y)
// result: (Select1 (DIVQ [a] x y))
for {
- a := v.AuxInt
+ a := auxIntToBool(v.AuxInt)
x := v_0
y := v_1
v.reset(OpSelect1)
v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, types.NewTuple(typ.Int64, typ.Int64))
- v0.AuxInt = a
+ v0.AuxInt = boolToAuxInt(a)
v0.AddArg2(x, y)
v.AddArg(v0)
return true
b := v.Block
typ := &b.Func.Config.Types
// match: (Neg32F x)
- // result: (PXOR x (MOVSSconst <typ.Float32> [auxFrom32F(float32(math.Copysign(0, -1)))]))
+ // result: (PXOR x (MOVSSconst <typ.Float32> [float32(math.Copysign(0, -1))]))
for {
x := v_0
v.reset(OpAMD64PXOR)
v0 := b.NewValue0(v.Pos, OpAMD64MOVSSconst, typ.Float32)
- v0.AuxInt = auxFrom32F(float32(math.Copysign(0, -1)))
+ v0.AuxInt = float32ToAuxInt(float32(math.Copysign(0, -1)))
v.AddArg2(x, v0)
return true
}
b := v.Block
typ := &b.Func.Config.Types
// match: (Neg64F x)
- // result: (PXOR x (MOVSDconst <typ.Float64> [auxFrom64F(math.Copysign(0, -1))]))
+ // result: (PXOR x (MOVSDconst <typ.Float64> [math.Copysign(0, -1)]))
for {
x := v_0
v.reset(OpAMD64PXOR)
v0 := b.NewValue0(v.Pos, OpAMD64MOVSDconst, typ.Float64)
- v0.AuxInt = auxFrom64F(math.Copysign(0, -1))
+ v0.AuxInt = float64ToAuxInt(math.Copysign(0, -1))
v.AddArg2(x, v0)
return true
}
for {
x := v_0
v.reset(OpAMD64XORLconst)
- v.AuxInt = 1
+ v.AuxInt = int32ToAuxInt(1)
v.AddArg(x)
return true
}
typ := &b.Func.Config.Types
// match: (OffPtr [off] ptr)
// cond: is32Bit(off)
- // result: (ADDQconst [off] ptr)
+ // result: (ADDQconst [int32(off)] ptr)
for {
- off := v.AuxInt
+ off := auxIntToInt64(v.AuxInt)
ptr := v_0
if !(is32Bit(off)) {
break
}
v.reset(OpAMD64ADDQconst)
- v.AuxInt = off
+ v.AuxInt = int32ToAuxInt(int32(off))
v.AddArg(ptr)
return true
}
// match: (OffPtr [off] ptr)
// result: (ADDQ (MOVQconst [off]) ptr)
for {
- off := v.AuxInt
+ off := auxIntToInt64(v.AuxInt)
ptr := v_0
v.reset(OpAMD64ADDQ)
v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, typ.UInt64)
- v0.AuxInt = off
+ v0.AuxInt = int64ToAuxInt(off)
v.AddArg2(v0, ptr)
return true
}
for {
x := v_0
v.reset(OpAMD64ROUNDSD)
- v.AuxInt = 0
+ v.AuxInt = int8ToAuxInt(0)
v.AddArg(x)
return true
}
break
}
v_0_0 := v_0.Args[0]
- if v_0_0.Op != OpAMD64MOVQconst || v_0_0.AuxInt != 0 {
+ if v_0_0.Op != OpAMD64MOVQconst || auxIntToInt64(v_0_0.AuxInt) != 0 {
break
}
v.reset(OpAMD64FlagEQ)
for {
x := v_0
v.reset(OpAMD64ROUNDSD)
- v.AuxInt = 3
+ v.AuxInt = int8ToAuxInt(3)
v.AddArg(x)
return true
}
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c + d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c + d)
return true
}
break
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c + d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c + d)
return true
}
break
continue
}
v.reset(OpConst32F)
- var _auxint float32 = c + d
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(c + d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c + d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c + d)
return true
}
break
continue
}
v.reset(OpConst64F)
- var _auxint float64 = c + d
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(c + d)
return true
}
break
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c + d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c + d)
return true
}
break
c := auxIntToInt64(v_1.AuxInt)
v.reset(OpOffPtr)
v.Type = t
- var _auxint int64 = c
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c)
v.AddArg(x)
return true
}
c := auxIntToInt32(v_1.AuxInt)
v.reset(OpOffPtr)
v.Type = t
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
v.AddArg(x)
return true
}
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c & d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c & d)
return true
}
break
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c & d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c & d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c & d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c & d)
return true
}
break
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c & d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c & d)
return true
}
break
// cond: config.PtrSize == 4 && str == ""
// result: (StringMake (ConstNil) (Const32 <typ.Int> [0]))
for {
- str := v.Aux.(string)
+ str := auxToString(v.Aux)
if !(config.PtrSize == 4 && str == "") {
break
}
v.reset(OpStringMake)
v0 := b.NewValue0(v.Pos, OpConstNil, typ.BytePtr)
v1 := b.NewValue0(v.Pos, OpConst32, typ.Int)
- var _auxint int32 = 0
- v1.AuxInt = int32ToAuxInt(_auxint)
+ v1.AuxInt = int32ToAuxInt(0)
v.AddArg2(v0, v1)
return true
}
// cond: config.PtrSize == 8 && str == ""
// result: (StringMake (ConstNil) (Const64 <typ.Int> [0]))
for {
- str := v.Aux.(string)
+ str := auxToString(v.Aux)
if !(config.PtrSize == 8 && str == "") {
break
}
v.reset(OpStringMake)
v0 := b.NewValue0(v.Pos, OpConstNil, typ.BytePtr)
v1 := b.NewValue0(v.Pos, OpConst64, typ.Int)
- var _auxint int64 = 0
- v1.AuxInt = int64ToAuxInt(_auxint)
+ v1.AuxInt = int64ToAuxInt(0)
v.AddArg2(v0, v1)
return true
}
// cond: config.PtrSize == 4 && str != ""
// result: (StringMake (Addr <typ.BytePtr> {fe.StringData(str)} (SB)) (Const32 <typ.Int> [int32(len(str))]))
for {
- str := v.Aux.(string)
+ str := auxToString(v.Aux)
if !(config.PtrSize == 4 && str != "") {
break
}
v.reset(OpStringMake)
v0 := b.NewValue0(v.Pos, OpAddr, typ.BytePtr)
- var _aux Sym = fe.StringData(str)
- v0.Aux = _aux
+ v0.Aux = symToAux(fe.StringData(str))
v1 := b.NewValue0(v.Pos, OpSB, typ.Uintptr)
v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpConst32, typ.Int)
- var _auxint int32 = int32(len(str))
- v2.AuxInt = int32ToAuxInt(_auxint)
+ v2.AuxInt = int32ToAuxInt(int32(len(str)))
v.AddArg2(v0, v2)
return true
}
// cond: config.PtrSize == 8 && str != ""
// result: (StringMake (Addr <typ.BytePtr> {fe.StringData(str)} (SB)) (Const64 <typ.Int> [int64(len(str))]))
for {
- str := v.Aux.(string)
+ str := auxToString(v.Aux)
if !(config.PtrSize == 8 && str != "") {
break
}
v.reset(OpStringMake)
v0 := b.NewValue0(v.Pos, OpAddr, typ.BytePtr)
- var _aux Sym = fe.StringData(str)
- v0.Aux = _aux
+ v0.Aux = symToAux(fe.StringData(str))
v1 := b.NewValue0(v.Pos, OpSB, typ.Uintptr)
v0.AddArg(v1)
v2 := b.NewValue0(v.Pos, OpConst64, typ.Int)
- var _auxint int64 = int64(len(str))
- v2.AuxInt = int64ToAuxInt(_auxint)
+ v2.AuxInt = int64ToAuxInt(int64(len(str)))
v.AddArg2(v0, v2)
return true
}
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(ntz16(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(ntz16(c)))
return true
}
// match: (Ctz16 (Const16 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(ntz16(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(ntz16(c)))
return true
}
return false
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(ntz32(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(ntz32(c)))
return true
}
// match: (Ctz32 (Const32 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(ntz32(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(ntz32(c)))
return true
}
return false
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(ntz64(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(ntz64(c)))
return true
}
// match: (Ctz64 (Const64 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(ntz64(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(ntz64(c)))
return true
}
return false
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(ntz8(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(ntz8(c)))
return true
}
// match: (Ctz8 (Const8 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(ntz8(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(ntz8(c)))
return true
}
return false
}
c := auxIntToFloat32(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(c)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(c))
return true
}
return false
}
c := auxIntToFloat32(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
return true
}
return false
}
c := auxIntToFloat32(v_0.AuxInt)
v.reset(OpConst64F)
- var _auxint float64 = float64(c)
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(float64(c))
return true
}
return false
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst32F)
- var _auxint float32 = float32(c)
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(float32(c))
return true
}
return false
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst64F)
- var _auxint float64 = float64(c)
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(float64(c))
return true
}
return false
}
c := auxIntToFloat64(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(c)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(c))
return true
}
return false
}
c := auxIntToFloat64(v_0.AuxInt)
v.reset(OpConst32F)
- var _auxint float32 = float32(c)
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(float32(c))
return true
}
return false
}
c := auxIntToFloat64(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
return true
}
return false
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst32F)
- var _auxint float32 = float32(c)
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(float32(c))
return true
}
return false
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst64F)
- var _auxint float64 = float64(c)
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(float64(c))
return true
}
return false
break
}
v.reset(OpConst8)
- var _auxint int8 = 0
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(0)
return true
}
// match: (CvtBoolToUint8 (ConstBool [true]))
break
}
v.reset(OpConst8)
- var _auxint int8 = 1
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(1)
return true
}
return false
break
}
v.reset(OpConst16)
- var _auxint int16 = c / d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c / d)
return true
}
// match: (Div16 n (Const16 [c]))
break
}
v.reset(OpConst16)
- var _auxint int16 = int16(uint16(c) / uint16(d))
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(uint16(c) / uint16(d)))
return true
}
// match: (Div16u n (Const16 [c]))
break
}
v.reset(OpConst32)
- var _auxint int32 = c / d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c / d)
return true
}
// match: (Div32 n (Const32 [c]))
break
}
v.reset(OpConst32F)
- var _auxint float32 = c / d
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(c / d)
return true
}
// match: (Div32F x (Const32F <t> [c]))
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(uint32(c) / uint32(d))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(uint32(c) / uint32(d)))
return true
}
// match: (Div32u n (Const32 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = c / d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c / d)
return true
}
// match: (Div64 n (Const64 [c]))
break
}
v.reset(OpConst64F)
- var _auxint float64 = c / d
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(c / d)
return true
}
// match: (Div64F x (Const64F <t> [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(uint64(c) / uint64(d))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint64(c) / uint64(d)))
return true
}
// match: (Div64u n (Const64 [c]))
break
}
v.reset(OpConst8)
- var _auxint int8 = c / d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c / d)
return true
}
// match: (Div8 n (Const8 [c]))
break
}
v.reset(OpConst8)
- var _auxint int8 = int8(uint8(c) / uint8(d))
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(uint8(c) / uint8(d)))
return true
}
// match: (Div8u n (Const8 [c]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (Eq16 (Const16 <t> [c]) (Add16 (Const16 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (Eq32 (Const32 <t> [c]) (Add32 (Const32 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (Eq64 (Const64 <t> [c]) (Add64 (Const64 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (Eq8 (Const8 <t> [c]) (Add8 (Const8 <t> [d]) x))
}
d := auxIntToBool(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = c == d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(c == d)
return true
}
break
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt8to64 _) (Const64 [c]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt16to32 _) (Const32 [c]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt16to64 _) (Const64 [c]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds x x)
break
}
v.reset(OpConstBool)
- var _auxint bool = false
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(false)
return true
}
// match: (IsInBounds (And8 (Const8 [c]) _) (Const8 [d]))
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = 0 <= c && c < d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(0 <= c && c < d)
return true
}
// match: (IsInBounds (Const64 [c]) (Const64 [d]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = 0 <= c && c < d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(0 <= c && c < d)
return true
}
// match: (IsInBounds (Mod32u _ y) y)
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (Mod64u _ y) y)
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt8to64 (Rsh8Ux64 _ (Const64 [c]))) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt8to32 (Rsh8Ux64 _ (Const64 [c]))) (Const32 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt8to16 (Rsh8Ux64 _ (Const64 [c]))) (Const16 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (Rsh8Ux64 _ (Const64 [c])) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt16to64 (Rsh16Ux64 _ (Const64 [c]))) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt16to32 (Rsh16Ux64 _ (Const64 [c]))) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (Rsh16Ux64 _ (Const64 [c])) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (ZeroExt32to64 (Rsh32Ux64 _ (Const64 [c]))) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (Rsh32Ux64 _ (Const64 [c])) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsInBounds (Rsh64Ux64 _ (Const64 [c])) (Const64 [d]))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
return false
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsSliceInBounds (And32 (Const32 [c]) _) (Const32 [d]))
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
continue
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
break
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsSliceInBounds (Const64 [0]) _)
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
// match: (IsSliceInBounds (Const32 [c]) (Const32 [d]))
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = 0 <= c && c <= d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(0 <= c && c <= d)
return true
}
// match: (IsSliceInBounds (Const64 [c]) (Const64 [d]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = 0 <= c && c <= d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(0 <= c && c <= d)
return true
}
// match: (IsSliceInBounds (SliceLen x) (SliceCap x))
break
}
v.reset(OpConstBool)
- var _auxint bool = true
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(true)
return true
}
return false
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c << uint64(d)
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c << uint64(d))
return true
}
// match: (Lsh16x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c << uint64(d)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c << uint64(d))
return true
}
// match: (Lsh32x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c << uint64(d)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c << uint64(d))
return true
}
// match: (Lsh64x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c << uint64(d)
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c << uint64(d))
return true
}
// match: (Lsh8x64 x (Const64 [0]))
break
}
v.reset(OpConst16)
- var _auxint int16 = c % d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c % d)
return true
}
// match: (Mod16 <t> n (Const16 [c]))
break
}
v.reset(OpConst16)
- var _auxint int16 = int16(uint16(c) % uint16(d))
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(uint16(c) % uint16(d)))
return true
}
// match: (Mod16u <t> n (Const16 [c]))
break
}
v.reset(OpConst32)
- var _auxint int32 = c % d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c % d)
return true
}
// match: (Mod32 <t> n (Const32 [c]))
break
}
v.reset(OpConst32)
- var _auxint int32 = int32(uint32(c) % uint32(d))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(uint32(c) % uint32(d)))
return true
}
// match: (Mod32u <t> n (Const32 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = c % d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c % d)
return true
}
// match: (Mod64 <t> n (Const64 [c]))
break
}
v.reset(OpConst64)
- var _auxint int64 = int64(uint64(c) % uint64(d))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint64(c) % uint64(d)))
return true
}
// match: (Mod64u <t> n (Const64 [c]))
break
}
v.reset(OpConst8)
- var _auxint int8 = c % d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c % d)
return true
}
// match: (Mod8 <t> n (Const8 [c]))
break
}
v.reset(OpConst8)
- var _auxint int8 = int8(uint8(c) % uint8(d))
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(uint8(c) % uint8(d)))
return true
}
// match: (Mod8u <t> n (Const8 [c]))
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c * d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c * d)
return true
}
break
v.reset(OpLsh16x64)
v.Type = t
v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log16(c)
- v0.AuxInt = int64ToAuxInt(_auxint)
+ v0.AuxInt = int64ToAuxInt(log16(c))
v.AddArg2(n, v0)
return true
}
v.reset(OpNeg16)
v0 := b.NewValue0(v.Pos, OpLsh16x64, t)
v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log16(-c)
- v1.AuxInt = int64ToAuxInt(_auxint)
+ v1.AuxInt = int64ToAuxInt(log16(-c))
v0.AddArg2(n, v1)
v.AddArg(v0)
return true
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c * d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c * d)
return true
}
break
v.reset(OpLsh32x64)
v.Type = t
v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log32(c)
- v0.AuxInt = int64ToAuxInt(_auxint)
+ v0.AuxInt = int64ToAuxInt(log32(c))
v.AddArg2(n, v0)
return true
}
v.reset(OpNeg32)
v0 := b.NewValue0(v.Pos, OpLsh32x64, t)
v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log32(-c)
- v1.AuxInt = int64ToAuxInt(_auxint)
+ v1.AuxInt = int64ToAuxInt(log32(-c))
v0.AddArg2(n, v1)
v.AddArg(v0)
return true
continue
}
v.reset(OpConst32F)
- var _auxint float32 = c * d
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(c * d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c * d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c * d)
return true
}
break
v.reset(OpLsh64x64)
v.Type = t
v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log64(c)
- v0.AuxInt = int64ToAuxInt(_auxint)
+ v0.AuxInt = int64ToAuxInt(log64(c))
v.AddArg2(n, v0)
return true
}
v.reset(OpNeg64)
v0 := b.NewValue0(v.Pos, OpLsh64x64, t)
v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log64(-c)
- v1.AuxInt = int64ToAuxInt(_auxint)
+ v1.AuxInt = int64ToAuxInt(log64(-c))
v0.AddArg2(n, v1)
v.AddArg(v0)
return true
continue
}
v.reset(OpConst64F)
- var _auxint float64 = c * d
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(c * d)
return true
}
break
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c * d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c * d)
return true
}
break
v.reset(OpLsh8x64)
v.Type = t
v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log8(c)
- v0.AuxInt = int64ToAuxInt(_auxint)
+ v0.AuxInt = int64ToAuxInt(log8(c))
v.AddArg2(n, v0)
return true
}
v.reset(OpNeg8)
v0 := b.NewValue0(v.Pos, OpLsh8x64, t)
v1 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- var _auxint int64 = log8(-c)
- v1.AuxInt = int64ToAuxInt(_auxint)
+ v1.AuxInt = int64ToAuxInt(log8(-c))
v0.AddArg2(n, v1)
v.AddArg(v0)
return true
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = -c
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(-c)
return true
}
// match: (Neg16 (Sub16 x y))
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = -c
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(-c)
return true
}
// match: (Neg32 (Sub32 x y))
break
}
v.reset(OpConst32F)
- var _auxint float32 = -c
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(-c)
return true
}
return false
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = -c
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(-c)
return true
}
// match: (Neg64 (Sub64 x y))
break
}
v.reset(OpConst64F)
- var _auxint float64 = -c
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(-c)
return true
}
return false
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = -c
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(-c)
return true
}
// match: (Neg8 (Sub8 x y))
break
}
v.reset(OpConstBool)
- var _auxint bool = false
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(false)
return true
}
// match: (Neq16 (Const16 <t> [c]) (Add16 (Const16 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = false
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(false)
return true
}
// match: (Neq32 (Const32 <t> [c]) (Add32 (Const32 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = false
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(false)
return true
}
// match: (Neq64 (Const64 <t> [c]) (Add64 (Const64 <t> [d]) x))
break
}
v.reset(OpConstBool)
- var _auxint bool = false
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(false)
return true
}
// match: (Neq8 (Const8 <t> [c]) (Add8 (Const8 <t> [d]) x))
}
d := auxIntToBool(v_1.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = c != d
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(c != d)
return true
}
break
}
c := auxIntToBool(v_0.AuxInt)
v.reset(OpConstBool)
- var _auxint bool = !c
- v.AuxInt = boolToAuxInt(_auxint)
+ v.AuxInt = boolToAuxInt(!c)
return true
}
// match: (Not (Eq64 x y))
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c | d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c | d)
return true
}
break
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c | d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c | d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c | d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c | d)
return true
}
break
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c | d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c | d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = int16(uint16(c) >> uint64(d))
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(uint16(c) >> uint64(d)))
return true
}
// match: (Rsh16Ux64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c >> uint64(d)
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c >> uint64(d))
return true
}
// match: (Rsh16x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(uint32(c) >> uint64(d))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(uint32(c) >> uint64(d)))
return true
}
// match: (Rsh32Ux64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c >> uint64(d)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c >> uint64(d))
return true
}
// match: (Rsh32x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(uint64(c) >> uint64(d))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint64(c) >> uint64(d)))
return true
}
// match: (Rsh64Ux64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c >> uint64(d)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c >> uint64(d))
return true
}
// match: (Rsh64x64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = int8(uint8(c) >> uint64(d))
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(uint8(c) >> uint64(d)))
return true
}
// match: (Rsh8Ux64 x (Const64 [0]))
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c >> uint64(d)
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c >> uint64(d))
return true
}
// match: (Rsh8x64 x (Const64 [0]))
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(c)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(c))
return true
}
// match: (SignExt16to32 (Trunc32to16 x:(Rsh32x64 _ (Const64 [s]))))
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
return true
}
// match: (SignExt16to64 (Trunc64to16 x:(Rsh64x64 _ (Const64 [s]))))
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
return true
}
// match: (SignExt32to64 (Trunc64to32 x:(Rsh64x64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = int16(c)
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(c))
return true
}
// match: (SignExt8to16 (Trunc16to8 x:(Rsh16x64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(c)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(c))
return true
}
// match: (SignExt8to32 (Trunc32to8 x:(Rsh32x64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(c)
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(c))
return true
}
// match: (SignExt8to64 (Trunc64to8 x:(Rsh64x64 _ (Const64 [s]))))
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c - d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c - d)
return true
}
// match: (Sub16 x (Const16 <t> [c]))
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c - d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c - d)
return true
}
// match: (Sub32 x (Const32 <t> [c]))
break
}
v.reset(OpConst32F)
- var _auxint float32 = c - d
- v.AuxInt = float32ToAuxInt(_auxint)
+ v.AuxInt = float32ToAuxInt(c - d)
return true
}
return false
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c - d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c - d)
return true
}
// match: (Sub64 x (Const64 <t> [c]))
break
}
v.reset(OpConst64F)
- var _auxint float64 = c - d
- v.AuxInt = float64ToAuxInt(_auxint)
+ v.AuxInt = float64ToAuxInt(c - d)
return true
}
return false
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c - d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c - d)
return true
}
// match: (Sub8 x (Const8 <t> [c]))
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = int8(c)
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(c))
return true
}
// match: (Trunc16to8 (ZeroExt8to16 x))
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = int16(c)
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(c))
return true
}
// match: (Trunc32to16 (ZeroExt8to32 x))
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = int8(c)
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(c))
return true
}
// match: (Trunc32to8 (ZeroExt8to32 x))
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = int16(c)
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(c))
return true
}
// match: (Trunc64to16 (ZeroExt8to64 x))
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(c)
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(c))
return true
}
// match: (Trunc64to32 (ZeroExt8to64 x))
}
c := auxIntToInt64(v_0.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = int8(c)
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(int8(c))
return true
}
// match: (Trunc64to8 (ZeroExt8to64 x))
}
d := auxIntToInt16(v_1.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = c ^ d
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(c ^ d)
return true
}
break
}
d := auxIntToInt32(v_1.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = c ^ d
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(c ^ d)
return true
}
break
}
d := auxIntToInt64(v_1.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = c ^ d
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(c ^ d)
return true
}
break
}
d := auxIntToInt8(v_1.AuxInt)
v.reset(OpConst8)
- var _auxint int8 = c ^ d
- v.AuxInt = int8ToAuxInt(_auxint)
+ v.AuxInt = int8ToAuxInt(c ^ d)
return true
}
break
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(uint16(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(uint16(c)))
return true
}
// match: (ZeroExt16to32 (Trunc32to16 x:(Rsh32Ux64 _ (Const64 [s]))))
}
c := auxIntToInt16(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(uint16(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint16(c)))
return true
}
// match: (ZeroExt16to64 (Trunc64to16 x:(Rsh64Ux64 _ (Const64 [s]))))
}
c := auxIntToInt32(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(uint32(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint32(c)))
return true
}
// match: (ZeroExt32to64 (Trunc64to32 x:(Rsh64Ux64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst16)
- var _auxint int16 = int16(uint8(c))
- v.AuxInt = int16ToAuxInt(_auxint)
+ v.AuxInt = int16ToAuxInt(int16(uint8(c)))
return true
}
// match: (ZeroExt8to16 (Trunc16to8 x:(Rsh16Ux64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst32)
- var _auxint int32 = int32(uint8(c))
- v.AuxInt = int32ToAuxInt(_auxint)
+ v.AuxInt = int32ToAuxInt(int32(uint8(c)))
return true
}
// match: (ZeroExt8to32 (Trunc32to8 x:(Rsh32Ux64 _ (Const64 [s]))))
}
c := auxIntToInt8(v_0.AuxInt)
v.reset(OpConst64)
- var _auxint int64 = int64(uint8(c))
- v.AuxInt = int64ToAuxInt(_auxint)
+ v.AuxInt = int64ToAuxInt(int64(uint8(c)))
return true
}
// match: (ZeroExt8to64 (Trunc64to8 x:(Rsh64Ux64 _ (Const64 [s]))))