(ExpandUint64x2 x mask) => (VPEXPANDQMasked128 x (VPMOVVec64x2ToM <types.TypeMask> mask))
(ExpandUint64x4 x mask) => (VPEXPANDQMasked256 x (VPMOVVec64x4ToM <types.TypeMask> mask))
(ExpandUint64x8 x mask) => (VPEXPANDQMasked512 x (VPMOVVec64x8ToM <types.TypeMask> mask))
-(ExtendLo2ToInt64x2Int8x16 ...) => (VPMOVSXBQ128 ...)
-(ExtendLo2ToInt64x2Int16x8 ...) => (VPMOVSXWQ128 ...)
-(ExtendLo2ToInt64x2Int32x4 ...) => (VPMOVSXDQ128 ...)
-(ExtendLo2ToUint64x2Uint8x16 ...) => (VPMOVZXBQ128 ...)
-(ExtendLo2ToUint64x2Uint16x8 ...) => (VPMOVZXWQ128 ...)
-(ExtendLo2ToUint64x2Uint32x4 ...) => (VPMOVZXDQ128 ...)
-(ExtendLo4ToInt32x4Int8x16 ...) => (VPMOVSXBD128 ...)
-(ExtendLo4ToInt32x4Int16x8 ...) => (VPMOVSXWD128 ...)
-(ExtendLo4ToInt64x4Int8x16 ...) => (VPMOVSXBQ256 ...)
-(ExtendLo4ToInt64x4Int16x8 ...) => (VPMOVSXWQ256 ...)
-(ExtendLo4ToUint32x4Uint8x16 ...) => (VPMOVZXBD128 ...)
-(ExtendLo4ToUint32x4Uint16x8 ...) => (VPMOVZXWD128 ...)
-(ExtendLo4ToUint64x4Uint8x16 ...) => (VPMOVZXBQ256 ...)
-(ExtendLo4ToUint64x4Uint16x8 ...) => (VPMOVZXWQ256 ...)
-(ExtendLo8ToInt16x8Int8x16 ...) => (VPMOVSXBW128 ...)
-(ExtendLo8ToInt32x8Int8x16 ...) => (VPMOVSXBD256 ...)
-(ExtendLo8ToInt64x8Int8x16 ...) => (VPMOVSXBQ512 ...)
-(ExtendLo8ToUint16x8Uint8x16 ...) => (VPMOVZXBW128 ...)
-(ExtendLo8ToUint32x8Uint8x16 ...) => (VPMOVZXBD256 ...)
-(ExtendLo8ToUint64x8Uint8x16 ...) => (VPMOVZXBQ512 ...)
+(ExtendLo2ToInt64Int8x16 ...) => (VPMOVSXBQ128 ...)
+(ExtendLo2ToInt64Int16x8 ...) => (VPMOVSXWQ128 ...)
+(ExtendLo2ToInt64Int32x4 ...) => (VPMOVSXDQ128 ...)
+(ExtendLo2ToUint64Uint8x16 ...) => (VPMOVZXBQ128 ...)
+(ExtendLo2ToUint64Uint16x8 ...) => (VPMOVZXWQ128 ...)
+(ExtendLo2ToUint64Uint32x4 ...) => (VPMOVZXDQ128 ...)
+(ExtendLo4ToInt32Int8x16 ...) => (VPMOVSXBD128 ...)
+(ExtendLo4ToInt32Int16x8 ...) => (VPMOVSXWD128 ...)
+(ExtendLo4ToInt64Int8x16 ...) => (VPMOVSXBQ256 ...)
+(ExtendLo4ToInt64Int16x8 ...) => (VPMOVSXWQ256 ...)
+(ExtendLo4ToUint32Uint8x16 ...) => (VPMOVZXBD128 ...)
+(ExtendLo4ToUint32Uint16x8 ...) => (VPMOVZXWD128 ...)
+(ExtendLo4ToUint64Uint8x16 ...) => (VPMOVZXBQ256 ...)
+(ExtendLo4ToUint64Uint16x8 ...) => (VPMOVZXWQ256 ...)
+(ExtendLo8ToInt16Int8x16 ...) => (VPMOVSXBW128 ...)
+(ExtendLo8ToInt32Int8x16 ...) => (VPMOVSXBD256 ...)
+(ExtendLo8ToInt64Int8x16 ...) => (VPMOVSXBQ512 ...)
+(ExtendLo8ToUint16Uint8x16 ...) => (VPMOVZXBW128 ...)
+(ExtendLo8ToUint32Uint8x16 ...) => (VPMOVZXBD256 ...)
+(ExtendLo8ToUint64Uint8x16 ...) => (VPMOVZXBQ512 ...)
(ExtendToInt16Int8x16 ...) => (VPMOVSXBW256 ...)
(ExtendToInt16Int8x32 ...) => (VPMOVSXBW512 ...)
(ExtendToInt32Int8x16 ...) => (VPMOVSXBD512 ...)
{name: "ExpandUint64x2", argLength: 2, commutative: false},
{name: "ExpandUint64x4", argLength: 2, commutative: false},
{name: "ExpandUint64x8", argLength: 2, commutative: false},
- {name: "ExtendLo2ToInt64x2Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo2ToInt64x2Int16x8", argLength: 1, commutative: false},
- {name: "ExtendLo2ToInt64x2Int32x4", argLength: 1, commutative: false},
- {name: "ExtendLo2ToUint64x2Uint8x16", argLength: 1, commutative: false},
- {name: "ExtendLo2ToUint64x2Uint16x8", argLength: 1, commutative: false},
- {name: "ExtendLo2ToUint64x2Uint32x4", argLength: 1, commutative: false},
- {name: "ExtendLo4ToInt32x4Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo4ToInt32x4Int16x8", argLength: 1, commutative: false},
- {name: "ExtendLo4ToInt64x4Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo4ToInt64x4Int16x8", argLength: 1, commutative: false},
- {name: "ExtendLo4ToUint32x4Uint8x16", argLength: 1, commutative: false},
- {name: "ExtendLo4ToUint32x4Uint16x8", argLength: 1, commutative: false},
- {name: "ExtendLo4ToUint64x4Uint8x16", argLength: 1, commutative: false},
- {name: "ExtendLo4ToUint64x4Uint16x8", argLength: 1, commutative: false},
- {name: "ExtendLo8ToInt16x8Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo8ToInt32x8Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo8ToInt64x8Int8x16", argLength: 1, commutative: false},
- {name: "ExtendLo8ToUint16x8Uint8x16", argLength: 1, commutative: false},
- {name: "ExtendLo8ToUint32x8Uint8x16", argLength: 1, commutative: false},
- {name: "ExtendLo8ToUint64x8Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToInt64Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToInt64Int16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToInt64Int32x4", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToUint64Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToUint64Uint16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo2ToUint64Uint32x4", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToInt32Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToInt32Int16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToInt64Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToInt64Int16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToUint32Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToUint32Uint16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToUint64Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo4ToUint64Uint16x8", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToInt16Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToInt32Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToInt64Int8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToUint16Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToUint32Uint8x16", argLength: 1, commutative: false},
+ {name: "ExtendLo8ToUint64Uint8x16", argLength: 1, commutative: false},
{name: "ExtendToInt16Int8x16", argLength: 1, commutative: false},
{name: "ExtendToInt16Int8x32", argLength: 1, commutative: false},
{name: "ExtendToInt32Int8x16", argLength: 1, commutative: false},
OpExpandUint64x2
OpExpandUint64x4
OpExpandUint64x8
- OpExtendLo2ToInt64x2Int8x16
- OpExtendLo2ToInt64x2Int16x8
- OpExtendLo2ToInt64x2Int32x4
- OpExtendLo2ToUint64x2Uint8x16
- OpExtendLo2ToUint64x2Uint16x8
- OpExtendLo2ToUint64x2Uint32x4
- OpExtendLo4ToInt32x4Int8x16
- OpExtendLo4ToInt32x4Int16x8
- OpExtendLo4ToInt64x4Int8x16
- OpExtendLo4ToInt64x4Int16x8
- OpExtendLo4ToUint32x4Uint8x16
- OpExtendLo4ToUint32x4Uint16x8
- OpExtendLo4ToUint64x4Uint8x16
- OpExtendLo4ToUint64x4Uint16x8
- OpExtendLo8ToInt16x8Int8x16
- OpExtendLo8ToInt32x8Int8x16
- OpExtendLo8ToInt64x8Int8x16
- OpExtendLo8ToUint16x8Uint8x16
- OpExtendLo8ToUint32x8Uint8x16
- OpExtendLo8ToUint64x8Uint8x16
+ OpExtendLo2ToInt64Int8x16
+ OpExtendLo2ToInt64Int16x8
+ OpExtendLo2ToInt64Int32x4
+ OpExtendLo2ToUint64Uint8x16
+ OpExtendLo2ToUint64Uint16x8
+ OpExtendLo2ToUint64Uint32x4
+ OpExtendLo4ToInt32Int8x16
+ OpExtendLo4ToInt32Int16x8
+ OpExtendLo4ToInt64Int8x16
+ OpExtendLo4ToInt64Int16x8
+ OpExtendLo4ToUint32Uint8x16
+ OpExtendLo4ToUint32Uint16x8
+ OpExtendLo4ToUint64Uint8x16
+ OpExtendLo4ToUint64Uint16x8
+ OpExtendLo8ToInt16Int8x16
+ OpExtendLo8ToInt32Int8x16
+ OpExtendLo8ToInt64Int8x16
+ OpExtendLo8ToUint16Uint8x16
+ OpExtendLo8ToUint32Uint8x16
+ OpExtendLo8ToUint64Uint8x16
OpExtendToInt16Int8x16
OpExtendToInt16Int8x32
OpExtendToInt32Int8x16
generic: true,
},
{
- name: "ExtendLo2ToInt64x2Int8x16",
+ name: "ExtendLo2ToInt64Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo2ToInt64x2Int16x8",
+ name: "ExtendLo2ToInt64Int16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo2ToInt64x2Int32x4",
+ name: "ExtendLo2ToInt64Int32x4",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo2ToUint64x2Uint8x16",
+ name: "ExtendLo2ToUint64Uint8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo2ToUint64x2Uint16x8",
+ name: "ExtendLo2ToUint64Uint16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo2ToUint64x2Uint32x4",
+ name: "ExtendLo2ToUint64Uint32x4",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToInt32x4Int8x16",
+ name: "ExtendLo4ToInt32Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToInt32x4Int16x8",
+ name: "ExtendLo4ToInt32Int16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToInt64x4Int8x16",
+ name: "ExtendLo4ToInt64Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToInt64x4Int16x8",
+ name: "ExtendLo4ToInt64Int16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToUint32x4Uint8x16",
+ name: "ExtendLo4ToUint32Uint8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToUint32x4Uint16x8",
+ name: "ExtendLo4ToUint32Uint16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToUint64x4Uint8x16",
+ name: "ExtendLo4ToUint64Uint8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo4ToUint64x4Uint16x8",
+ name: "ExtendLo4ToUint64Uint16x8",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToInt16x8Int8x16",
+ name: "ExtendLo8ToInt16Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToInt32x8Int8x16",
+ name: "ExtendLo8ToInt32Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToInt64x8Int8x16",
+ name: "ExtendLo8ToInt64Int8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToUint16x8Uint8x16",
+ name: "ExtendLo8ToUint16Uint8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToUint32x8Uint8x16",
+ name: "ExtendLo8ToUint32Uint8x16",
argLen: 1,
generic: true,
},
{
- name: "ExtendLo8ToUint64x8Uint8x16",
+ name: "ExtendLo8ToUint64Uint8x16",
argLen: 1,
generic: true,
},
return rewriteValueAMD64_OpExpandUint8x32(v)
case OpExpandUint8x64:
return rewriteValueAMD64_OpExpandUint8x64(v)
- case OpExtendLo2ToInt64x2Int16x8:
+ case OpExtendLo2ToInt64Int16x8:
v.Op = OpAMD64VPMOVSXWQ128
return true
- case OpExtendLo2ToInt64x2Int32x4:
+ case OpExtendLo2ToInt64Int32x4:
v.Op = OpAMD64VPMOVSXDQ128
return true
- case OpExtendLo2ToInt64x2Int8x16:
+ case OpExtendLo2ToInt64Int8x16:
v.Op = OpAMD64VPMOVSXBQ128
return true
- case OpExtendLo2ToUint64x2Uint16x8:
+ case OpExtendLo2ToUint64Uint16x8:
v.Op = OpAMD64VPMOVZXWQ128
return true
- case OpExtendLo2ToUint64x2Uint32x4:
+ case OpExtendLo2ToUint64Uint32x4:
v.Op = OpAMD64VPMOVZXDQ128
return true
- case OpExtendLo2ToUint64x2Uint8x16:
+ case OpExtendLo2ToUint64Uint8x16:
v.Op = OpAMD64VPMOVZXBQ128
return true
- case OpExtendLo4ToInt32x4Int16x8:
+ case OpExtendLo4ToInt32Int16x8:
v.Op = OpAMD64VPMOVSXWD128
return true
- case OpExtendLo4ToInt32x4Int8x16:
+ case OpExtendLo4ToInt32Int8x16:
v.Op = OpAMD64VPMOVSXBD128
return true
- case OpExtendLo4ToInt64x4Int16x8:
+ case OpExtendLo4ToInt64Int16x8:
v.Op = OpAMD64VPMOVSXWQ256
return true
- case OpExtendLo4ToInt64x4Int8x16:
+ case OpExtendLo4ToInt64Int8x16:
v.Op = OpAMD64VPMOVSXBQ256
return true
- case OpExtendLo4ToUint32x4Uint16x8:
+ case OpExtendLo4ToUint32Uint16x8:
v.Op = OpAMD64VPMOVZXWD128
return true
- case OpExtendLo4ToUint32x4Uint8x16:
+ case OpExtendLo4ToUint32Uint8x16:
v.Op = OpAMD64VPMOVZXBD128
return true
- case OpExtendLo4ToUint64x4Uint16x8:
+ case OpExtendLo4ToUint64Uint16x8:
v.Op = OpAMD64VPMOVZXWQ256
return true
- case OpExtendLo4ToUint64x4Uint8x16:
+ case OpExtendLo4ToUint64Uint8x16:
v.Op = OpAMD64VPMOVZXBQ256
return true
- case OpExtendLo8ToInt16x8Int8x16:
+ case OpExtendLo8ToInt16Int8x16:
v.Op = OpAMD64VPMOVSXBW128
return true
- case OpExtendLo8ToInt32x8Int8x16:
+ case OpExtendLo8ToInt32Int8x16:
v.Op = OpAMD64VPMOVSXBD256
return true
- case OpExtendLo8ToInt64x8Int8x16:
+ case OpExtendLo8ToInt64Int8x16:
v.Op = OpAMD64VPMOVSXBQ512
return true
- case OpExtendLo8ToUint16x8Uint8x16:
+ case OpExtendLo8ToUint16Uint8x16:
v.Op = OpAMD64VPMOVZXBW128
return true
- case OpExtendLo8ToUint32x8Uint8x16:
+ case OpExtendLo8ToUint32Uint8x16:
v.Op = OpAMD64VPMOVZXBD256
return true
- case OpExtendLo8ToUint64x8Uint8x16:
+ case OpExtendLo8ToUint64Uint8x16:
v.Op = OpAMD64VPMOVZXBQ512
return true
case OpExtendToInt16Int8x16:
addF(simdPackage, "Uint64x2.Expand", opLen2(ssa.OpExpandUint64x2, types.TypeVec128), sys.AMD64)
addF(simdPackage, "Uint64x4.Expand", opLen2(ssa.OpExpandUint64x4, types.TypeVec256), sys.AMD64)
addF(simdPackage, "Uint64x8.Expand", opLen2(ssa.OpExpandUint64x8, types.TypeVec512), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo2ToInt64x2", opLen1(ssa.OpExtendLo2ToInt64x2Int8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int16x8.ExtendLo2ToInt64x2", opLen1(ssa.OpExtendLo2ToInt64x2Int16x8, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int32x4.ExtendLo2ToInt64x2", opLen1(ssa.OpExtendLo2ToInt64x2Int32x4, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo2ToUint64x2", opLen1(ssa.OpExtendLo2ToUint64x2Uint8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint16x8.ExtendLo2ToUint64x2", opLen1(ssa.OpExtendLo2ToUint64x2Uint16x8, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint32x4.ExtendLo2ToUint64x2", opLen1(ssa.OpExtendLo2ToUint64x2Uint32x4, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo4ToInt32x4", opLen1(ssa.OpExtendLo4ToInt32x4Int8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int16x8.ExtendLo4ToInt32x4", opLen1(ssa.OpExtendLo4ToInt32x4Int16x8, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo4ToInt64x4", opLen1(ssa.OpExtendLo4ToInt64x4Int8x16, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Int16x8.ExtendLo4ToInt64x4", opLen1(ssa.OpExtendLo4ToInt64x4Int16x8, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo4ToUint32x4", opLen1(ssa.OpExtendLo4ToUint32x4Uint8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint16x8.ExtendLo4ToUint32x4", opLen1(ssa.OpExtendLo4ToUint32x4Uint16x8, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo4ToUint64x4", opLen1(ssa.OpExtendLo4ToUint64x4Uint8x16, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Uint16x8.ExtendLo4ToUint64x4", opLen1(ssa.OpExtendLo4ToUint64x4Uint16x8, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo8ToInt16x8", opLen1(ssa.OpExtendLo8ToInt16x8Int8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo8ToInt32x8", opLen1(ssa.OpExtendLo8ToInt32x8Int8x16, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Int8x16.ExtendLo8ToInt64x8", opLen1(ssa.OpExtendLo8ToInt64x8Int8x16, types.TypeVec512), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo8ToUint16x8", opLen1(ssa.OpExtendLo8ToUint16x8Uint8x16, types.TypeVec128), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo8ToUint32x8", opLen1(ssa.OpExtendLo8ToUint32x8Uint8x16, types.TypeVec256), sys.AMD64)
- addF(simdPackage, "Uint8x16.ExtendLo8ToUint64x8", opLen1(ssa.OpExtendLo8ToUint64x8Uint8x16, types.TypeVec512), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo2ToInt64", opLen1(ssa.OpExtendLo2ToInt64Int8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int16x8.ExtendLo2ToInt64", opLen1(ssa.OpExtendLo2ToInt64Int16x8, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int32x4.ExtendLo2ToInt64", opLen1(ssa.OpExtendLo2ToInt64Int32x4, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo2ToUint64", opLen1(ssa.OpExtendLo2ToUint64Uint8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint16x8.ExtendLo2ToUint64", opLen1(ssa.OpExtendLo2ToUint64Uint16x8, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint32x4.ExtendLo2ToUint64", opLen1(ssa.OpExtendLo2ToUint64Uint32x4, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo4ToInt32", opLen1(ssa.OpExtendLo4ToInt32Int8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int16x8.ExtendLo4ToInt32", opLen1(ssa.OpExtendLo4ToInt32Int16x8, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo4ToInt64", opLen1(ssa.OpExtendLo4ToInt64Int8x16, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Int16x8.ExtendLo4ToInt64", opLen1(ssa.OpExtendLo4ToInt64Int16x8, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo4ToUint32", opLen1(ssa.OpExtendLo4ToUint32Uint8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint16x8.ExtendLo4ToUint32", opLen1(ssa.OpExtendLo4ToUint32Uint16x8, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo4ToUint64", opLen1(ssa.OpExtendLo4ToUint64Uint8x16, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Uint16x8.ExtendLo4ToUint64", opLen1(ssa.OpExtendLo4ToUint64Uint16x8, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo8ToInt16", opLen1(ssa.OpExtendLo8ToInt16Int8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo8ToInt32", opLen1(ssa.OpExtendLo8ToInt32Int8x16, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Int8x16.ExtendLo8ToInt64", opLen1(ssa.OpExtendLo8ToInt64Int8x16, types.TypeVec512), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo8ToUint16", opLen1(ssa.OpExtendLo8ToUint16Uint8x16, types.TypeVec128), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo8ToUint32", opLen1(ssa.OpExtendLo8ToUint32Uint8x16, types.TypeVec256), sys.AMD64)
+ addF(simdPackage, "Uint8x16.ExtendLo8ToUint64", opLen1(ssa.OpExtendLo8ToUint64Uint8x16, types.TypeVec512), sys.AMD64)
addF(simdPackage, "Int8x16.ExtendToInt16", opLen1(ssa.OpExtendToInt16Int8x16, types.TypeVec256), sys.AMD64)
addF(simdPackage, "Int8x32.ExtendToInt16", opLen1(ssa.OpExtendToInt16Int8x32, types.TypeVec512), sys.AMD64)
addF(simdPackage, "Int8x16.ExtendToInt32", opLen1(ssa.OpExtendToInt32Int8x16, types.TypeVec512), sys.AMD64)
documentation: !string |-
// NAME zero-extends element values to uint64.
# low-part only Int <-> Int conversions
-- go: ExtendLo8ToUint16x8
+- go: ExtendLo8ToUint16
commutative: false
documentation: !string |-
// NAME zero-extends 8 lowest vector element values to uint16.
-- go: ExtendLo8ToInt16x8
+- go: ExtendLo8ToInt16
commutative: false
documentation: !string |-
// NAME sign-extends 8 lowest vector element values to int16.
-- go: ExtendLo4ToUint32x4
+- go: ExtendLo4ToUint32
commutative: false
documentation: !string |-
// NAME zero-extends 4 lowest vector element values to uint32.
-- go: ExtendLo4ToInt32x4
+- go: ExtendLo4ToInt32
commutative: false
documentation: !string |-
// NAME sign-extends 4 lowest vector element values to int32.
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 2 lowest vector element values to uint64.
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 2 lowest vector element values to int64.
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 2 lowest vector element values to uint64.
-- go: ExtendLo4ToUint64x4
+- go: ExtendLo4ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 4 lowest vector element values to uint64.
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 2 lowest vector element values to int64.
-- go: ExtendLo4ToInt64x4
+- go: ExtendLo4ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 4 lowest vector element values to int64.
-- go: ExtendLo4ToUint32x4
+- go: ExtendLo4ToUint32
commutative: false
documentation: !string |-
// NAME zero-extends 4 lowest vector element values to uint32.
-- go: ExtendLo8ToUint32x8
+- go: ExtendLo8ToUint32
commutative: false
documentation: !string |-
// NAME zero-extends 8 lowest vector element values to uint32.
-- go: ExtendLo4ToInt32x4
+- go: ExtendLo4ToInt32
commutative: false
documentation: !string |-
// NAME sign-extends 4 lowest vector element values to int32.
-- go: ExtendLo8ToInt32x8
+- go: ExtendLo8ToInt32
commutative: false
documentation: !string |-
// NAME sign-extends 8 lowest vector element values to int32.
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 2 lowest vector element values to uint64.
-- go: ExtendLo4ToUint64x4
+- go: ExtendLo4ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 4 lowest vector element values to uint64.
-- go: ExtendLo8ToUint64x8
+- go: ExtendLo8ToUint64
commutative: false
documentation: !string |-
// NAME zero-extends 8 lowest vector element values to uint64.
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 2 lowest vector element values to int64.
-- go: ExtendLo4ToInt64x4
+- go: ExtendLo4ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 4 lowest vector element values to int64.
-- go: ExtendLo8ToInt64x8
+- go: ExtendLo8ToInt64
commutative: false
documentation: !string |-
// NAME sign-extends 8 lowest vector element values to int64.
# low-part only conversions.
# uint8->uint16
-- go: ExtendLo8ToUint16x8
+- go: ExtendLo8ToUint16
regexpTag: "convert"
asm: "VPMOVZXBW"
in:
out:
- *u16x8
# int8->int16
-- go: ExtendLo8ToInt16x8
+- go: ExtendLo8ToInt16
regexpTag: "convert"
asm: "VPMOVSXBW"
in:
out:
- *i16x8
# uint16->uint32
-- go: ExtendLo4ToUint32x4
+- go: ExtendLo4ToUint32
regexpTag: "convert"
asm: "VPMOVZXWD"
in:
out:
- *u32x4
# int16->int32
-- go: ExtendLo4ToInt32x4
+- go: ExtendLo4ToInt32
regexpTag: "convert"
asm: "VPMOVSXWD"
in:
out:
- *i32x4
# uint32 -> uint64
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
regexpTag: "convert"
asm: "VPMOVZXDQ"
in:
elemBits: 64
bits: 128
# int32 -> int64
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
regexpTag: "convert"
asm: "VPMOVSXDQ"
in:
elemBits: 64
bits: 128
# uint16 -> uint64
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
regexpTag: "convert"
asm: "VPMOVZXWQ"
in:
- *u16x8
out:
- *u64x2
-- go: ExtendLo4ToUint64x4
+- go: ExtendLo4ToUint64
regexpTag: "convert"
asm: "VPMOVZXWQ"
in:
out:
- *u64x4
# int16 -> int64
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
regexpTag: "convert"
asm: "VPMOVSXWQ"
in:
- *i16x8
out:
- *i64x2
-- go: ExtendLo4ToInt64x4
+- go: ExtendLo4ToInt64
regexpTag: "convert"
asm: "VPMOVSXWQ"
in:
out:
- *i64x4
# uint8 -> uint32
-- go: ExtendLo4ToUint32x4
+- go: ExtendLo4ToUint32
regexpTag: "convert"
asm: "VPMOVZXBD"
in:
- *u8x16
out:
- *u32x4
-- go: ExtendLo8ToUint32x8
+- go: ExtendLo8ToUint32
regexpTag: "convert"
asm: "VPMOVZXBD"
in:
out:
- *u32x8
# int8 -> int32
-- go: ExtendLo4ToInt32x4
+- go: ExtendLo4ToInt32
regexpTag: "convert"
asm: "VPMOVSXBD"
in:
- *i8x16
out:
- *i32x4
-- go: ExtendLo8ToInt32x8
+- go: ExtendLo8ToInt32
regexpTag: "convert"
asm: "VPMOVSXBD"
in:
out:
- *i32x8
# uint8 -> uint64
-- go: ExtendLo2ToUint64x2
+- go: ExtendLo2ToUint64
regexpTag: "convert"
asm: "VPMOVZXBQ"
in:
- *u8x16
out:
- *u64x2
-- go: ExtendLo4ToUint64x4
+- go: ExtendLo4ToUint64
regexpTag: "convert"
asm: "VPMOVZXBQ"
in:
- *u8x16
out:
- *u64x4
-- go: ExtendLo8ToUint64x8
+- go: ExtendLo8ToUint64
regexpTag: "convert"
asm: "VPMOVZXBQ"
in:
out:
- *u64x8
# int8 -> int64
-- go: ExtendLo2ToInt64x2
+- go: ExtendLo2ToInt64
regexpTag: "convert"
asm: "VPMOVSXBQ"
in:
- *i8x16
out:
- *i64x2
-- go: ExtendLo4ToInt64x4
+- go: ExtendLo4ToInt64
regexpTag: "convert"
asm: "VPMOVSXBQ"
in:
- *i8x16
out:
- *i64x4
-- go: ExtendLo8ToInt64x8
+- go: ExtendLo8ToInt64
regexpTag: "convert"
asm: "VPMOVSXBQ"
in:
// Asm: VPEXPANDQ, CPU Feature: AVX512
func (x Uint64x8) Expand(mask Mask64x8) Uint64x8
-/* ExtendLo2ToInt64x2 */
+/* ExtendLo2ToInt64 */
-// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
+// ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
//
// Asm: VPMOVSXBQ, CPU Feature: AVX
-func (x Int8x16) ExtendLo2ToInt64x2() Int64x2
+func (x Int8x16) ExtendLo2ToInt64() Int64x2
-// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
+// ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
//
// Asm: VPMOVSXWQ, CPU Feature: AVX
-func (x Int16x8) ExtendLo2ToInt64x2() Int64x2
+func (x Int16x8) ExtendLo2ToInt64() Int64x2
-// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
+// ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
//
// Asm: VPMOVSXDQ, CPU Feature: AVX
-func (x Int32x4) ExtendLo2ToInt64x2() Int64x2
+func (x Int32x4) ExtendLo2ToInt64() Int64x2
-/* ExtendLo2ToUint64x2 */
+/* ExtendLo2ToUint64 */
-// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
+// ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
//
// Asm: VPMOVZXBQ, CPU Feature: AVX
-func (x Uint8x16) ExtendLo2ToUint64x2() Uint64x2
+func (x Uint8x16) ExtendLo2ToUint64() Uint64x2
-// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
+// ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
//
// Asm: VPMOVZXWQ, CPU Feature: AVX
-func (x Uint16x8) ExtendLo2ToUint64x2() Uint64x2
+func (x Uint16x8) ExtendLo2ToUint64() Uint64x2
-// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
+// ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
//
// Asm: VPMOVZXDQ, CPU Feature: AVX
-func (x Uint32x4) ExtendLo2ToUint64x2() Uint64x2
+func (x Uint32x4) ExtendLo2ToUint64() Uint64x2
-/* ExtendLo4ToInt32x4 */
+/* ExtendLo4ToInt32 */
-// ExtendLo4ToInt32x4 sign-extends 4 lowest vector element values to int32.
+// ExtendLo4ToInt32 sign-extends 4 lowest vector element values to int32.
//
// Asm: VPMOVSXBD, CPU Feature: AVX
-func (x Int8x16) ExtendLo4ToInt32x4() Int32x4
+func (x Int8x16) ExtendLo4ToInt32() Int32x4
-// ExtendLo4ToInt32x4 sign-extends 4 lowest vector element values to int32.
+// ExtendLo4ToInt32 sign-extends 4 lowest vector element values to int32.
//
// Asm: VPMOVSXWD, CPU Feature: AVX
-func (x Int16x8) ExtendLo4ToInt32x4() Int32x4
+func (x Int16x8) ExtendLo4ToInt32() Int32x4
-/* ExtendLo4ToInt64x4 */
+/* ExtendLo4ToInt64 */
-// ExtendLo4ToInt64x4 sign-extends 4 lowest vector element values to int64.
+// ExtendLo4ToInt64 sign-extends 4 lowest vector element values to int64.
//
// Asm: VPMOVSXBQ, CPU Feature: AVX2
-func (x Int8x16) ExtendLo4ToInt64x4() Int64x4
+func (x Int8x16) ExtendLo4ToInt64() Int64x4
-// ExtendLo4ToInt64x4 sign-extends 4 lowest vector element values to int64.
+// ExtendLo4ToInt64 sign-extends 4 lowest vector element values to int64.
//
// Asm: VPMOVSXWQ, CPU Feature: AVX2
-func (x Int16x8) ExtendLo4ToInt64x4() Int64x4
+func (x Int16x8) ExtendLo4ToInt64() Int64x4
-/* ExtendLo4ToUint32x4 */
+/* ExtendLo4ToUint32 */
-// ExtendLo4ToUint32x4 zero-extends 4 lowest vector element values to uint32.
+// ExtendLo4ToUint32 zero-extends 4 lowest vector element values to uint32.
//
// Asm: VPMOVZXBD, CPU Feature: AVX
-func (x Uint8x16) ExtendLo4ToUint32x4() Uint32x4
+func (x Uint8x16) ExtendLo4ToUint32() Uint32x4
-// ExtendLo4ToUint32x4 zero-extends 4 lowest vector element values to uint32.
+// ExtendLo4ToUint32 zero-extends 4 lowest vector element values to uint32.
//
// Asm: VPMOVZXWD, CPU Feature: AVX
-func (x Uint16x8) ExtendLo4ToUint32x4() Uint32x4
+func (x Uint16x8) ExtendLo4ToUint32() Uint32x4
-/* ExtendLo4ToUint64x4 */
+/* ExtendLo4ToUint64 */
-// ExtendLo4ToUint64x4 zero-extends 4 lowest vector element values to uint64.
+// ExtendLo4ToUint64 zero-extends 4 lowest vector element values to uint64.
//
// Asm: VPMOVZXBQ, CPU Feature: AVX2
-func (x Uint8x16) ExtendLo4ToUint64x4() Uint64x4
+func (x Uint8x16) ExtendLo4ToUint64() Uint64x4
-// ExtendLo4ToUint64x4 zero-extends 4 lowest vector element values to uint64.
+// ExtendLo4ToUint64 zero-extends 4 lowest vector element values to uint64.
//
// Asm: VPMOVZXWQ, CPU Feature: AVX2
-func (x Uint16x8) ExtendLo4ToUint64x4() Uint64x4
+func (x Uint16x8) ExtendLo4ToUint64() Uint64x4
-/* ExtendLo8ToInt16x8 */
+/* ExtendLo8ToInt16 */
-// ExtendLo8ToInt16x8 sign-extends 8 lowest vector element values to int16.
+// ExtendLo8ToInt16 sign-extends 8 lowest vector element values to int16.
//
// Asm: VPMOVSXBW, CPU Feature: AVX
-func (x Int8x16) ExtendLo8ToInt16x8() Int16x8
+func (x Int8x16) ExtendLo8ToInt16() Int16x8
-/* ExtendLo8ToInt32x8 */
+/* ExtendLo8ToInt32 */
-// ExtendLo8ToInt32x8 sign-extends 8 lowest vector element values to int32.
+// ExtendLo8ToInt32 sign-extends 8 lowest vector element values to int32.
//
// Asm: VPMOVSXBD, CPU Feature: AVX2
-func (x Int8x16) ExtendLo8ToInt32x8() Int32x8
+func (x Int8x16) ExtendLo8ToInt32() Int32x8
-/* ExtendLo8ToInt64x8 */
+/* ExtendLo8ToInt64 */
-// ExtendLo8ToInt64x8 sign-extends 8 lowest vector element values to int64.
+// ExtendLo8ToInt64 sign-extends 8 lowest vector element values to int64.
//
// Asm: VPMOVSXBQ, CPU Feature: AVX512
-func (x Int8x16) ExtendLo8ToInt64x8() Int64x8
+func (x Int8x16) ExtendLo8ToInt64() Int64x8
-/* ExtendLo8ToUint16x8 */
+/* ExtendLo8ToUint16 */
-// ExtendLo8ToUint16x8 zero-extends 8 lowest vector element values to uint16.
+// ExtendLo8ToUint16 zero-extends 8 lowest vector element values to uint16.
//
// Asm: VPMOVZXBW, CPU Feature: AVX
-func (x Uint8x16) ExtendLo8ToUint16x8() Uint16x8
+func (x Uint8x16) ExtendLo8ToUint16() Uint16x8
-/* ExtendLo8ToUint32x8 */
+/* ExtendLo8ToUint32 */
-// ExtendLo8ToUint32x8 zero-extends 8 lowest vector element values to uint32.
+// ExtendLo8ToUint32 zero-extends 8 lowest vector element values to uint32.
//
// Asm: VPMOVZXBD, CPU Feature: AVX2
-func (x Uint8x16) ExtendLo8ToUint32x8() Uint32x8
+func (x Uint8x16) ExtendLo8ToUint32() Uint32x8
-/* ExtendLo8ToUint64x8 */
+/* ExtendLo8ToUint64 */
-// ExtendLo8ToUint64x8 zero-extends 8 lowest vector element values to uint64.
+// ExtendLo8ToUint64 zero-extends 8 lowest vector element values to uint64.
//
// Asm: VPMOVZXBQ, CPU Feature: AVX512
-func (x Uint8x16) ExtendLo8ToUint64x8() Uint64x8
+func (x Uint8x16) ExtendLo8ToUint64() Uint64x8
/* ExtendToInt16 */