mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.simd] cmd/compile, simd: jump table for imm ops
This CL fixes some errors in prog generation for imm operations, please see the changes in ssa.go for details. This CL also implements the jump table for non-const immediate arg. The current implementation exhaust 0-255, the bound-checked version will be in the next CL. This CL is partially generated by CL 694375. Change-Id: I75fe9900430b4fca5b39b0c0958a13b20b1104b7 Reviewed-on: https://go-review.googlesource.com/c/go/+/694395 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
94d72355f6
commit
38b76bf2a3
10 changed files with 2258 additions and 2243 deletions
|
|
@ -1837,11 +1837,7 @@ func simdVkv(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VROUNDPD $7, X2, X2
|
// Example instruction: VROUNDPD $7, X2, X2
|
||||||
func simdV11Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdV11Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
p.To.Type = obj.TYPE_REG
|
p.To.Type = obj.TYPE_REG
|
||||||
|
|
@ -1852,11 +1848,7 @@ func simdV11Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VREDUCEPD $126, X1, K3, X31
|
// Example instruction: VREDUCEPD $126, X1, K3, X31
|
||||||
func simdVkvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdVkvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
p.AddRestSourceReg(maskReg(v.Args[1]))
|
p.AddRestSourceReg(maskReg(v.Args[1]))
|
||||||
|
|
@ -1868,11 +1860,7 @@ func simdVkvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VCMPPS $7, X2, X9, X2
|
// Example instruction: VCMPPS $7, X2, X9, X2
|
||||||
func simdV21Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdV21Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[1]))
|
p.AddRestSourceReg(simdReg(v.Args[1]))
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
|
|
@ -1884,11 +1872,7 @@ func simdV21Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VPINSRB $3, DX, X0, X0
|
// Example instruction: VPINSRB $3, DX, X0, X0
|
||||||
func simdVgpvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdVgpvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(v.Args[1].Reg())
|
p.AddRestSourceReg(v.Args[1].Reg())
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
|
|
@ -1900,11 +1884,7 @@ func simdVgpvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VPCMPD $1, Z1, Z2, K1
|
// Example instruction: VPCMPD $1, Z1, Z2, K1
|
||||||
func simdV2kImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdV2kImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[1]))
|
p.AddRestSourceReg(simdReg(v.Args[1]))
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
|
|
@ -1916,11 +1896,7 @@ func simdV2kImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
// Example instruction: VPCMPD $1, Z1, Z2, K2, K1
|
// Example instruction: VPCMPD $1, Z1, Z2, K2, K1
|
||||||
func simdV2kkImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdV2kkImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[1]))
|
p.AddRestSourceReg(simdReg(v.Args[1]))
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
|
|
@ -1931,7 +1907,15 @@ func simdV2kkImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
}
|
}
|
||||||
|
|
||||||
func simdV2kvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdV2kvImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
return simdV2kkImm8(s, v)
|
p := s.Prog(v.Op.Asm())
|
||||||
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
|
p.From.Type = obj.TYPE_CONST
|
||||||
|
p.AddRestSourceReg(simdReg(v.Args[1]))
|
||||||
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
|
p.AddRestSourceReg(maskReg(v.Args[2]))
|
||||||
|
p.To.Type = obj.TYPE_REG
|
||||||
|
p.To.Reg = simdReg(v)
|
||||||
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
// Example instruction: VFMADD213PD Z2, Z1, Z0
|
// Example instruction: VFMADD213PD Z2, Z1, Z0
|
||||||
|
|
@ -1959,11 +1943,7 @@ func simdV3kvResultInArg0(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
|
|
||||||
func simdVgpImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
func simdVgpImm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||||
p := s.Prog(v.Op.Asm())
|
p := s.Prog(v.Op.Asm())
|
||||||
imm := v.AuxInt
|
p.From.Offset = int64(v.AuxUInt8())
|
||||||
if imm < 0 || imm > 255 {
|
|
||||||
v.Fatalf("Invalid source selection immediate")
|
|
||||||
}
|
|
||||||
p.From.Offset = imm
|
|
||||||
p.From.Type = obj.TYPE_CONST
|
p.From.Type = obj.TYPE_CONST
|
||||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||||
p.To.Type = obj.TYPE_REG
|
p.To.Type = obj.TYPE_REG
|
||||||
|
|
|
||||||
|
|
@ -1438,41 +1438,41 @@
|
||||||
(SetLoUint32x16 x y) => (VINSERTI64X4512 [0] x y)
|
(SetLoUint32x16 x y) => (VINSERTI64X4512 [0] x y)
|
||||||
(SetLoUint64x4 x y) => (VINSERTI128256 [0] x y)
|
(SetLoUint64x4 x y) => (VINSERTI128256 [0] x y)
|
||||||
(SetLoUint64x8 x y) => (VINSERTI64X4512 [0] x y)
|
(SetLoUint64x8 x y) => (VINSERTI64X4512 [0] x y)
|
||||||
(ShiftAllLeftInt16x8 x (MOVQconst [c])) => (VPSLLW128const [int8(c)] x)
|
(ShiftAllLeftInt16x8 x (MOVQconst [c])) => (VPSLLW128const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt16x8 x y) => (VPSLLW128 x y)
|
(ShiftAllLeftInt16x8 x y) => (VPSLLW128 x y)
|
||||||
(ShiftAllLeftInt16x16 x (MOVQconst [c])) => (VPSLLW256const [int8(c)] x)
|
(ShiftAllLeftInt16x16 x (MOVQconst [c])) => (VPSLLW256const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt16x16 x y) => (VPSLLW256 x y)
|
(ShiftAllLeftInt16x16 x y) => (VPSLLW256 x y)
|
||||||
(ShiftAllLeftInt16x32 x (MOVQconst [c])) => (VPSLLW512const [int8(c)] x)
|
(ShiftAllLeftInt16x32 x (MOVQconst [c])) => (VPSLLW512const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt16x32 x y) => (VPSLLW512 x y)
|
(ShiftAllLeftInt16x32 x y) => (VPSLLW512 x y)
|
||||||
(ShiftAllLeftInt32x4 x (MOVQconst [c])) => (VPSLLD128const [int8(c)] x)
|
(ShiftAllLeftInt32x4 x (MOVQconst [c])) => (VPSLLD128const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt32x4 x y) => (VPSLLD128 x y)
|
(ShiftAllLeftInt32x4 x y) => (VPSLLD128 x y)
|
||||||
(ShiftAllLeftInt32x8 x (MOVQconst [c])) => (VPSLLD256const [int8(c)] x)
|
(ShiftAllLeftInt32x8 x (MOVQconst [c])) => (VPSLLD256const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt32x8 x y) => (VPSLLD256 x y)
|
(ShiftAllLeftInt32x8 x y) => (VPSLLD256 x y)
|
||||||
(ShiftAllLeftInt32x16 x (MOVQconst [c])) => (VPSLLD512const [int8(c)] x)
|
(ShiftAllLeftInt32x16 x (MOVQconst [c])) => (VPSLLD512const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt32x16 x y) => (VPSLLD512 x y)
|
(ShiftAllLeftInt32x16 x y) => (VPSLLD512 x y)
|
||||||
(ShiftAllLeftInt64x2 x (MOVQconst [c])) => (VPSLLQ128const [int8(c)] x)
|
(ShiftAllLeftInt64x2 x (MOVQconst [c])) => (VPSLLQ128const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt64x2 x y) => (VPSLLQ128 x y)
|
(ShiftAllLeftInt64x2 x y) => (VPSLLQ128 x y)
|
||||||
(ShiftAllLeftInt64x4 x (MOVQconst [c])) => (VPSLLQ256const [int8(c)] x)
|
(ShiftAllLeftInt64x4 x (MOVQconst [c])) => (VPSLLQ256const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt64x4 x y) => (VPSLLQ256 x y)
|
(ShiftAllLeftInt64x4 x y) => (VPSLLQ256 x y)
|
||||||
(ShiftAllLeftInt64x8 x (MOVQconst [c])) => (VPSLLQ512const [int8(c)] x)
|
(ShiftAllLeftInt64x8 x (MOVQconst [c])) => (VPSLLQ512const [uint8(c)] x)
|
||||||
(ShiftAllLeftInt64x8 x y) => (VPSLLQ512 x y)
|
(ShiftAllLeftInt64x8 x y) => (VPSLLQ512 x y)
|
||||||
(ShiftAllLeftUint16x8 x (MOVQconst [c])) => (VPSLLW128const [int8(c)] x)
|
(ShiftAllLeftUint16x8 x (MOVQconst [c])) => (VPSLLW128const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint16x8 x y) => (VPSLLW128 x y)
|
(ShiftAllLeftUint16x8 x y) => (VPSLLW128 x y)
|
||||||
(ShiftAllLeftUint16x16 x (MOVQconst [c])) => (VPSLLW256const [int8(c)] x)
|
(ShiftAllLeftUint16x16 x (MOVQconst [c])) => (VPSLLW256const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint16x16 x y) => (VPSLLW256 x y)
|
(ShiftAllLeftUint16x16 x y) => (VPSLLW256 x y)
|
||||||
(ShiftAllLeftUint16x32 x (MOVQconst [c])) => (VPSLLW512const [int8(c)] x)
|
(ShiftAllLeftUint16x32 x (MOVQconst [c])) => (VPSLLW512const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint16x32 x y) => (VPSLLW512 x y)
|
(ShiftAllLeftUint16x32 x y) => (VPSLLW512 x y)
|
||||||
(ShiftAllLeftUint32x4 x (MOVQconst [c])) => (VPSLLD128const [int8(c)] x)
|
(ShiftAllLeftUint32x4 x (MOVQconst [c])) => (VPSLLD128const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint32x4 x y) => (VPSLLD128 x y)
|
(ShiftAllLeftUint32x4 x y) => (VPSLLD128 x y)
|
||||||
(ShiftAllLeftUint32x8 x (MOVQconst [c])) => (VPSLLD256const [int8(c)] x)
|
(ShiftAllLeftUint32x8 x (MOVQconst [c])) => (VPSLLD256const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint32x8 x y) => (VPSLLD256 x y)
|
(ShiftAllLeftUint32x8 x y) => (VPSLLD256 x y)
|
||||||
(ShiftAllLeftUint32x16 x (MOVQconst [c])) => (VPSLLD512const [int8(c)] x)
|
(ShiftAllLeftUint32x16 x (MOVQconst [c])) => (VPSLLD512const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint32x16 x y) => (VPSLLD512 x y)
|
(ShiftAllLeftUint32x16 x y) => (VPSLLD512 x y)
|
||||||
(ShiftAllLeftUint64x2 x (MOVQconst [c])) => (VPSLLQ128const [int8(c)] x)
|
(ShiftAllLeftUint64x2 x (MOVQconst [c])) => (VPSLLQ128const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint64x2 x y) => (VPSLLQ128 x y)
|
(ShiftAllLeftUint64x2 x y) => (VPSLLQ128 x y)
|
||||||
(ShiftAllLeftUint64x4 x (MOVQconst [c])) => (VPSLLQ256const [int8(c)] x)
|
(ShiftAllLeftUint64x4 x (MOVQconst [c])) => (VPSLLQ256const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint64x4 x y) => (VPSLLQ256 x y)
|
(ShiftAllLeftUint64x4 x y) => (VPSLLQ256 x y)
|
||||||
(ShiftAllLeftUint64x8 x (MOVQconst [c])) => (VPSLLQ512const [int8(c)] x)
|
(ShiftAllLeftUint64x8 x (MOVQconst [c])) => (VPSLLQ512const [uint8(c)] x)
|
||||||
(ShiftAllLeftUint64x8 x y) => (VPSLLQ512 x y)
|
(ShiftAllLeftUint64x8 x y) => (VPSLLQ512 x y)
|
||||||
(ShiftAllLeftConcatInt16x8 ...) => (VPSHLDW128 ...)
|
(ShiftAllLeftConcatInt16x8 ...) => (VPSHLDW128 ...)
|
||||||
(ShiftAllLeftConcatInt16x16 ...) => (VPSHLDW256 ...)
|
(ShiftAllLeftConcatInt16x16 ...) => (VPSHLDW256 ...)
|
||||||
|
|
@ -1510,77 +1510,77 @@
|
||||||
(ShiftAllLeftConcatMaskedUint64x2 [a] x y mask) => (VPSHLDQMasked128 [a] x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllLeftConcatMaskedUint64x2 [a] x y mask) => (VPSHLDQMasked128 [a] x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftConcatMaskedUint64x4 [a] x y mask) => (VPSHLDQMasked256 [a] x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftConcatMaskedUint64x4 [a] x y mask) => (VPSHLDQMasked256 [a] x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftConcatMaskedUint64x8 [a] x y mask) => (VPSHLDQMasked512 [a] x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftConcatMaskedUint64x8 [a] x y mask) => (VPSHLDQMasked512 [a] x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x8 x (MOVQconst [c]) mask) => (VPSLLWMasked128const [int8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x8 x (MOVQconst [c]) mask) => (VPSLLWMasked128const [uint8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x8 x y mask) => (VPSLLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x8 x y mask) => (VPSLLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x16 x (MOVQconst [c]) mask) => (VPSLLWMasked256const [int8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x16 x (MOVQconst [c]) mask) => (VPSLLWMasked256const [uint8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x16 x y mask) => (VPSLLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x16 x y mask) => (VPSLLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x32 x (MOVQconst [c]) mask) => (VPSLLWMasked512const [int8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x32 x (MOVQconst [c]) mask) => (VPSLLWMasked512const [uint8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt16x32 x y mask) => (VPSLLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt16x32 x y mask) => (VPSLLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x4 x (MOVQconst [c]) mask) => (VPSLLDMasked128const [int8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x4 x (MOVQconst [c]) mask) => (VPSLLDMasked128const [uint8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x4 x y mask) => (VPSLLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x4 x y mask) => (VPSLLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x8 x (MOVQconst [c]) mask) => (VPSLLDMasked256const [int8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x8 x (MOVQconst [c]) mask) => (VPSLLDMasked256const [uint8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x8 x y mask) => (VPSLLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x8 x y mask) => (VPSLLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x16 x (MOVQconst [c]) mask) => (VPSLLDMasked512const [int8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x16 x (MOVQconst [c]) mask) => (VPSLLDMasked512const [uint8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt32x16 x y mask) => (VPSLLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt32x16 x y mask) => (VPSLLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x2 x (MOVQconst [c]) mask) => (VPSLLQMasked128const [int8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x2 x (MOVQconst [c]) mask) => (VPSLLQMasked128const [uint8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x2 x y mask) => (VPSLLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x2 x y mask) => (VPSLLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x4 x (MOVQconst [c]) mask) => (VPSLLQMasked256const [int8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x4 x (MOVQconst [c]) mask) => (VPSLLQMasked256const [uint8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x4 x y mask) => (VPSLLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x4 x y mask) => (VPSLLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x8 x (MOVQconst [c]) mask) => (VPSLLQMasked512const [int8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x8 x (MOVQconst [c]) mask) => (VPSLLQMasked512const [uint8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedInt64x8 x y mask) => (VPSLLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedInt64x8 x y mask) => (VPSLLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x8 x (MOVQconst [c]) mask) => (VPSLLWMasked128const [int8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x8 x (MOVQconst [c]) mask) => (VPSLLWMasked128const [uint8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x8 x y mask) => (VPSLLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x8 x y mask) => (VPSLLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x16 x (MOVQconst [c]) mask) => (VPSLLWMasked256const [int8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x16 x (MOVQconst [c]) mask) => (VPSLLWMasked256const [uint8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x16 x y mask) => (VPSLLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x16 x y mask) => (VPSLLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x32 x (MOVQconst [c]) mask) => (VPSLLWMasked512const [int8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x32 x (MOVQconst [c]) mask) => (VPSLLWMasked512const [uint8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint16x32 x y mask) => (VPSLLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint16x32 x y mask) => (VPSLLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x4 x (MOVQconst [c]) mask) => (VPSLLDMasked128const [int8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x4 x (MOVQconst [c]) mask) => (VPSLLDMasked128const [uint8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x4 x y mask) => (VPSLLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x4 x y mask) => (VPSLLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x8 x (MOVQconst [c]) mask) => (VPSLLDMasked256const [int8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x8 x (MOVQconst [c]) mask) => (VPSLLDMasked256const [uint8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x8 x y mask) => (VPSLLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x8 x y mask) => (VPSLLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x16 x (MOVQconst [c]) mask) => (VPSLLDMasked512const [int8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x16 x (MOVQconst [c]) mask) => (VPSLLDMasked512const [uint8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint32x16 x y mask) => (VPSLLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint32x16 x y mask) => (VPSLLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x2 x (MOVQconst [c]) mask) => (VPSLLQMasked128const [int8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x2 x (MOVQconst [c]) mask) => (VPSLLQMasked128const [uint8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x2 x y mask) => (VPSLLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x2 x y mask) => (VPSLLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x4 x (MOVQconst [c]) mask) => (VPSLLQMasked256const [int8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x4 x (MOVQconst [c]) mask) => (VPSLLQMasked256const [uint8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x4 x y mask) => (VPSLLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x4 x y mask) => (VPSLLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x8 x (MOVQconst [c]) mask) => (VPSLLQMasked512const [int8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x8 x (MOVQconst [c]) mask) => (VPSLLQMasked512const [uint8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllLeftMaskedUint64x8 x y mask) => (VPSLLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllLeftMaskedUint64x8 x y mask) => (VPSLLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightInt16x8 x (MOVQconst [c])) => (VPSRAW128const [int8(c)] x)
|
(ShiftAllRightInt16x8 x (MOVQconst [c])) => (VPSRAW128const [uint8(c)] x)
|
||||||
(ShiftAllRightInt16x8 x y) => (VPSRAW128 x y)
|
(ShiftAllRightInt16x8 x y) => (VPSRAW128 x y)
|
||||||
(ShiftAllRightInt16x16 x (MOVQconst [c])) => (VPSRAW256const [int8(c)] x)
|
(ShiftAllRightInt16x16 x (MOVQconst [c])) => (VPSRAW256const [uint8(c)] x)
|
||||||
(ShiftAllRightInt16x16 x y) => (VPSRAW256 x y)
|
(ShiftAllRightInt16x16 x y) => (VPSRAW256 x y)
|
||||||
(ShiftAllRightInt16x32 x (MOVQconst [c])) => (VPSRAW512const [int8(c)] x)
|
(ShiftAllRightInt16x32 x (MOVQconst [c])) => (VPSRAW512const [uint8(c)] x)
|
||||||
(ShiftAllRightInt16x32 x y) => (VPSRAW512 x y)
|
(ShiftAllRightInt16x32 x y) => (VPSRAW512 x y)
|
||||||
(ShiftAllRightInt32x4 x (MOVQconst [c])) => (VPSRAD128const [int8(c)] x)
|
(ShiftAllRightInt32x4 x (MOVQconst [c])) => (VPSRAD128const [uint8(c)] x)
|
||||||
(ShiftAllRightInt32x4 x y) => (VPSRAD128 x y)
|
(ShiftAllRightInt32x4 x y) => (VPSRAD128 x y)
|
||||||
(ShiftAllRightInt32x8 x (MOVQconst [c])) => (VPSRAD256const [int8(c)] x)
|
(ShiftAllRightInt32x8 x (MOVQconst [c])) => (VPSRAD256const [uint8(c)] x)
|
||||||
(ShiftAllRightInt32x8 x y) => (VPSRAD256 x y)
|
(ShiftAllRightInt32x8 x y) => (VPSRAD256 x y)
|
||||||
(ShiftAllRightInt32x16 x (MOVQconst [c])) => (VPSRAD512const [int8(c)] x)
|
(ShiftAllRightInt32x16 x (MOVQconst [c])) => (VPSRAD512const [uint8(c)] x)
|
||||||
(ShiftAllRightInt32x16 x y) => (VPSRAD512 x y)
|
(ShiftAllRightInt32x16 x y) => (VPSRAD512 x y)
|
||||||
(ShiftAllRightInt64x2 x (MOVQconst [c])) => (VPSRAQ128const [int8(c)] x)
|
(ShiftAllRightInt64x2 x (MOVQconst [c])) => (VPSRAQ128const [uint8(c)] x)
|
||||||
(ShiftAllRightInt64x2 x y) => (VPSRAQ128 x y)
|
(ShiftAllRightInt64x2 x y) => (VPSRAQ128 x y)
|
||||||
(ShiftAllRightInt64x4 x (MOVQconst [c])) => (VPSRAQ256const [int8(c)] x)
|
(ShiftAllRightInt64x4 x (MOVQconst [c])) => (VPSRAQ256const [uint8(c)] x)
|
||||||
(ShiftAllRightInt64x4 x y) => (VPSRAQ256 x y)
|
(ShiftAllRightInt64x4 x y) => (VPSRAQ256 x y)
|
||||||
(ShiftAllRightInt64x8 x (MOVQconst [c])) => (VPSRAQ512const [int8(c)] x)
|
(ShiftAllRightInt64x8 x (MOVQconst [c])) => (VPSRAQ512const [uint8(c)] x)
|
||||||
(ShiftAllRightInt64x8 x y) => (VPSRAQ512 x y)
|
(ShiftAllRightInt64x8 x y) => (VPSRAQ512 x y)
|
||||||
(ShiftAllRightUint16x8 x (MOVQconst [c])) => (VPSRLW128const [int8(c)] x)
|
(ShiftAllRightUint16x8 x (MOVQconst [c])) => (VPSRLW128const [uint8(c)] x)
|
||||||
(ShiftAllRightUint16x8 x y) => (VPSRLW128 x y)
|
(ShiftAllRightUint16x8 x y) => (VPSRLW128 x y)
|
||||||
(ShiftAllRightUint16x16 x (MOVQconst [c])) => (VPSRLW256const [int8(c)] x)
|
(ShiftAllRightUint16x16 x (MOVQconst [c])) => (VPSRLW256const [uint8(c)] x)
|
||||||
(ShiftAllRightUint16x16 x y) => (VPSRLW256 x y)
|
(ShiftAllRightUint16x16 x y) => (VPSRLW256 x y)
|
||||||
(ShiftAllRightUint16x32 x (MOVQconst [c])) => (VPSRLW512const [int8(c)] x)
|
(ShiftAllRightUint16x32 x (MOVQconst [c])) => (VPSRLW512const [uint8(c)] x)
|
||||||
(ShiftAllRightUint16x32 x y) => (VPSRLW512 x y)
|
(ShiftAllRightUint16x32 x y) => (VPSRLW512 x y)
|
||||||
(ShiftAllRightUint32x4 x (MOVQconst [c])) => (VPSRLD128const [int8(c)] x)
|
(ShiftAllRightUint32x4 x (MOVQconst [c])) => (VPSRLD128const [uint8(c)] x)
|
||||||
(ShiftAllRightUint32x4 x y) => (VPSRLD128 x y)
|
(ShiftAllRightUint32x4 x y) => (VPSRLD128 x y)
|
||||||
(ShiftAllRightUint32x8 x (MOVQconst [c])) => (VPSRLD256const [int8(c)] x)
|
(ShiftAllRightUint32x8 x (MOVQconst [c])) => (VPSRLD256const [uint8(c)] x)
|
||||||
(ShiftAllRightUint32x8 x y) => (VPSRLD256 x y)
|
(ShiftAllRightUint32x8 x y) => (VPSRLD256 x y)
|
||||||
(ShiftAllRightUint32x16 x (MOVQconst [c])) => (VPSRLD512const [int8(c)] x)
|
(ShiftAllRightUint32x16 x (MOVQconst [c])) => (VPSRLD512const [uint8(c)] x)
|
||||||
(ShiftAllRightUint32x16 x y) => (VPSRLD512 x y)
|
(ShiftAllRightUint32x16 x y) => (VPSRLD512 x y)
|
||||||
(ShiftAllRightUint64x2 x (MOVQconst [c])) => (VPSRLQ128const [int8(c)] x)
|
(ShiftAllRightUint64x2 x (MOVQconst [c])) => (VPSRLQ128const [uint8(c)] x)
|
||||||
(ShiftAllRightUint64x2 x y) => (VPSRLQ128 x y)
|
(ShiftAllRightUint64x2 x y) => (VPSRLQ128 x y)
|
||||||
(ShiftAllRightUint64x4 x (MOVQconst [c])) => (VPSRLQ256const [int8(c)] x)
|
(ShiftAllRightUint64x4 x (MOVQconst [c])) => (VPSRLQ256const [uint8(c)] x)
|
||||||
(ShiftAllRightUint64x4 x y) => (VPSRLQ256 x y)
|
(ShiftAllRightUint64x4 x y) => (VPSRLQ256 x y)
|
||||||
(ShiftAllRightUint64x8 x (MOVQconst [c])) => (VPSRLQ512const [int8(c)] x)
|
(ShiftAllRightUint64x8 x (MOVQconst [c])) => (VPSRLQ512const [uint8(c)] x)
|
||||||
(ShiftAllRightUint64x8 x y) => (VPSRLQ512 x y)
|
(ShiftAllRightUint64x8 x y) => (VPSRLQ512 x y)
|
||||||
(ShiftAllRightConcatInt16x8 ...) => (VPSHRDW128 ...)
|
(ShiftAllRightConcatInt16x8 ...) => (VPSHRDW128 ...)
|
||||||
(ShiftAllRightConcatInt16x16 ...) => (VPSHRDW256 ...)
|
(ShiftAllRightConcatInt16x16 ...) => (VPSHRDW256 ...)
|
||||||
|
|
@ -1618,41 +1618,41 @@
|
||||||
(ShiftAllRightConcatMaskedUint64x2 [a] x y mask) => (VPSHRDQMasked128 [a] x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllRightConcatMaskedUint64x2 [a] x y mask) => (VPSHRDQMasked128 [a] x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightConcatMaskedUint64x4 [a] x y mask) => (VPSHRDQMasked256 [a] x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllRightConcatMaskedUint64x4 [a] x y mask) => (VPSHRDQMasked256 [a] x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightConcatMaskedUint64x8 [a] x y mask) => (VPSHRDQMasked512 [a] x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllRightConcatMaskedUint64x8 [a] x y mask) => (VPSHRDQMasked512 [a] x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x8 x (MOVQconst [c]) mask) => (VPSRAWMasked128const [int8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x8 x (MOVQconst [c]) mask) => (VPSRAWMasked128const [uint8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x8 x y mask) => (VPSRAWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x8 x y mask) => (VPSRAWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x16 x (MOVQconst [c]) mask) => (VPSRAWMasked256const [int8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x16 x (MOVQconst [c]) mask) => (VPSRAWMasked256const [uint8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x16 x y mask) => (VPSRAWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x16 x y mask) => (VPSRAWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x32 x (MOVQconst [c]) mask) => (VPSRAWMasked512const [int8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x32 x (MOVQconst [c]) mask) => (VPSRAWMasked512const [uint8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt16x32 x y mask) => (VPSRAWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt16x32 x y mask) => (VPSRAWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x4 x (MOVQconst [c]) mask) => (VPSRADMasked128const [int8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x4 x (MOVQconst [c]) mask) => (VPSRADMasked128const [uint8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x4 x y mask) => (VPSRADMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x4 x y mask) => (VPSRADMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x8 x (MOVQconst [c]) mask) => (VPSRADMasked256const [int8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x8 x (MOVQconst [c]) mask) => (VPSRADMasked256const [uint8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x8 x y mask) => (VPSRADMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x8 x y mask) => (VPSRADMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x16 x (MOVQconst [c]) mask) => (VPSRADMasked512const [int8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x16 x (MOVQconst [c]) mask) => (VPSRADMasked512const [uint8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt32x16 x y mask) => (VPSRADMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt32x16 x y mask) => (VPSRADMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x2 x (MOVQconst [c]) mask) => (VPSRAQMasked128const [int8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x2 x (MOVQconst [c]) mask) => (VPSRAQMasked128const [uint8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x2 x y mask) => (VPSRAQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x2 x y mask) => (VPSRAQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x4 x (MOVQconst [c]) mask) => (VPSRAQMasked256const [int8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x4 x (MOVQconst [c]) mask) => (VPSRAQMasked256const [uint8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x4 x y mask) => (VPSRAQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x4 x y mask) => (VPSRAQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x8 x (MOVQconst [c]) mask) => (VPSRAQMasked512const [int8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x8 x (MOVQconst [c]) mask) => (VPSRAQMasked512const [uint8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedInt64x8 x y mask) => (VPSRAQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedInt64x8 x y mask) => (VPSRAQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x8 x (MOVQconst [c]) mask) => (VPSRLWMasked128const [int8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x8 x (MOVQconst [c]) mask) => (VPSRLWMasked128const [uint8(c)] x (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x8 x y mask) => (VPSRLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x8 x y mask) => (VPSRLWMasked128 x y (VPMOVVec16x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x16 x (MOVQconst [c]) mask) => (VPSRLWMasked256const [int8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x16 x (MOVQconst [c]) mask) => (VPSRLWMasked256const [uint8(c)] x (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x16 x y mask) => (VPSRLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x16 x y mask) => (VPSRLWMasked256 x y (VPMOVVec16x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x32 x (MOVQconst [c]) mask) => (VPSRLWMasked512const [int8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x32 x (MOVQconst [c]) mask) => (VPSRLWMasked512const [uint8(c)] x (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint16x32 x y mask) => (VPSRLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint16x32 x y mask) => (VPSRLWMasked512 x y (VPMOVVec16x32ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x4 x (MOVQconst [c]) mask) => (VPSRLDMasked128const [int8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x4 x (MOVQconst [c]) mask) => (VPSRLDMasked128const [uint8(c)] x (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x4 x y mask) => (VPSRLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x4 x y mask) => (VPSRLDMasked128 x y (VPMOVVec32x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x8 x (MOVQconst [c]) mask) => (VPSRLDMasked256const [int8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x8 x (MOVQconst [c]) mask) => (VPSRLDMasked256const [uint8(c)] x (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x8 x y mask) => (VPSRLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x8 x y mask) => (VPSRLDMasked256 x y (VPMOVVec32x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x16 x (MOVQconst [c]) mask) => (VPSRLDMasked512const [int8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x16 x (MOVQconst [c]) mask) => (VPSRLDMasked512const [uint8(c)] x (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint32x16 x y mask) => (VPSRLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint32x16 x y mask) => (VPSRLDMasked512 x y (VPMOVVec32x16ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x2 x (MOVQconst [c]) mask) => (VPSRLQMasked128const [int8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x2 x (MOVQconst [c]) mask) => (VPSRLQMasked128const [uint8(c)] x (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x2 x y mask) => (VPSRLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x2 x y mask) => (VPSRLQMasked128 x y (VPMOVVec64x2ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x4 x (MOVQconst [c]) mask) => (VPSRLQMasked256const [int8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x4 x (MOVQconst [c]) mask) => (VPSRLQMasked256const [uint8(c)] x (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x4 x y mask) => (VPSRLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x4 x y mask) => (VPSRLQMasked256 x y (VPMOVVec64x4ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x8 x (MOVQconst [c]) mask) => (VPSRLQMasked512const [int8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x8 x (MOVQconst [c]) mask) => (VPSRLQMasked512const [uint8(c)] x (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftAllRightMaskedUint64x8 x y mask) => (VPSRLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
(ShiftAllRightMaskedUint64x8 x y mask) => (VPSRLQMasked512 x y (VPMOVVec64x8ToM <types.TypeMask> mask))
|
||||||
(ShiftLeftInt16x8 ...) => (VPSLLVW128 ...)
|
(ShiftLeftInt16x8 ...) => (VPSLLVW128 ...)
|
||||||
(ShiftLeftInt16x16 ...) => (VPSLLVW256 ...)
|
(ShiftLeftInt16x16 ...) => (VPSLLVW256 ...)
|
||||||
|
|
|
||||||
|
|
@ -861,235 +861,235 @@ func simdAMD64Ops(v11, v21, v2k, vkv, v2kv, v2kk, v31, v3kv, vgpv, vgp, vfpv, vf
|
||||||
{name: "VSUBPSMasked128", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VSUBPSMasked128", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VSUBPSMasked256", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VSUBPSMasked256", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VSUBPSMasked512", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VSUBPSMasked512", argLength: 3, reg: w2kw, asm: "VSUBPS", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VROUNDPS128", argLength: 1, reg: v11, asm: "VROUNDPS", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VROUNDPS128", argLength: 1, reg: v11, asm: "VROUNDPS", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VROUNDPS256", argLength: 1, reg: v11, asm: "VROUNDPS", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VROUNDPS256", argLength: 1, reg: v11, asm: "VROUNDPS", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VROUNDPD128", argLength: 1, reg: v11, asm: "VROUNDPD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VROUNDPD128", argLength: 1, reg: v11, asm: "VROUNDPD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VROUNDPD256", argLength: 1, reg: v11, asm: "VROUNDPD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VROUNDPD256", argLength: 1, reg: v11, asm: "VROUNDPD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPS128", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VRNDSCALEPS128", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPS256", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VRNDSCALEPS256", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPS512", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VRNDSCALEPS512", argLength: 1, reg: w11, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPD128", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VRNDSCALEPD128", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPD256", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VRNDSCALEPD256", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPD512", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VRNDSCALEPD512", argLength: 1, reg: w11, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPSMasked128", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VRNDSCALEPSMasked128", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPSMasked256", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VRNDSCALEPSMasked256", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPSMasked512", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VRNDSCALEPSMasked512", argLength: 2, reg: wkw, asm: "VRNDSCALEPS", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPDMasked128", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VRNDSCALEPDMasked128", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPDMasked256", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VRNDSCALEPDMasked256", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VRNDSCALEPDMasked512", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VRNDSCALEPDMasked512", argLength: 2, reg: wkw, asm: "VRNDSCALEPD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VREDUCEPS128", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VREDUCEPS128", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VREDUCEPS256", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VREDUCEPS256", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VREDUCEPS512", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VREDUCEPS512", argLength: 1, reg: w11, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VREDUCEPD128", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VREDUCEPD128", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VREDUCEPD256", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VREDUCEPD256", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VREDUCEPD512", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VREDUCEPD512", argLength: 1, reg: w11, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VREDUCEPSMasked128", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VREDUCEPSMasked128", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VREDUCEPSMasked256", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VREDUCEPSMasked256", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VREDUCEPSMasked512", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VREDUCEPSMasked512", argLength: 2, reg: wkw, asm: "VREDUCEPS", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VREDUCEPDMasked128", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VREDUCEPDMasked128", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VREDUCEPDMasked256", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VREDUCEPDMasked256", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VREDUCEPDMasked512", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VREDUCEPDMasked512", argLength: 2, reg: wkw, asm: "VREDUCEPD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VCMPPS128", argLength: 2, reg: v21, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Vec128", resultInArg0: false},
|
{name: "VCMPPS128", argLength: 2, reg: v21, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VCMPPS256", argLength: 2, reg: v21, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Vec256", resultInArg0: false},
|
{name: "VCMPPS256", argLength: 2, reg: v21, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VCMPPS512", argLength: 2, reg: w2k, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPS512", argLength: 2, reg: w2k, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPD128", argLength: 2, reg: v21, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Vec128", resultInArg0: false},
|
{name: "VCMPPD128", argLength: 2, reg: v21, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VCMPPD256", argLength: 2, reg: v21, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Vec256", resultInArg0: false},
|
{name: "VCMPPD256", argLength: 2, reg: v21, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VCMPPD512", argLength: 2, reg: w2k, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPD512", argLength: 2, reg: w2k, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPSMasked128", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPSMasked128", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPSMasked256", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPSMasked256", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPSMasked512", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPSMasked512", argLength: 3, reg: w2kk, asm: "VCMPPS", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPDMasked128", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPDMasked128", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPDMasked256", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPDMasked256", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VCMPPDMasked512", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VCMPPDMasked512", argLength: 3, reg: w2kk, asm: "VCMPPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPBMasked128", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPBMasked128", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPBMasked256", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPBMasked256", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPBMasked512", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPBMasked512", argLength: 3, reg: w2kk, asm: "VPCMPB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPWMasked128", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPWMasked128", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPWMasked256", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPWMasked256", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPWMasked512", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPWMasked512", argLength: 3, reg: w2kk, asm: "VPCMPW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPDMasked128", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPDMasked128", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPDMasked256", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPDMasked256", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPDMasked512", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPDMasked512", argLength: 3, reg: w2kk, asm: "VPCMPD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQMasked128", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQMasked128", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQMasked256", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQMasked256", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQMasked512", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQMasked512", argLength: 3, reg: w2kk, asm: "VPCMPQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUBMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUBMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUBMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUBMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUBMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUBMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUB", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUWMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUWMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUWMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUWMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUWMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUWMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUW", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUDMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUDMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUDMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUDMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUDMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUDMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUD", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQMasked128", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQMasked256", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "Int8", commutative: true, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQMasked512", argLength: 3, reg: w2kk, asm: "VPCMPUQ", aux: "UInt8", commutative: true, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQB128", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VGF2P8AFFINEQB128", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQB256", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VGF2P8AFFINEQB256", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQB512", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VGF2P8AFFINEQB512", argLength: 2, reg: w21, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQB128", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQB128", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQB256", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQB256", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQB512", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQB512", argLength: 2, reg: w21, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQBMasked128", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQBMasked128", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQBMasked256", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQBMasked256", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEINVQBMasked512", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VGF2P8AFFINEINVQBMasked512", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEINVQB", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQBMasked128", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VGF2P8AFFINEQBMasked128", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQBMasked256", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VGF2P8AFFINEQBMasked256", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VGF2P8AFFINEQBMasked512", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VGF2P8AFFINEQBMasked512", argLength: 3, reg: w2kw, asm: "VGF2P8AFFINEQB", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPEXTRB128", argLength: 1, reg: wgp, asm: "VPEXTRB", aux: "Int8", commutative: false, typ: "int8", resultInArg0: false},
|
{name: "VPEXTRB128", argLength: 1, reg: wgp, asm: "VPEXTRB", aux: "UInt8", commutative: false, typ: "int8", resultInArg0: false},
|
||||||
{name: "VPEXTRW128", argLength: 1, reg: wgp, asm: "VPEXTRW", aux: "Int8", commutative: false, typ: "int16", resultInArg0: false},
|
{name: "VPEXTRW128", argLength: 1, reg: wgp, asm: "VPEXTRW", aux: "UInt8", commutative: false, typ: "int16", resultInArg0: false},
|
||||||
{name: "VPEXTRD128", argLength: 1, reg: vgp, asm: "VPEXTRD", aux: "Int8", commutative: false, typ: "int32", resultInArg0: false},
|
{name: "VPEXTRD128", argLength: 1, reg: vgp, asm: "VPEXTRD", aux: "UInt8", commutative: false, typ: "int32", resultInArg0: false},
|
||||||
{name: "VPEXTRQ128", argLength: 1, reg: vgp, asm: "VPEXTRQ", aux: "Int8", commutative: false, typ: "int64", resultInArg0: false},
|
{name: "VPEXTRQ128", argLength: 1, reg: vgp, asm: "VPEXTRQ", aux: "UInt8", commutative: false, typ: "int64", resultInArg0: false},
|
||||||
{name: "VEXTRACTF128128", argLength: 1, reg: v11, asm: "VEXTRACTF128", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VEXTRACTF128128", argLength: 1, reg: v11, asm: "VEXTRACTF128", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VEXTRACTF64X4256", argLength: 1, reg: w11, asm: "VEXTRACTF64X4", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VEXTRACTF64X4256", argLength: 1, reg: w11, asm: "VEXTRACTF64X4", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VEXTRACTI128128", argLength: 1, reg: v11, asm: "VEXTRACTI128", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VEXTRACTI128128", argLength: 1, reg: v11, asm: "VEXTRACTI128", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VEXTRACTI64X4256", argLength: 1, reg: w11, asm: "VEXTRACTI64X4", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VEXTRACTI64X4256", argLength: 1, reg: w11, asm: "VEXTRACTI64X4", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPCMPUB128", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUB128", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUB256", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUB256", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUB512", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUB512", argLength: 2, reg: w2k, asm: "VPCMPUB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUW128", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUW128", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUW256", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUW256", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUW512", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUW512", argLength: 2, reg: w2k, asm: "VPCMPUW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUD128", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUD128", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUD256", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUD256", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUD512", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUD512", argLength: 2, reg: w2k, asm: "VPCMPUD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQ128", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQ128", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQ256", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQ256", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPUQ512", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPUQ512", argLength: 2, reg: w2k, asm: "VPCMPUQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPB128", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPB128", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPB256", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPB256", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPB512", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPB512", argLength: 2, reg: w2k, asm: "VPCMPB", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPW128", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPW128", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPW256", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPW256", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPW512", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPW512", argLength: 2, reg: w2k, asm: "VPCMPW", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPD128", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPD128", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPD256", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPD256", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPD512", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPD512", argLength: 2, reg: w2k, asm: "VPCMPD", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQ128", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQ128", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQ256", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQ256", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPCMPQ512", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "Int8", commutative: false, typ: "Mask", resultInArg0: false},
|
{name: "VPCMPQ512", argLength: 2, reg: w2k, asm: "VPCMPQ", aux: "UInt8", commutative: false, typ: "Mask", resultInArg0: false},
|
||||||
{name: "VPROLD128", argLength: 1, reg: w11, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPROLD128", argLength: 1, reg: w11, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPROLD256", argLength: 1, reg: w11, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPROLD256", argLength: 1, reg: w11, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPROLD512", argLength: 1, reg: w11, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPROLD512", argLength: 1, reg: w11, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPROLQ128", argLength: 1, reg: w11, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPROLQ128", argLength: 1, reg: w11, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPROLQ256", argLength: 1, reg: w11, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPROLQ256", argLength: 1, reg: w11, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPROLQ512", argLength: 1, reg: w11, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPROLQ512", argLength: 1, reg: w11, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPROLDMasked128", argLength: 2, reg: wkw, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPROLDMasked128", argLength: 2, reg: wkw, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPROLDMasked256", argLength: 2, reg: wkw, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPROLDMasked256", argLength: 2, reg: wkw, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPROLDMasked512", argLength: 2, reg: wkw, asm: "VPROLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPROLDMasked512", argLength: 2, reg: wkw, asm: "VPROLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPROLQMasked128", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPROLQMasked128", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPROLQMasked256", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPROLQMasked256", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPROLQMasked512", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPROLQMasked512", argLength: 2, reg: wkw, asm: "VPROLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPRORD128", argLength: 1, reg: w11, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPRORD128", argLength: 1, reg: w11, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPRORD256", argLength: 1, reg: w11, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPRORD256", argLength: 1, reg: w11, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPRORD512", argLength: 1, reg: w11, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPRORD512", argLength: 1, reg: w11, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPRORQ128", argLength: 1, reg: w11, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPRORQ128", argLength: 1, reg: w11, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPRORQ256", argLength: 1, reg: w11, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPRORQ256", argLength: 1, reg: w11, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPRORQ512", argLength: 1, reg: w11, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPRORQ512", argLength: 1, reg: w11, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPRORDMasked128", argLength: 2, reg: wkw, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPRORDMasked128", argLength: 2, reg: wkw, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPRORDMasked256", argLength: 2, reg: wkw, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPRORDMasked256", argLength: 2, reg: wkw, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPRORDMasked512", argLength: 2, reg: wkw, asm: "VPRORD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPRORDMasked512", argLength: 2, reg: wkw, asm: "VPRORD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPRORQMasked128", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPRORQMasked128", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPRORQMasked256", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPRORQMasked256", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPRORQMasked512", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPRORQMasked512", argLength: 2, reg: wkw, asm: "VPRORQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPINSRB128", argLength: 2, reg: vgpv, asm: "VPINSRB", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPINSRB128", argLength: 2, reg: vgpv, asm: "VPINSRB", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPINSRW128", argLength: 2, reg: vgpv, asm: "VPINSRW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPINSRW128", argLength: 2, reg: vgpv, asm: "VPINSRW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPINSRD128", argLength: 2, reg: vgpv, asm: "VPINSRD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPINSRD128", argLength: 2, reg: vgpv, asm: "VPINSRD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPINSRQ128", argLength: 2, reg: vgpv, asm: "VPINSRQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPINSRQ128", argLength: 2, reg: vgpv, asm: "VPINSRQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VINSERTF128256", argLength: 2, reg: v21, asm: "VINSERTF128", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VINSERTF128256", argLength: 2, reg: v21, asm: "VINSERTF128", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VINSERTF64X4512", argLength: 2, reg: w21, asm: "VINSERTF64X4", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VINSERTF64X4512", argLength: 2, reg: w21, asm: "VINSERTF64X4", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VINSERTI128256", argLength: 2, reg: v21, asm: "VINSERTI128", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VINSERTI128256", argLength: 2, reg: v21, asm: "VINSERTI128", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VINSERTI64X4512", argLength: 2, reg: w21, asm: "VINSERTI64X4", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VINSERTI64X4512", argLength: 2, reg: w21, asm: "VINSERTI64X4", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDW128", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDW128", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDW256", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDW256", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDW512", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDW512", argLength: 2, reg: w21, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDD128", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDD128", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDD256", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDD256", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDD512", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDD512", argLength: 2, reg: w21, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDQ128", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDQ128", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDQ256", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDQ256", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDQ512", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDQ512", argLength: 2, reg: w21, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDWMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDWMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDWMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDWMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDWMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDWMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDDMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDDMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDDMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDDMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDDMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDDMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHLDQMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHLDQMasked128", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHLDQMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHLDQMasked256", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHLDQMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHLDQMasked512", argLength: 3, reg: w2kw, asm: "VPSHLDQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDW128", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDW128", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDW256", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDW256", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDW512", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDW512", argLength: 2, reg: w21, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDD128", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDD128", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDD256", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDD256", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDD512", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDD512", argLength: 2, reg: w21, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDQ128", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDQ128", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDQ256", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDQ256", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDQ512", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDQ512", argLength: 2, reg: w21, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDWMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDWMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDWMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDWMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDWMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDWMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDDMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDDMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDDMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDDMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDDMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDDMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSHRDQMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSHRDQMasked128", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSHRDQMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSHRDQMasked256", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSHRDQMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSHRDQMasked512", argLength: 3, reg: w2kw, asm: "VPSHRDQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLW128const", argLength: 1, reg: v11, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLW128const", argLength: 1, reg: v11, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLW256const", argLength: 1, reg: v11, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLW256const", argLength: 1, reg: v11, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLW512const", argLength: 1, reg: w11, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLW512const", argLength: 1, reg: w11, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLD128const", argLength: 1, reg: v11, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLD128const", argLength: 1, reg: v11, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLD256const", argLength: 1, reg: v11, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLD256const", argLength: 1, reg: v11, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLD512const", argLength: 1, reg: w11, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLD512const", argLength: 1, reg: w11, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLQ128const", argLength: 1, reg: v11, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLQ128const", argLength: 1, reg: v11, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLQ256const", argLength: 1, reg: v11, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLQ256const", argLength: 1, reg: v11, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLQ512const", argLength: 1, reg: w11, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLQ512const", argLength: 1, reg: w11, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLWMasked128const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLWMasked128const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLWMasked256const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLWMasked256const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLWMasked512const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLWMasked512const", argLength: 2, reg: wkw, asm: "VPSLLW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLDMasked128const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLDMasked128const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLDMasked256const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLDMasked256const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLDMasked512const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLDMasked512const", argLength: 2, reg: wkw, asm: "VPSLLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSLLQMasked128const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSLLQMasked128const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSLLQMasked256const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSLLQMasked256const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSLLQMasked512const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSLLQMasked512const", argLength: 2, reg: wkw, asm: "VPSLLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLW128const", argLength: 1, reg: v11, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLW128const", argLength: 1, reg: v11, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLW256const", argLength: 1, reg: v11, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLW256const", argLength: 1, reg: v11, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLW512const", argLength: 1, reg: w11, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLW512const", argLength: 1, reg: w11, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLD128const", argLength: 1, reg: v11, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLD128const", argLength: 1, reg: v11, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLD256const", argLength: 1, reg: v11, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLD256const", argLength: 1, reg: v11, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLD512const", argLength: 1, reg: w11, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLD512const", argLength: 1, reg: w11, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLQ128const", argLength: 1, reg: v11, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLQ128const", argLength: 1, reg: v11, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLQ256const", argLength: 1, reg: v11, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLQ256const", argLength: 1, reg: v11, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLQ512const", argLength: 1, reg: w11, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLQ512const", argLength: 1, reg: w11, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRAW128const", argLength: 1, reg: v11, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRAW128const", argLength: 1, reg: v11, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRAW256const", argLength: 1, reg: v11, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRAW256const", argLength: 1, reg: v11, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRAW512const", argLength: 1, reg: w11, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRAW512const", argLength: 1, reg: w11, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRAD128const", argLength: 1, reg: v11, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRAD128const", argLength: 1, reg: v11, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRAD256const", argLength: 1, reg: v11, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRAD256const", argLength: 1, reg: v11, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRAD512const", argLength: 1, reg: w11, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRAD512const", argLength: 1, reg: w11, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRAQ128const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRAQ128const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRAQ256const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRAQ256const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRAQ512const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRAQ512const", argLength: 1, reg: w11, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLWMasked128const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLWMasked128const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLWMasked256const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLWMasked256const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLWMasked512const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLWMasked512const", argLength: 2, reg: wkw, asm: "VPSRLW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLDMasked128const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLDMasked128const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLDMasked256const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLDMasked256const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLDMasked512const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLDMasked512const", argLength: 2, reg: wkw, asm: "VPSRLD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRLQMasked128const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRLQMasked128const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRLQMasked256const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRLQMasked256const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRLQMasked512const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRLQMasked512const", argLength: 2, reg: wkw, asm: "VPSRLQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRAWMasked128const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRAWMasked128const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRAWMasked256const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRAWMasked256const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRAWMasked512const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRAWMasked512const", argLength: 2, reg: wkw, asm: "VPSRAW", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRADMasked128const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRADMasked128const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRADMasked256const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRADMasked256const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRADMasked512const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRADMasked512const", argLength: 2, reg: wkw, asm: "VPSRAD", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
{name: "VPSRAQMasked128const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec128", resultInArg0: false},
|
{name: "VPSRAQMasked128const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec128", resultInArg0: false},
|
||||||
{name: "VPSRAQMasked256const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec256", resultInArg0: false},
|
{name: "VPSRAQMasked256const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec256", resultInArg0: false},
|
||||||
{name: "VPSRAQMasked512const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "Int8", commutative: false, typ: "Vec512", resultInArg0: false},
|
{name: "VPSRAQMasked512const", argLength: 2, reg: wkw, asm: "VPSRAQ", aux: "UInt8", commutative: false, typ: "Vec512", resultInArg0: false},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1665,249 +1665,249 @@ func simdGenericOps() []opData {
|
||||||
{name: "blendMaskedInt16x32", argLength: 3, commutative: false},
|
{name: "blendMaskedInt16x32", argLength: 3, commutative: false},
|
||||||
{name: "blendMaskedInt32x16", argLength: 3, commutative: false},
|
{name: "blendMaskedInt32x16", argLength: 3, commutative: false},
|
||||||
{name: "blendMaskedInt64x8", argLength: 3, commutative: false},
|
{name: "blendMaskedInt64x8", argLength: 3, commutative: false},
|
||||||
{name: "CeilScaledFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "CeilScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "CeilScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "FloorScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "FloorScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseMaskedUint8x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseMaskedUint8x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseMaskedUint8x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseMaskedUint8x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseMaskedUint8x64", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseMaskedUint8x64", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseUint8x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseUint8x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseUint8x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseUint8x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformInverseUint8x64", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformInverseUint8x64", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformMaskedUint8x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformMaskedUint8x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformMaskedUint8x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformMaskedUint8x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformMaskedUint8x64", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformMaskedUint8x64", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformUint8x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformUint8x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformUint8x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformUint8x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GaloisFieldAffineTransformUint8x64", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "GaloisFieldAffineTransformUint8x64", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemInt8x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemInt8x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemInt16x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemInt16x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemInt32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemInt32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemInt64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemInt64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemUint8x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemUint8x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemUint16x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemUint16x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemUint32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemUint32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "GetElemUint64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "GetElemUint64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftInt64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftInt64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedInt64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedInt64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftMaskedUint64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftMaskedUint64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllLeftUint64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllLeftUint64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightInt64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightInt64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedInt64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedInt64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightMaskedUint64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightMaskedUint64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RotateAllRightUint64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RotateAllRightUint64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "RoundToEvenScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "RoundToEvenScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemInt8x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemInt8x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemInt16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemInt16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemInt32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemInt32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemInt64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemInt64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemUint8x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemUint8x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemUint16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemUint16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemUint32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemUint32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "SetElemUint64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "SetElemUint64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt16x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt16x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt16x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt16x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatInt64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatInt64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt16x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt16x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt16x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt16x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt16x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt16x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt32x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt32x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt32x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt32x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt32x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt32x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt64x2", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt64x2", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt64x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt64x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedInt64x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedInt64x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint16x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint16x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint16x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint16x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint16x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint16x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint32x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint32x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint32x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint32x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint32x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint32x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint64x2", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint64x2", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint64x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint64x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatMaskedUint64x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatMaskedUint64x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint16x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint16x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint16x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint16x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllLeftConcatUint64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllLeftConcatUint64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt16x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt16x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt16x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt16x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatInt64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatInt64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt16x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt16x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt16x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt16x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt16x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt16x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt32x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt32x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt32x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt32x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt32x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt32x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt64x2", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt64x2", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt64x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt64x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedInt64x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedInt64x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint16x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint16x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint16x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint16x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint16x32", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint16x32", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint32x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint32x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint32x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint32x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint32x16", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint32x16", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint64x2", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint64x2", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint64x4", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint64x4", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatMaskedUint64x8", argLength: 3, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatMaskedUint64x8", argLength: 3, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint16x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint16x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint16x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint16x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint16x32", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint16x32", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "ShiftAllRightConcatUint64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "ShiftAllRightConcatUint64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat32x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat32x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat32x16", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat64x2", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat64x4", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueFloat64x8", argLength: 1, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat32x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat32x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat32x16", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat64x2", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat64x4", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
{name: "TruncScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "Int8"},
|
{name: "TruncScaledResidueMaskedFloat64x8", argLength: 2, commutative: false, aux: "UInt8"},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,8 @@ func checkFunc(f *Func) {
|
||||||
case auxInt128:
|
case auxInt128:
|
||||||
// AuxInt must be zero, so leave canHaveAuxInt set to false.
|
// AuxInt must be zero, so leave canHaveAuxInt set to false.
|
||||||
case auxUInt8:
|
case auxUInt8:
|
||||||
if v.AuxInt != int64(uint8(v.AuxInt)) {
|
// Cast to int8 due to requirement of AuxInt, check its comment for details.
|
||||||
|
if v.AuxInt != int64(int8(v.AuxInt)) {
|
||||||
f.Fatalf("bad uint8 AuxInt value for %v", v)
|
f.Fatalf("bad uint8 AuxInt value for %v", v)
|
||||||
}
|
}
|
||||||
canHaveAuxInt = true
|
canHaveAuxInt = true
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1670,12 +1670,42 @@ func opLen4_31(op ssa.Op, t *types.Type) func(s *state, n *ir.CallExpr, args []*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func plainPanicSimdImm(s *state) {
|
func immJumpTable(s *state, idx *ssa.Value, intrinsicCall *ir.CallExpr, genOp func(*state, int)) *ssa.Value {
|
||||||
cmp := s.newValue0(ssa.OpConstBool, types.Types[types.TBOOL])
|
// Make blocks we'll need.
|
||||||
cmp.AuxInt = 0
|
bEnd := s.f.NewBlock(ssa.BlockPlain)
|
||||||
// TODO: make this a standalone panic instead of reusing the overflow panic.
|
|
||||||
// Or maybe after we implement the switch table this will be obsolete anyway.
|
t := types.Types[types.TUINT8]
|
||||||
s.check(cmp, ir.Syms.Panicoverflow)
|
if !idx.Type.IsKind(types.TUINT8) {
|
||||||
|
panic("immJumpTable expects uint8 value")
|
||||||
|
}
|
||||||
|
// We will exhaust 0-255, so no need to check the bounds.
|
||||||
|
|
||||||
|
b := s.curBlock
|
||||||
|
b.Kind = ssa.BlockJumpTable
|
||||||
|
b.Pos = intrinsicCall.Pos()
|
||||||
|
if base.Flag.Cfg.SpectreIndex {
|
||||||
|
// Potential Spectre vulnerability hardening?
|
||||||
|
idx = s.newValue2(ssa.OpSpectreSliceIndex, t, idx, s.uintptrConstant(255))
|
||||||
|
}
|
||||||
|
b.SetControl(idx)
|
||||||
|
targets := [256]*ssa.Block{}
|
||||||
|
for i := range 256 {
|
||||||
|
t := s.f.NewBlock(ssa.BlockPlain)
|
||||||
|
targets[i] = t
|
||||||
|
b.AddEdgeTo(t)
|
||||||
|
}
|
||||||
|
s.endBlock()
|
||||||
|
|
||||||
|
for i, t := range targets {
|
||||||
|
s.startBlock(t)
|
||||||
|
genOp(s, i)
|
||||||
|
t.AddEdgeTo(bEnd)
|
||||||
|
s.endBlock()
|
||||||
|
}
|
||||||
|
|
||||||
|
s.startBlock(bEnd)
|
||||||
|
ret := s.variable(intrinsicCall, intrinsicCall.Type())
|
||||||
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
func opLen1Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
func opLen1Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
|
||||||
|
|
@ -1683,12 +1713,10 @@ func opLen1Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallE
|
||||||
if args[1].Op == ssa.OpConst8 {
|
if args[1].Op == ssa.OpConst8 {
|
||||||
return s.newValue1I(op, t, args[1].AuxInt<<int64(offset), args[0])
|
return s.newValue1I(op, t, args[1].AuxInt<<int64(offset), args[0])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[1], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue1I(op, t, int64(int8(idx<<offset)), args[0])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue1I(op, t, 0, args[0])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1697,12 +1725,10 @@ func opLen2Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallE
|
||||||
if args[1].Op == ssa.OpConst8 {
|
if args[1].Op == ssa.OpConst8 {
|
||||||
return s.newValue2I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2])
|
return s.newValue2I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[1], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue2I(op, t, int64(int8(idx<<offset)), args[0], args[2])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue2I(op, t, 0, args[0], args[2])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1711,12 +1737,10 @@ func opLen3Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallE
|
||||||
if args[1].Op == ssa.OpConst8 {
|
if args[1].Op == ssa.OpConst8 {
|
||||||
return s.newValue3I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2], args[3])
|
return s.newValue3I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2], args[3])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[1], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue3I(op, t, int64(int8(idx<<offset)), args[0], args[2], args[3])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue3I(op, t, 0, args[0], args[2], args[3])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1725,12 +1749,10 @@ func opLen2Imm8_2I(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.Ca
|
||||||
if args[2].Op == ssa.OpConst8 {
|
if args[2].Op == ssa.OpConst8 {
|
||||||
return s.newValue2I(op, t, args[2].AuxInt<<int64(offset), args[0], args[1])
|
return s.newValue2I(op, t, args[2].AuxInt<<int64(offset), args[0], args[1])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[2], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue2I(op, t, int64(int8(idx<<offset)), args[0], args[1])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue2I(op, t, 0, args[0], args[1])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1739,12 +1761,10 @@ func opLen3Imm8_2I(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.Ca
|
||||||
if args[2].Op == ssa.OpConst8 {
|
if args[2].Op == ssa.OpConst8 {
|
||||||
return s.newValue3I(op, t, args[2].AuxInt<<int64(offset), args[0], args[1], args[3])
|
return s.newValue3I(op, t, args[2].AuxInt<<int64(offset), args[0], args[1], args[3])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[2], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue3I(op, t, int64(int8(idx<<offset)), args[0], args[1], args[3])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue3I(op, t, 0, args[0], args[1], args[3])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1753,12 +1773,10 @@ func opLen4Imm8(op ssa.Op, t *types.Type, offset int) func(s *state, n *ir.CallE
|
||||||
if args[1].Op == ssa.OpConst8 {
|
if args[1].Op == ssa.OpConst8 {
|
||||||
return s.newValue4I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2], args[3], args[4])
|
return s.newValue4I(op, t, args[1].AuxInt<<int64(offset), args[0], args[2], args[3], args[4])
|
||||||
}
|
}
|
||||||
plainPanicSimdImm(s)
|
return immJumpTable(s, args[1], n, func(sNew *state, idx int) {
|
||||||
// Even though this default call is unreachable semantically,
|
// Encode as int8 due to requirement of AuxInt, check its comment for details.
|
||||||
// it has to return something, otherwise the compiler will try to generate
|
s.vars[n] = sNew.newValue4I(op, t, int64(int8(idx<<offset)), args[0], args[2], args[3], args[4])
|
||||||
// default codes which might lead to a FwdRef being put at the entry block
|
})
|
||||||
// triggering a compiler panic.
|
|
||||||
return s.newValue4I(op, t, 0, args[0], args[2], args[3], args[4])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -396,3 +396,19 @@ func TestMergeFloat(t *testing.T) {
|
||||||
c.StoreSlice(s)
|
c.StoreSlice(s)
|
||||||
checkSlices[float64](t, s, []float64{4, 2, 3, 4})
|
checkSlices[float64](t, s, []float64{4, 2, 3, 4})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var ro uint8 = 2
|
||||||
|
|
||||||
|
func TestRotateAllVariable(t *testing.T) {
|
||||||
|
if !simd.HasAVX512() {
|
||||||
|
t.Skip("Test requires HasAVX512, not available on this hardware")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
got := make([]int32, 4)
|
||||||
|
simd.LoadInt32x4Slice([]int32{0b11, 0b11, 0b11, 0b11}).RotateAllLeft(ro).StoreSlice(got)
|
||||||
|
for _, v := range got {
|
||||||
|
if v != 0b1100 {
|
||||||
|
t.Errorf("Want 0b1100, got %b", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue