]> Cypherpunks repositories - gostls13.git/commitdiff
simd/archsimd: remove redundant suffix of ExtendLo operations
authorCherry Mui <cherryyz@google.com>
Mon, 29 Dec 2025 16:30:33 +0000 (11:30 -0500)
committerCherry Mui <cherryyz@google.com>
Tue, 30 Dec 2025 00:20:42 +0000 (16:20 -0800)
For methods like ExtendLo2ToInt64x2, the last "x2" is redundant, as
it is already mentioned in "Lo2". Remove it, so it is just
ExtendLo2ToInt64.

Change-Id: I490afd818c40bb7a4ef15c249723895735bd6488
Reviewed-on: https://go-review.googlesource.com/c/go/+/733100
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/_gen/simdAMD64.rules
src/cmd/compile/internal/ssa/_gen/simdgenericOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssagen/simdintrinsics.go
src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml
src/simd/archsimd/_gen/simdgen/ops/Converts/go.yaml
src/simd/archsimd/ops_amd64.go

index a7a6a3f7a1357bc5b6c95df08eb84dd51fe039a6..8a5b70da308fe63ace019e2831c7f0873e12e62d 100644 (file)
 (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 ...)
index fd43f3d61f674b9bbb284999306f04358c1601e1..af1007cd542e8389560b87e6629b336db4cf313f 100644 (file)
@@ -364,26 +364,26 @@ func simdGenericOps() []opData {
                {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},
index f318adfd2f1c4c7496bbe98ce1c3cfa386c86255..d2ba15f740983df11844eafcca05b4e9e780a3e0 100644 (file)
@@ -6518,26 +6518,26 @@ const (
        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
@@ -90896,102 +90896,102 @@ var opcodeTable = [...]opInfo{
                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,
        },
index 5fed6a80636868e2a5ca7cfec80f29e66012530d..0c0441007486bbda149d74ff3047452ecfa3b1a4 100644 (file)
@@ -3274,64 +3274,64 @@ func rewriteValueAMD64(v *Value) bool {
                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:
index 8b9fe3afdc9fff28fff86bc0d3debd4845e637df..5a95761228860282349f02c52e4bd4b4e84e2969 100644 (file)
@@ -388,26 +388,26 @@ func simdIntrinsics(addF func(pkg, fn string, b intrinsicBuilder, archFamilies .
        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)
index 88e4840920c0deea31a331b4fc24cee26b9bde33..698e6d9956b1022c7f94e70b9bdc35d5964b4009 100644 (file)
   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.
index f436be23efabb21ac42747754f56c6eb970dbc32..2f19d12616bf38e4fac2811c6448f30882fa152d 100644 (file)
 
 # 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:
index 20ae3b1cc2c2304db87fd30fff7b2f181fad6ec5..522a98caea5062b68cf8808cd0e8aa5ce0cece91 100644 (file)
@@ -2325,129 +2325,129 @@ func (x Uint64x4) Expand(mask Mask64x4) Uint64x4
 // 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 */