]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.simd] cmd/compile: output of simd generator, more ... rewrite rules
authorDavid Chase <drchase@google.com>
Tue, 8 Jul 2025 16:52:30 +0000 (12:52 -0400)
committerDavid Chase <drchase@google.com>
Wed, 9 Jul 2025 19:10:45 +0000 (12:10 -0700)
Generated by simdgen CL 686378

Change-Id: I876ab91085c266ced59fc82ea12be709dc7eb721
Reviewed-on: https://go-review.googlesource.com/c/go/+/686495
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/cmd/compile/internal/ssa/_gen/simdAMD64.rules
src/cmd/compile/internal/ssa/rewriteAMD64.go

index 09ab9b840aeff9ed5b3322b760db1474c4f17c18..c55a1f3f6397111ef09ce2459df36f615c81231a 100644 (file)
 (FusedMultiplySubAddMaskedFloat64x2 x y z mask) => (VFMSUBADD213PDMasked128 x y z (VPMOVVec64x2ToM <types.TypeMask> mask))
 (FusedMultiplySubAddMaskedFloat64x4 x y z mask) => (VFMSUBADD213PDMasked256 x y z (VPMOVVec64x4ToM <types.TypeMask> mask))
 (FusedMultiplySubAddMaskedFloat64x8 x y z mask) => (VFMSUBADD213PDMasked512 x y z (VPMOVVec64x8ToM <types.TypeMask> mask))
-(GaloisFieldAffineTransformUint8x16 [a] x y) => (VGF2P8AFFINEQB128 [a] x y)
-(GaloisFieldAffineTransformUint8x32 [a] x y) => (VGF2P8AFFINEQB256 [a] x y)
-(GaloisFieldAffineTransformUint8x64 [a] x y) => (VGF2P8AFFINEQB512 [a] x y)
-(GaloisFieldAffineTransformInversedUint8x16 [a] x y) => (VGF2P8AFFINEINVQB128 [a] x y)
-(GaloisFieldAffineTransformInversedUint8x32 [a] x y) => (VGF2P8AFFINEINVQB256 [a] x y)
-(GaloisFieldAffineTransformInversedUint8x64 [a] x y) => (VGF2P8AFFINEINVQB512 [a] x y)
+(GaloisFieldAffineTransformUint8x16 ...) => (VGF2P8AFFINEQB128 ...)
+(GaloisFieldAffineTransformUint8x32 ...) => (VGF2P8AFFINEQB256 ...)
+(GaloisFieldAffineTransformUint8x64 ...) => (VGF2P8AFFINEQB512 ...)
+(GaloisFieldAffineTransformInversedUint8x16 ...) => (VGF2P8AFFINEINVQB128 ...)
+(GaloisFieldAffineTransformInversedUint8x32 ...) => (VGF2P8AFFINEINVQB256 ...)
+(GaloisFieldAffineTransformInversedUint8x64 ...) => (VGF2P8AFFINEINVQB512 ...)
 (GaloisFieldAffineTransformInversedMaskedUint8x16 [a] x y mask) => (VGF2P8AFFINEINVQBMasked128 [a] x y (VPMOVVec8x16ToM <types.TypeMask> mask))
 (GaloisFieldAffineTransformInversedMaskedUint8x32 [a] x y mask) => (VGF2P8AFFINEINVQBMasked256 [a] x y (VPMOVVec8x32ToM <types.TypeMask> mask))
 (GaloisFieldAffineTransformInversedMaskedUint8x64 [a] x y mask) => (VGF2P8AFFINEINVQBMasked512 [a] x y (VPMOVVec8x64ToM <types.TypeMask> mask))
 (GaloisFieldMulMaskedUint8x16 x y mask) => (VGF2P8MULBMasked128 x y (VPMOVVec8x16ToM <types.TypeMask> mask))
 (GaloisFieldMulMaskedUint8x32 x y mask) => (VGF2P8MULBMasked256 x y (VPMOVVec8x32ToM <types.TypeMask> mask))
 (GaloisFieldMulMaskedUint8x64 x y mask) => (VGF2P8MULBMasked512 x y (VPMOVVec8x64ToM <types.TypeMask> mask))
-(Get128Float32x8 [a] x) => (VEXTRACTF128128 [a] x)
-(Get128Float64x4 [a] x) => (VEXTRACTF128128 [a] x)
-(Get128Int8x32 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Int16x16 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Int32x8 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Int64x4 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Uint8x32 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Uint16x16 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Uint32x8 [a] x) => (VEXTRACTI128128 [a] x)
-(Get128Uint64x4 [a] x) => (VEXTRACTI128128 [a] x)
-(GetElemInt8x16 [a] x) => (VPEXTRB128 [a] x)
-(GetElemInt16x8 [a] x) => (VPEXTRW128 [a] x)
-(GetElemInt32x4 [a] x) => (VPEXTRD128 [a] x)
-(GetElemInt64x2 [a] x) => (VPEXTRQ128 [a] x)
-(GetElemUint8x16 [a] x) => (VPEXTRB128 [a] x)
-(GetElemUint16x8 [a] x) => (VPEXTRW128 [a] x)
-(GetElemUint32x4 [a] x) => (VPEXTRD128 [a] x)
-(GetElemUint64x2 [a] x) => (VPEXTRQ128 [a] x)
+(Get128Float32x8 ...) => (VEXTRACTF128128 ...)
+(Get128Float64x4 ...) => (VEXTRACTF128128 ...)
+(Get128Int8x32 ...) => (VEXTRACTI128128 ...)
+(Get128Int16x16 ...) => (VEXTRACTI128128 ...)
+(Get128Int32x8 ...) => (VEXTRACTI128128 ...)
+(Get128Int64x4 ...) => (VEXTRACTI128128 ...)
+(Get128Uint8x32 ...) => (VEXTRACTI128128 ...)
+(Get128Uint16x16 ...) => (VEXTRACTI128128 ...)
+(Get128Uint32x8 ...) => (VEXTRACTI128128 ...)
+(Get128Uint64x4 ...) => (VEXTRACTI128128 ...)
+(GetElemInt8x16 ...) => (VPEXTRB128 ...)
+(GetElemInt16x8 ...) => (VPEXTRW128 ...)
+(GetElemInt32x4 ...) => (VPEXTRD128 ...)
+(GetElemInt64x2 ...) => (VPEXTRQ128 ...)
+(GetElemUint8x16 ...) => (VPEXTRB128 ...)
+(GetElemUint16x8 ...) => (VPEXTRW128 ...)
+(GetElemUint32x4 ...) => (VPEXTRD128 ...)
+(GetElemUint64x2 ...) => (VPEXTRQ128 ...)
 (GreaterFloat32x4 x y) => (VCMPPS128 [14] x y)
 (GreaterFloat32x8 x y) => (VCMPPS256 [14] x y)
 (GreaterFloat32x16 x y) => (VPMOVMToVec32x16 (VCMPPS512 [14] x y))
 (PopCountMaskedUint64x2 x mask) => (VPOPCNTQMasked128 x (VPMOVVec64x2ToM <types.TypeMask> mask))
 (PopCountMaskedUint64x4 x mask) => (VPOPCNTQMasked256 x (VPMOVVec64x4ToM <types.TypeMask> mask))
 (PopCountMaskedUint64x8 x mask) => (VPOPCNTQMasked512 x (VPMOVVec64x8ToM <types.TypeMask> mask))
-(RotateAllLeftInt32x4 [a] x) => (VPROLD128 [a] x)
-(RotateAllLeftInt32x8 [a] x) => (VPROLD256 [a] x)
-(RotateAllLeftInt32x16 [a] x) => (VPROLD512 [a] x)
-(RotateAllLeftInt64x2 [a] x) => (VPROLQ128 [a] x)
-(RotateAllLeftInt64x4 [a] x) => (VPROLQ256 [a] x)
-(RotateAllLeftInt64x8 [a] x) => (VPROLQ512 [a] x)
-(RotateAllLeftUint32x4 [a] x) => (VPROLD128 [a] x)
-(RotateAllLeftUint32x8 [a] x) => (VPROLD256 [a] x)
-(RotateAllLeftUint32x16 [a] x) => (VPROLD512 [a] x)
-(RotateAllLeftUint64x2 [a] x) => (VPROLQ128 [a] x)
-(RotateAllLeftUint64x4 [a] x) => (VPROLQ256 [a] x)
-(RotateAllLeftUint64x8 [a] x) => (VPROLQ512 [a] x)
+(RotateAllLeftInt32x4 ...) => (VPROLD128 ...)
+(RotateAllLeftInt32x8 ...) => (VPROLD256 ...)
+(RotateAllLeftInt32x16 ...) => (VPROLD512 ...)
+(RotateAllLeftInt64x2 ...) => (VPROLQ128 ...)
+(RotateAllLeftInt64x4 ...) => (VPROLQ256 ...)
+(RotateAllLeftInt64x8 ...) => (VPROLQ512 ...)
+(RotateAllLeftUint32x4 ...) => (VPROLD128 ...)
+(RotateAllLeftUint32x8 ...) => (VPROLD256 ...)
+(RotateAllLeftUint32x16 ...) => (VPROLD512 ...)
+(RotateAllLeftUint64x2 ...) => (VPROLQ128 ...)
+(RotateAllLeftUint64x4 ...) => (VPROLQ256 ...)
+(RotateAllLeftUint64x8 ...) => (VPROLQ512 ...)
 (RotateAllLeftMaskedInt32x4 [a] x mask) => (VPROLDMasked128 [a] x (VPMOVVec32x4ToM <types.TypeMask> mask))
 (RotateAllLeftMaskedInt32x8 [a] x mask) => (VPROLDMasked256 [a] x (VPMOVVec32x8ToM <types.TypeMask> mask))
 (RotateAllLeftMaskedInt32x16 [a] x mask) => (VPROLDMasked512 [a] x (VPMOVVec32x16ToM <types.TypeMask> mask))
 (RotateAllLeftMaskedUint64x2 [a] x mask) => (VPROLQMasked128 [a] x (VPMOVVec64x2ToM <types.TypeMask> mask))
 (RotateAllLeftMaskedUint64x4 [a] x mask) => (VPROLQMasked256 [a] x (VPMOVVec64x4ToM <types.TypeMask> mask))
 (RotateAllLeftMaskedUint64x8 [a] x mask) => (VPROLQMasked512 [a] x (VPMOVVec64x8ToM <types.TypeMask> mask))
-(RotateAllRightInt32x4 [a] x) => (VPRORD128 [a] x)
-(RotateAllRightInt32x8 [a] x) => (VPRORD256 [a] x)
-(RotateAllRightInt32x16 [a] x) => (VPRORD512 [a] x)
-(RotateAllRightInt64x2 [a] x) => (VPRORQ128 [a] x)
-(RotateAllRightInt64x4 [a] x) => (VPRORQ256 [a] x)
-(RotateAllRightInt64x8 [a] x) => (VPRORQ512 [a] x)
-(RotateAllRightUint32x4 [a] x) => (VPRORD128 [a] x)
-(RotateAllRightUint32x8 [a] x) => (VPRORD256 [a] x)
-(RotateAllRightUint32x16 [a] x) => (VPRORD512 [a] x)
-(RotateAllRightUint64x2 [a] x) => (VPRORQ128 [a] x)
-(RotateAllRightUint64x4 [a] x) => (VPRORQ256 [a] x)
-(RotateAllRightUint64x8 [a] x) => (VPRORQ512 [a] x)
+(RotateAllRightInt32x4 ...) => (VPRORD128 ...)
+(RotateAllRightInt32x8 ...) => (VPRORD256 ...)
+(RotateAllRightInt32x16 ...) => (VPRORD512 ...)
+(RotateAllRightInt64x2 ...) => (VPRORQ128 ...)
+(RotateAllRightInt64x4 ...) => (VPRORQ256 ...)
+(RotateAllRightInt64x8 ...) => (VPRORQ512 ...)
+(RotateAllRightUint32x4 ...) => (VPRORD128 ...)
+(RotateAllRightUint32x8 ...) => (VPRORD256 ...)
+(RotateAllRightUint32x16 ...) => (VPRORD512 ...)
+(RotateAllRightUint64x2 ...) => (VPRORQ128 ...)
+(RotateAllRightUint64x4 ...) => (VPRORQ256 ...)
+(RotateAllRightUint64x8 ...) => (VPRORQ512 ...)
 (RotateAllRightMaskedInt32x4 [a] x mask) => (VPRORDMasked128 [a] x (VPMOVVec32x4ToM <types.TypeMask> mask))
 (RotateAllRightMaskedInt32x8 [a] x mask) => (VPRORDMasked256 [a] x (VPMOVVec32x8ToM <types.TypeMask> mask))
 (RotateAllRightMaskedInt32x16 [a] x mask) => (VPRORDMasked512 [a] x (VPMOVVec32x16ToM <types.TypeMask> mask))
 (SaturatedUnsignedSignedQuadDotProdAccumulateMaskedUint32x4 x y z mask) => (VPDPBUSDSMasked128 x y z (VPMOVVec32x4ToM <types.TypeMask> mask))
 (SaturatedUnsignedSignedQuadDotProdAccumulateMaskedUint32x8 x y z mask) => (VPDPBUSDSMasked256 x y z (VPMOVVec32x8ToM <types.TypeMask> mask))
 (SaturatedUnsignedSignedQuadDotProdAccumulateMaskedUint32x16 x y z mask) => (VPDPBUSDSMasked512 x y z (VPMOVVec32x16ToM <types.TypeMask> mask))
-(Set128Float32x8 [a] x y) => (VINSERTF128256 [a] x y)
-(Set128Float64x4 [a] x y) => (VINSERTF128256 [a] x y)
-(Set128Int8x32 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Int16x16 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Int32x8 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Int64x4 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Uint8x32 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Uint16x16 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Uint32x8 [a] x y) => (VINSERTI128256 [a] x y)
-(Set128Uint64x4 [a] x y) => (VINSERTI128256 [a] x y)
-(SetElemInt8x16 [a] x y) => (VPINSRB128 [a] x y)
-(SetElemInt16x8 [a] x y) => (VPINSRW128 [a] x y)
-(SetElemInt32x4 [a] x y) => (VPINSRD128 [a] x y)
-(SetElemInt64x2 [a] x y) => (VPINSRQ128 [a] x y)
-(SetElemUint8x16 [a] x y) => (VPINSRB128 [a] x y)
-(SetElemUint16x8 [a] x y) => (VPINSRW128 [a] x y)
-(SetElemUint32x4 [a] x y) => (VPINSRD128 [a] x y)
-(SetElemUint64x2 [a] x y) => (VPINSRQ128 [a] x y)
+(Set128Float32x8 ...) => (VINSERTF128256 ...)
+(Set128Float64x4 ...) => (VINSERTF128256 ...)
+(Set128Int8x32 ...) => (VINSERTI128256 ...)
+(Set128Int16x16 ...) => (VINSERTI128256 ...)
+(Set128Int32x8 ...) => (VINSERTI128256 ...)
+(Set128Int64x4 ...) => (VINSERTI128256 ...)
+(Set128Uint8x32 ...) => (VINSERTI128256 ...)
+(Set128Uint16x16 ...) => (VINSERTI128256 ...)
+(Set128Uint32x8 ...) => (VINSERTI128256 ...)
+(Set128Uint64x4 ...) => (VINSERTI128256 ...)
+(SetElemInt8x16 ...) => (VPINSRB128 ...)
+(SetElemInt16x8 ...) => (VPINSRW128 ...)
+(SetElemInt32x4 ...) => (VPINSRD128 ...)
+(SetElemInt64x2 ...) => (VPINSRQ128 ...)
+(SetElemUint8x16 ...) => (VPINSRB128 ...)
+(SetElemUint16x8 ...) => (VPINSRW128 ...)
+(SetElemUint32x4 ...) => (VPINSRD128 ...)
+(SetElemUint64x2 ...) => (VPINSRQ128 ...)
 (ShiftAllLeftInt16x8 ...) => (VPSLLW128 ...)
 (ShiftAllLeftInt16x16 ...) => (VPSLLW256 ...)
 (ShiftAllLeftInt32x4 ...) => (VPSLLD128 ...)
 (ShiftAllLeftUint64x2 ...) => (VPSLLQ128 ...)
 (ShiftAllLeftUint64x4 ...) => (VPSLLQ256 ...)
 (ShiftAllLeftUint64x8 ...) => (VPSLLQ512 ...)
-(ShiftAllLeftAndFillUpperFromInt16x8 [a] x y) => (VPSHLDW128 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt16x16 [a] x y) => (VPSHLDW256 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt16x32 [a] x y) => (VPSHLDW512 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt32x4 [a] x y) => (VPSHLDD128 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt32x8 [a] x y) => (VPSHLDD256 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt32x16 [a] x y) => (VPSHLDD512 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt64x2 [a] x y) => (VPSHLDQ128 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt64x4 [a] x y) => (VPSHLDQ256 [a] x y)
-(ShiftAllLeftAndFillUpperFromInt64x8 [a] x y) => (VPSHLDQ512 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint16x8 [a] x y) => (VPSHLDW128 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint16x16 [a] x y) => (VPSHLDW256 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint16x32 [a] x y) => (VPSHLDW512 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint32x4 [a] x y) => (VPSHLDD128 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint32x8 [a] x y) => (VPSHLDD256 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint32x16 [a] x y) => (VPSHLDD512 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint64x2 [a] x y) => (VPSHLDQ128 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint64x4 [a] x y) => (VPSHLDQ256 [a] x y)
-(ShiftAllLeftAndFillUpperFromUint64x8 [a] x y) => (VPSHLDQ512 [a] x y)
+(ShiftAllLeftAndFillUpperFromInt16x8 ...) => (VPSHLDW128 ...)
+(ShiftAllLeftAndFillUpperFromInt16x16 ...) => (VPSHLDW256 ...)
+(ShiftAllLeftAndFillUpperFromInt16x32 ...) => (VPSHLDW512 ...)
+(ShiftAllLeftAndFillUpperFromInt32x4 ...) => (VPSHLDD128 ...)
+(ShiftAllLeftAndFillUpperFromInt32x8 ...) => (VPSHLDD256 ...)
+(ShiftAllLeftAndFillUpperFromInt32x16 ...) => (VPSHLDD512 ...)
+(ShiftAllLeftAndFillUpperFromInt64x2 ...) => (VPSHLDQ128 ...)
+(ShiftAllLeftAndFillUpperFromInt64x4 ...) => (VPSHLDQ256 ...)
+(ShiftAllLeftAndFillUpperFromInt64x8 ...) => (VPSHLDQ512 ...)
+(ShiftAllLeftAndFillUpperFromUint16x8 ...) => (VPSHLDW128 ...)
+(ShiftAllLeftAndFillUpperFromUint16x16 ...) => (VPSHLDW256 ...)
+(ShiftAllLeftAndFillUpperFromUint16x32 ...) => (VPSHLDW512 ...)
+(ShiftAllLeftAndFillUpperFromUint32x4 ...) => (VPSHLDD128 ...)
+(ShiftAllLeftAndFillUpperFromUint32x8 ...) => (VPSHLDD256 ...)
+(ShiftAllLeftAndFillUpperFromUint32x16 ...) => (VPSHLDD512 ...)
+(ShiftAllLeftAndFillUpperFromUint64x2 ...) => (VPSHLDQ128 ...)
+(ShiftAllLeftAndFillUpperFromUint64x4 ...) => (VPSHLDQ256 ...)
+(ShiftAllLeftAndFillUpperFromUint64x8 ...) => (VPSHLDQ512 ...)
 (ShiftAllLeftAndFillUpperFromMaskedInt16x8 [a] x y mask) => (VPSHLDWMasked128 [a] x y (VPMOVVec16x8ToM <types.TypeMask> mask))
 (ShiftAllLeftAndFillUpperFromMaskedInt16x16 [a] x y mask) => (VPSHLDWMasked256 [a] x y (VPMOVVec16x16ToM <types.TypeMask> mask))
 (ShiftAllLeftAndFillUpperFromMaskedInt16x32 [a] x y mask) => (VPSHLDWMasked512 [a] x y (VPMOVVec16x32ToM <types.TypeMask> mask))
 (ShiftAllRightUint64x2 ...) => (VPSRLQ128 ...)
 (ShiftAllRightUint64x4 ...) => (VPSRLQ256 ...)
 (ShiftAllRightUint64x8 ...) => (VPSRLQ512 ...)
-(ShiftAllRightAndFillUpperFromInt16x8 [a] x y) => (VPSHRDW128 [a] x y)
-(ShiftAllRightAndFillUpperFromInt16x16 [a] x y) => (VPSHRDW256 [a] x y)
-(ShiftAllRightAndFillUpperFromInt16x32 [a] x y) => (VPSHRDW512 [a] x y)
-(ShiftAllRightAndFillUpperFromInt32x4 [a] x y) => (VPSHRDD128 [a] x y)
-(ShiftAllRightAndFillUpperFromInt32x8 [a] x y) => (VPSHRDD256 [a] x y)
-(ShiftAllRightAndFillUpperFromInt32x16 [a] x y) => (VPSHRDD512 [a] x y)
-(ShiftAllRightAndFillUpperFromInt64x2 [a] x y) => (VPSHRDQ128 [a] x y)
-(ShiftAllRightAndFillUpperFromInt64x4 [a] x y) => (VPSHRDQ256 [a] x y)
-(ShiftAllRightAndFillUpperFromInt64x8 [a] x y) => (VPSHRDQ512 [a] x y)
-(ShiftAllRightAndFillUpperFromUint16x8 [a] x y) => (VPSHRDW128 [a] x y)
-(ShiftAllRightAndFillUpperFromUint16x16 [a] x y) => (VPSHRDW256 [a] x y)
-(ShiftAllRightAndFillUpperFromUint16x32 [a] x y) => (VPSHRDW512 [a] x y)
-(ShiftAllRightAndFillUpperFromUint32x4 [a] x y) => (VPSHRDD128 [a] x y)
-(ShiftAllRightAndFillUpperFromUint32x8 [a] x y) => (VPSHRDD256 [a] x y)
-(ShiftAllRightAndFillUpperFromUint32x16 [a] x y) => (VPSHRDD512 [a] x y)
-(ShiftAllRightAndFillUpperFromUint64x2 [a] x y) => (VPSHRDQ128 [a] x y)
-(ShiftAllRightAndFillUpperFromUint64x4 [a] x y) => (VPSHRDQ256 [a] x y)
-(ShiftAllRightAndFillUpperFromUint64x8 [a] x y) => (VPSHRDQ512 [a] x y)
+(ShiftAllRightAndFillUpperFromInt16x8 ...) => (VPSHRDW128 ...)
+(ShiftAllRightAndFillUpperFromInt16x16 ...) => (VPSHRDW256 ...)
+(ShiftAllRightAndFillUpperFromInt16x32 ...) => (VPSHRDW512 ...)
+(ShiftAllRightAndFillUpperFromInt32x4 ...) => (VPSHRDD128 ...)
+(ShiftAllRightAndFillUpperFromInt32x8 ...) => (VPSHRDD256 ...)
+(ShiftAllRightAndFillUpperFromInt32x16 ...) => (VPSHRDD512 ...)
+(ShiftAllRightAndFillUpperFromInt64x2 ...) => (VPSHRDQ128 ...)
+(ShiftAllRightAndFillUpperFromInt64x4 ...) => (VPSHRDQ256 ...)
+(ShiftAllRightAndFillUpperFromInt64x8 ...) => (VPSHRDQ512 ...)
+(ShiftAllRightAndFillUpperFromUint16x8 ...) => (VPSHRDW128 ...)
+(ShiftAllRightAndFillUpperFromUint16x16 ...) => (VPSHRDW256 ...)
+(ShiftAllRightAndFillUpperFromUint16x32 ...) => (VPSHRDW512 ...)
+(ShiftAllRightAndFillUpperFromUint32x4 ...) => (VPSHRDD128 ...)
+(ShiftAllRightAndFillUpperFromUint32x8 ...) => (VPSHRDD256 ...)
+(ShiftAllRightAndFillUpperFromUint32x16 ...) => (VPSHRDD512 ...)
+(ShiftAllRightAndFillUpperFromUint64x2 ...) => (VPSHRDQ128 ...)
+(ShiftAllRightAndFillUpperFromUint64x4 ...) => (VPSHRDQ256 ...)
+(ShiftAllRightAndFillUpperFromUint64x8 ...) => (VPSHRDQ512 ...)
 (ShiftAllRightAndFillUpperFromMaskedInt16x8 [a] x y mask) => (VPSHRDWMasked128 [a] x y (VPMOVVec16x8ToM <types.TypeMask> mask))
 (ShiftAllRightAndFillUpperFromMaskedInt16x16 [a] x y mask) => (VPSHRDWMasked256 [a] x y (VPMOVVec16x16ToM <types.TypeMask> mask))
 (ShiftAllRightAndFillUpperFromMaskedInt16x32 [a] x y mask) => (VPSHRDWMasked512 [a] x y (VPMOVVec16x32ToM <types.TypeMask> mask))
index 4dd1fcbcb75815c9014e398d1882aae6ec2a4920..98bc0779f65e42cee7d5abbbfd929e7145daac41 100644 (file)
@@ -1694,11 +1694,14 @@ func rewriteValueAMD64(v *Value) bool {
        case OpGaloisFieldAffineTransformInversedMaskedUint8x64:
                return rewriteValueAMD64_OpGaloisFieldAffineTransformInversedMaskedUint8x64(v)
        case OpGaloisFieldAffineTransformInversedUint8x16:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x16(v)
+               v.Op = OpAMD64VGF2P8AFFINEINVQB128
+               return true
        case OpGaloisFieldAffineTransformInversedUint8x32:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x32(v)
+               v.Op = OpAMD64VGF2P8AFFINEINVQB256
+               return true
        case OpGaloisFieldAffineTransformInversedUint8x64:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x64(v)
+               v.Op = OpAMD64VGF2P8AFFINEINVQB512
+               return true
        case OpGaloisFieldAffineTransformMaskedUint8x16:
                return rewriteValueAMD64_OpGaloisFieldAffineTransformMaskedUint8x16(v)
        case OpGaloisFieldAffineTransformMaskedUint8x32:
@@ -1706,11 +1709,14 @@ func rewriteValueAMD64(v *Value) bool {
        case OpGaloisFieldAffineTransformMaskedUint8x64:
                return rewriteValueAMD64_OpGaloisFieldAffineTransformMaskedUint8x64(v)
        case OpGaloisFieldAffineTransformUint8x16:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x16(v)
+               v.Op = OpAMD64VGF2P8AFFINEQB128
+               return true
        case OpGaloisFieldAffineTransformUint8x32:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x32(v)
+               v.Op = OpAMD64VGF2P8AFFINEQB256
+               return true
        case OpGaloisFieldAffineTransformUint8x64:
-               return rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x64(v)
+               v.Op = OpAMD64VGF2P8AFFINEQB512
+               return true
        case OpGaloisFieldMulMaskedUint8x16:
                return rewriteValueAMD64_OpGaloisFieldMulMaskedUint8x16(v)
        case OpGaloisFieldMulMaskedUint8x32:
@@ -1727,25 +1733,35 @@ func rewriteValueAMD64(v *Value) bool {
                v.Op = OpAMD64VGF2P8MULB512
                return true
        case OpGet128Float32x8:
-               return rewriteValueAMD64_OpGet128Float32x8(v)
+               v.Op = OpAMD64VEXTRACTF128128
+               return true
        case OpGet128Float64x4:
-               return rewriteValueAMD64_OpGet128Float64x4(v)
+               v.Op = OpAMD64VEXTRACTF128128
+               return true
        case OpGet128Int16x16:
-               return rewriteValueAMD64_OpGet128Int16x16(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Int32x8:
-               return rewriteValueAMD64_OpGet128Int32x8(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Int64x4:
-               return rewriteValueAMD64_OpGet128Int64x4(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Int8x32:
-               return rewriteValueAMD64_OpGet128Int8x32(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Uint16x16:
-               return rewriteValueAMD64_OpGet128Uint16x16(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Uint32x8:
-               return rewriteValueAMD64_OpGet128Uint32x8(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Uint64x4:
-               return rewriteValueAMD64_OpGet128Uint64x4(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGet128Uint8x32:
-               return rewriteValueAMD64_OpGet128Uint8x32(v)
+               v.Op = OpAMD64VEXTRACTI128128
+               return true
        case OpGetCallerPC:
                v.Op = OpAMD64LoweredGetCallerPC
                return true
@@ -1756,21 +1772,29 @@ func rewriteValueAMD64(v *Value) bool {
                v.Op = OpAMD64LoweredGetClosurePtr
                return true
        case OpGetElemInt16x8:
-               return rewriteValueAMD64_OpGetElemInt16x8(v)
+               v.Op = OpAMD64VPEXTRW128
+               return true
        case OpGetElemInt32x4:
-               return rewriteValueAMD64_OpGetElemInt32x4(v)
+               v.Op = OpAMD64VPEXTRD128
+               return true
        case OpGetElemInt64x2:
-               return rewriteValueAMD64_OpGetElemInt64x2(v)
+               v.Op = OpAMD64VPEXTRQ128
+               return true
        case OpGetElemInt8x16:
-               return rewriteValueAMD64_OpGetElemInt8x16(v)
+               v.Op = OpAMD64VPEXTRB128
+               return true
        case OpGetElemUint16x8:
-               return rewriteValueAMD64_OpGetElemUint16x8(v)
+               v.Op = OpAMD64VPEXTRW128
+               return true
        case OpGetElemUint32x4:
-               return rewriteValueAMD64_OpGetElemUint32x4(v)
+               v.Op = OpAMD64VPEXTRD128
+               return true
        case OpGetElemUint64x2:
-               return rewriteValueAMD64_OpGetElemUint64x2(v)
+               v.Op = OpAMD64VPEXTRQ128
+               return true
        case OpGetElemUint8x16:
-               return rewriteValueAMD64_OpGetElemUint8x16(v)
+               v.Op = OpAMD64VPEXTRB128
+               return true
        case OpGetG:
                return rewriteValueAMD64_OpGetG(v)
        case OpGreaterEqualFloat32x16:
@@ -3407,17 +3431,23 @@ func rewriteValueAMD64(v *Value) bool {
                v.Op = OpAMD64PrefetchNTA
                return true
        case OpRotateAllLeftInt32x16:
-               return rewriteValueAMD64_OpRotateAllLeftInt32x16(v)
+               v.Op = OpAMD64VPROLD512
+               return true
        case OpRotateAllLeftInt32x4:
-               return rewriteValueAMD64_OpRotateAllLeftInt32x4(v)
+               v.Op = OpAMD64VPROLD128
+               return true
        case OpRotateAllLeftInt32x8:
-               return rewriteValueAMD64_OpRotateAllLeftInt32x8(v)
+               v.Op = OpAMD64VPROLD256
+               return true
        case OpRotateAllLeftInt64x2:
-               return rewriteValueAMD64_OpRotateAllLeftInt64x2(v)
+               v.Op = OpAMD64VPROLQ128
+               return true
        case OpRotateAllLeftInt64x4:
-               return rewriteValueAMD64_OpRotateAllLeftInt64x4(v)
+               v.Op = OpAMD64VPROLQ256
+               return true
        case OpRotateAllLeftInt64x8:
-               return rewriteValueAMD64_OpRotateAllLeftInt64x8(v)
+               v.Op = OpAMD64VPROLQ512
+               return true
        case OpRotateAllLeftMaskedInt32x16:
                return rewriteValueAMD64_OpRotateAllLeftMaskedInt32x16(v)
        case OpRotateAllLeftMaskedInt32x4:
@@ -3443,29 +3473,41 @@ func rewriteValueAMD64(v *Value) bool {
        case OpRotateAllLeftMaskedUint64x8:
                return rewriteValueAMD64_OpRotateAllLeftMaskedUint64x8(v)
        case OpRotateAllLeftUint32x16:
-               return rewriteValueAMD64_OpRotateAllLeftUint32x16(v)
+               v.Op = OpAMD64VPROLD512
+               return true
        case OpRotateAllLeftUint32x4:
-               return rewriteValueAMD64_OpRotateAllLeftUint32x4(v)
+               v.Op = OpAMD64VPROLD128
+               return true
        case OpRotateAllLeftUint32x8:
-               return rewriteValueAMD64_OpRotateAllLeftUint32x8(v)
+               v.Op = OpAMD64VPROLD256
+               return true
        case OpRotateAllLeftUint64x2:
-               return rewriteValueAMD64_OpRotateAllLeftUint64x2(v)
+               v.Op = OpAMD64VPROLQ128
+               return true
        case OpRotateAllLeftUint64x4:
-               return rewriteValueAMD64_OpRotateAllLeftUint64x4(v)
+               v.Op = OpAMD64VPROLQ256
+               return true
        case OpRotateAllLeftUint64x8:
-               return rewriteValueAMD64_OpRotateAllLeftUint64x8(v)
+               v.Op = OpAMD64VPROLQ512
+               return true
        case OpRotateAllRightInt32x16:
-               return rewriteValueAMD64_OpRotateAllRightInt32x16(v)
+               v.Op = OpAMD64VPRORD512
+               return true
        case OpRotateAllRightInt32x4:
-               return rewriteValueAMD64_OpRotateAllRightInt32x4(v)
+               v.Op = OpAMD64VPRORD128
+               return true
        case OpRotateAllRightInt32x8:
-               return rewriteValueAMD64_OpRotateAllRightInt32x8(v)
+               v.Op = OpAMD64VPRORD256
+               return true
        case OpRotateAllRightInt64x2:
-               return rewriteValueAMD64_OpRotateAllRightInt64x2(v)
+               v.Op = OpAMD64VPRORQ128
+               return true
        case OpRotateAllRightInt64x4:
-               return rewriteValueAMD64_OpRotateAllRightInt64x4(v)
+               v.Op = OpAMD64VPRORQ256
+               return true
        case OpRotateAllRightInt64x8:
-               return rewriteValueAMD64_OpRotateAllRightInt64x8(v)
+               v.Op = OpAMD64VPRORQ512
+               return true
        case OpRotateAllRightMaskedInt32x16:
                return rewriteValueAMD64_OpRotateAllRightMaskedInt32x16(v)
        case OpRotateAllRightMaskedInt32x4:
@@ -3491,17 +3533,23 @@ func rewriteValueAMD64(v *Value) bool {
        case OpRotateAllRightMaskedUint64x8:
                return rewriteValueAMD64_OpRotateAllRightMaskedUint64x8(v)
        case OpRotateAllRightUint32x16:
-               return rewriteValueAMD64_OpRotateAllRightUint32x16(v)
+               v.Op = OpAMD64VPRORD512
+               return true
        case OpRotateAllRightUint32x4:
-               return rewriteValueAMD64_OpRotateAllRightUint32x4(v)
+               v.Op = OpAMD64VPRORD128
+               return true
        case OpRotateAllRightUint32x8:
-               return rewriteValueAMD64_OpRotateAllRightUint32x8(v)
+               v.Op = OpAMD64VPRORD256
+               return true
        case OpRotateAllRightUint64x2:
-               return rewriteValueAMD64_OpRotateAllRightUint64x2(v)
+               v.Op = OpAMD64VPRORQ128
+               return true
        case OpRotateAllRightUint64x4:
-               return rewriteValueAMD64_OpRotateAllRightUint64x4(v)
+               v.Op = OpAMD64VPRORQ256
+               return true
        case OpRotateAllRightUint64x8:
-               return rewriteValueAMD64_OpRotateAllRightUint64x8(v)
+               v.Op = OpAMD64VPRORQ512
+               return true
        case OpRotateLeft16:
                v.Op = OpAMD64ROLW
                return true
@@ -3937,59 +3985,86 @@ func rewriteValueAMD64(v *Value) bool {
        case OpSelectN:
                return rewriteValueAMD64_OpSelectN(v)
        case OpSet128Float32x8:
-               return rewriteValueAMD64_OpSet128Float32x8(v)
+               v.Op = OpAMD64VINSERTF128256
+               return true
        case OpSet128Float64x4:
-               return rewriteValueAMD64_OpSet128Float64x4(v)
+               v.Op = OpAMD64VINSERTF128256
+               return true
        case OpSet128Int16x16:
-               return rewriteValueAMD64_OpSet128Int16x16(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Int32x8:
-               return rewriteValueAMD64_OpSet128Int32x8(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Int64x4:
-               return rewriteValueAMD64_OpSet128Int64x4(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Int8x32:
-               return rewriteValueAMD64_OpSet128Int8x32(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Uint16x16:
-               return rewriteValueAMD64_OpSet128Uint16x16(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Uint32x8:
-               return rewriteValueAMD64_OpSet128Uint32x8(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Uint64x4:
-               return rewriteValueAMD64_OpSet128Uint64x4(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSet128Uint8x32:
-               return rewriteValueAMD64_OpSet128Uint8x32(v)
+               v.Op = OpAMD64VINSERTI128256
+               return true
        case OpSetElemInt16x8:
-               return rewriteValueAMD64_OpSetElemInt16x8(v)
+               v.Op = OpAMD64VPINSRW128
+               return true
        case OpSetElemInt32x4:
-               return rewriteValueAMD64_OpSetElemInt32x4(v)
+               v.Op = OpAMD64VPINSRD128
+               return true
        case OpSetElemInt64x2:
-               return rewriteValueAMD64_OpSetElemInt64x2(v)
+               v.Op = OpAMD64VPINSRQ128
+               return true
        case OpSetElemInt8x16:
-               return rewriteValueAMD64_OpSetElemInt8x16(v)
+               v.Op = OpAMD64VPINSRB128
+               return true
        case OpSetElemUint16x8:
-               return rewriteValueAMD64_OpSetElemUint16x8(v)
+               v.Op = OpAMD64VPINSRW128
+               return true
        case OpSetElemUint32x4:
-               return rewriteValueAMD64_OpSetElemUint32x4(v)
+               v.Op = OpAMD64VPINSRD128
+               return true
        case OpSetElemUint64x2:
-               return rewriteValueAMD64_OpSetElemUint64x2(v)
+               v.Op = OpAMD64VPINSRQ128
+               return true
        case OpSetElemUint8x16:
-               return rewriteValueAMD64_OpSetElemUint8x16(v)
+               v.Op = OpAMD64VPINSRB128
+               return true
        case OpShiftAllLeftAndFillUpperFromInt16x16:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x16(v)
+               v.Op = OpAMD64VPSHLDW256
+               return true
        case OpShiftAllLeftAndFillUpperFromInt16x32:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x32(v)
+               v.Op = OpAMD64VPSHLDW512
+               return true
        case OpShiftAllLeftAndFillUpperFromInt16x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x8(v)
+               v.Op = OpAMD64VPSHLDW128
+               return true
        case OpShiftAllLeftAndFillUpperFromInt32x16:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x16(v)
+               v.Op = OpAMD64VPSHLDD512
+               return true
        case OpShiftAllLeftAndFillUpperFromInt32x4:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x4(v)
+               v.Op = OpAMD64VPSHLDD128
+               return true
        case OpShiftAllLeftAndFillUpperFromInt32x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x8(v)
+               v.Op = OpAMD64VPSHLDD256
+               return true
        case OpShiftAllLeftAndFillUpperFromInt64x2:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x2(v)
+               v.Op = OpAMD64VPSHLDQ128
+               return true
        case OpShiftAllLeftAndFillUpperFromInt64x4:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x4(v)
+               v.Op = OpAMD64VPSHLDQ256
+               return true
        case OpShiftAllLeftAndFillUpperFromInt64x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x8(v)
+               v.Op = OpAMD64VPSHLDQ512
+               return true
        case OpShiftAllLeftAndFillUpperFromMaskedInt16x16:
                return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromMaskedInt16x16(v)
        case OpShiftAllLeftAndFillUpperFromMaskedInt16x32:
@@ -4027,23 +4102,32 @@ func rewriteValueAMD64(v *Value) bool {
        case OpShiftAllLeftAndFillUpperFromMaskedUint64x8:
                return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromMaskedUint64x8(v)
        case OpShiftAllLeftAndFillUpperFromUint16x16:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x16(v)
+               v.Op = OpAMD64VPSHLDW256
+               return true
        case OpShiftAllLeftAndFillUpperFromUint16x32:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x32(v)
+               v.Op = OpAMD64VPSHLDW512
+               return true
        case OpShiftAllLeftAndFillUpperFromUint16x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x8(v)
+               v.Op = OpAMD64VPSHLDW128
+               return true
        case OpShiftAllLeftAndFillUpperFromUint32x16:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x16(v)
+               v.Op = OpAMD64VPSHLDD512
+               return true
        case OpShiftAllLeftAndFillUpperFromUint32x4:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x4(v)
+               v.Op = OpAMD64VPSHLDD128
+               return true
        case OpShiftAllLeftAndFillUpperFromUint32x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x8(v)
+               v.Op = OpAMD64VPSHLDD256
+               return true
        case OpShiftAllLeftAndFillUpperFromUint64x2:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x2(v)
+               v.Op = OpAMD64VPSHLDQ128
+               return true
        case OpShiftAllLeftAndFillUpperFromUint64x4:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x4(v)
+               v.Op = OpAMD64VPSHLDQ256
+               return true
        case OpShiftAllLeftAndFillUpperFromUint64x8:
-               return rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x8(v)
+               v.Op = OpAMD64VPSHLDQ512
+               return true
        case OpShiftAllLeftInt16x16:
                v.Op = OpAMD64VPSLLW256
                return true
@@ -4099,23 +4183,32 @@ func rewriteValueAMD64(v *Value) bool {
                v.Op = OpAMD64VPSLLQ512
                return true
        case OpShiftAllRightAndFillUpperFromInt16x16:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x16(v)
+               v.Op = OpAMD64VPSHRDW256
+               return true
        case OpShiftAllRightAndFillUpperFromInt16x32:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x32(v)
+               v.Op = OpAMD64VPSHRDW512
+               return true
        case OpShiftAllRightAndFillUpperFromInt16x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x8(v)
+               v.Op = OpAMD64VPSHRDW128
+               return true
        case OpShiftAllRightAndFillUpperFromInt32x16:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x16(v)
+               v.Op = OpAMD64VPSHRDD512
+               return true
        case OpShiftAllRightAndFillUpperFromInt32x4:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x4(v)
+               v.Op = OpAMD64VPSHRDD128
+               return true
        case OpShiftAllRightAndFillUpperFromInt32x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x8(v)
+               v.Op = OpAMD64VPSHRDD256
+               return true
        case OpShiftAllRightAndFillUpperFromInt64x2:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x2(v)
+               v.Op = OpAMD64VPSHRDQ128
+               return true
        case OpShiftAllRightAndFillUpperFromInt64x4:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x4(v)
+               v.Op = OpAMD64VPSHRDQ256
+               return true
        case OpShiftAllRightAndFillUpperFromInt64x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x8(v)
+               v.Op = OpAMD64VPSHRDQ512
+               return true
        case OpShiftAllRightAndFillUpperFromMaskedInt16x16:
                return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromMaskedInt16x16(v)
        case OpShiftAllRightAndFillUpperFromMaskedInt16x32:
@@ -4153,23 +4246,32 @@ func rewriteValueAMD64(v *Value) bool {
        case OpShiftAllRightAndFillUpperFromMaskedUint64x8:
                return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromMaskedUint64x8(v)
        case OpShiftAllRightAndFillUpperFromUint16x16:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x16(v)
+               v.Op = OpAMD64VPSHRDW256
+               return true
        case OpShiftAllRightAndFillUpperFromUint16x32:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x32(v)
+               v.Op = OpAMD64VPSHRDW512
+               return true
        case OpShiftAllRightAndFillUpperFromUint16x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x8(v)
+               v.Op = OpAMD64VPSHRDW128
+               return true
        case OpShiftAllRightAndFillUpperFromUint32x16:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x16(v)
+               v.Op = OpAMD64VPSHRDD512
+               return true
        case OpShiftAllRightAndFillUpperFromUint32x4:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x4(v)
+               v.Op = OpAMD64VPSHRDD128
+               return true
        case OpShiftAllRightAndFillUpperFromUint32x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x8(v)
+               v.Op = OpAMD64VPSHRDD256
+               return true
        case OpShiftAllRightAndFillUpperFromUint64x2:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x2(v)
+               v.Op = OpAMD64VPSHRDQ128
+               return true
        case OpShiftAllRightAndFillUpperFromUint64x4:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x4(v)
+               v.Op = OpAMD64VPSHRDQ256
+               return true
        case OpShiftAllRightAndFillUpperFromUint64x8:
-               return rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x8(v)
+               v.Op = OpAMD64VPSHRDQ512
+               return true
        case OpShiftAllRightInt16x16:
                v.Op = OpAMD64VPSRLW256
                return true
@@ -33974,51 +34076,6 @@ func rewriteValueAMD64_OpGaloisFieldAffineTransformInversedMaskedUint8x64(v *Val
                return true
        }
 }
-func rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformInversedUint8x16 [a] x y)
-       // result: (VGF2P8AFFINEINVQB128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEINVQB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformInversedUint8x32 [a] x y)
-       // result: (VGF2P8AFFINEINVQB256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEINVQB256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGaloisFieldAffineTransformInversedUint8x64(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformInversedUint8x64 [a] x y)
-       // result: (VGF2P8AFFINEINVQB512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEINVQB512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpGaloisFieldAffineTransformMaskedUint8x16(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -34079,51 +34136,6 @@ func rewriteValueAMD64_OpGaloisFieldAffineTransformMaskedUint8x64(v *Value) bool
                return true
        }
 }
-func rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformUint8x16 [a] x y)
-       // result: (VGF2P8AFFINEQB128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEQB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformUint8x32 [a] x y)
-       // result: (VGF2P8AFFINEQB256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEQB256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGaloisFieldAffineTransformUint8x64(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (GaloisFieldAffineTransformUint8x64 [a] x y)
-       // result: (VGF2P8AFFINEQB512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VGF2P8AFFINEQB512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpGaloisFieldMulMaskedUint8x16(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -34178,240 +34190,6 @@ func rewriteValueAMD64_OpGaloisFieldMulMaskedUint8x64(v *Value) bool {
                return true
        }
 }
-func rewriteValueAMD64_OpGet128Float32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Float32x8 [a] x)
-       // result: (VEXTRACTF128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTF128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Float64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Float64x4 [a] x)
-       // result: (VEXTRACTF128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTF128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Int16x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Int16x16 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Int32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Int32x8 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Int64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Int64x4 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Int8x32(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Int8x32 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Uint16x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Uint16x16 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Uint32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Uint32x8 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Uint64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Uint64x4 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGet128Uint8x32(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (Get128Uint8x32 [a] x)
-       // result: (VEXTRACTI128128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VEXTRACTI128128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemInt16x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemInt16x8 [a] x)
-       // result: (VPEXTRW128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemInt32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemInt32x4 [a] x)
-       // result: (VPEXTRD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemInt64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemInt64x2 [a] x)
-       // result: (VPEXTRQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemInt8x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemInt8x16 [a] x)
-       // result: (VPEXTRB128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemUint16x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemUint16x8 [a] x)
-       // result: (VPEXTRW128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemUint32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemUint32x4 [a] x)
-       // result: (VPEXTRD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemUint64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemUint64x2 [a] x)
-       // result: (VPEXTRQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpGetElemUint8x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (GetElemUint8x16 [a] x)
-       // result: (VPEXTRB128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPEXTRB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
 func rewriteValueAMD64_OpGetG(v *Value) bool {
        v_0 := v.Args[0]
        // match: (GetG mem)
@@ -44964,84 +44742,6 @@ func rewriteValueAMD64_OpPopCountMaskedUint8x64(v *Value) bool {
                return true
        }
 }
-func rewriteValueAMD64_OpRotateAllLeftInt32x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt32x16 [a] x)
-       // result: (VPROLD512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftInt32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt32x4 [a] x)
-       // result: (VPROLD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftInt32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt32x8 [a] x)
-       // result: (VPROLD256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftInt64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt64x2 [a] x)
-       // result: (VPROLQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftInt64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt64x4 [a] x)
-       // result: (VPROLQ256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftInt64x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftInt64x8 [a] x)
-       // result: (VPROLQ512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
 func rewriteValueAMD64_OpRotateAllLeftMaskedInt32x16(v *Value) bool {
        v_1 := v.Args[1]
        v_0 := v.Args[0]
@@ -45258,162 +44958,6 @@ func rewriteValueAMD64_OpRotateAllLeftMaskedUint64x8(v *Value) bool {
                return true
        }
 }
-func rewriteValueAMD64_OpRotateAllLeftUint32x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint32x16 [a] x)
-       // result: (VPROLD512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftUint32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint32x4 [a] x)
-       // result: (VPROLD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftUint32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint32x8 [a] x)
-       // result: (VPROLD256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftUint64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint64x2 [a] x)
-       // result: (VPROLQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftUint64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint64x4 [a] x)
-       // result: (VPROLQ256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllLeftUint64x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllLeftUint64x8 [a] x)
-       // result: (VPROLQ512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPROLQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt32x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt32x16 [a] x)
-       // result: (VPRORD512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt32x4 [a] x)
-       // result: (VPRORD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt32x8 [a] x)
-       // result: (VPRORD256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt64x2 [a] x)
-       // result: (VPRORQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt64x4 [a] x)
-       // result: (VPRORQ256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightInt64x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightInt64x8 [a] x)
-       // result: (VPRORQ512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
 func rewriteValueAMD64_OpRotateAllRightMaskedInt32x16(v *Value) bool {
        v_1 := v.Args[1]
        v_0 := v.Args[0]
@@ -45630,84 +45174,6 @@ func rewriteValueAMD64_OpRotateAllRightMaskedUint64x8(v *Value) bool {
                return true
        }
 }
-func rewriteValueAMD64_OpRotateAllRightUint32x16(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint32x16 [a] x)
-       // result: (VPRORD512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightUint32x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint32x4 [a] x)
-       // result: (VPRORD128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightUint32x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint32x8 [a] x)
-       // result: (VPRORD256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightUint64x2(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint64x2 [a] x)
-       // result: (VPRORQ128 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightUint64x4(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint64x4 [a] x)
-       // result: (VPRORQ256 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
-func rewriteValueAMD64_OpRotateAllRightUint64x8(v *Value) bool {
-       v_0 := v.Args[0]
-       // match: (RotateAllRightUint64x8 [a] x)
-       // result: (VPRORQ512 [a] x)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               v.reset(OpAMD64VPRORQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg(x)
-               return true
-       }
-}
 func rewriteValueAMD64_OpRotateLeftMaskedInt32x16(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -48805,411 +48271,6 @@ func rewriteValueAMD64_OpSelectN(v *Value) bool {
        }
        return false
 }
-func rewriteValueAMD64_OpSet128Float32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Float32x8 [a] x y)
-       // result: (VINSERTF128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTF128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Float64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Float64x4 [a] x y)
-       // result: (VINSERTF128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTF128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Int16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Int16x16 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Int32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Int32x8 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Int64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Int64x4 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Int8x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Int8x32 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Uint16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Uint16x16 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Uint32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Uint32x8 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Uint64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Uint64x4 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSet128Uint8x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (Set128Uint8x32 [a] x y)
-       // result: (VINSERTI128256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VINSERTI128256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemInt16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemInt16x8 [a] x y)
-       // result: (VPINSRW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemInt32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemInt32x4 [a] x y)
-       // result: (VPINSRD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemInt64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemInt64x2 [a] x y)
-       // result: (VPINSRQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemInt8x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemInt8x16 [a] x y)
-       // result: (VPINSRB128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemUint16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemUint16x8 [a] x y)
-       // result: (VPINSRW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemUint32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemUint32x4 [a] x y)
-       // result: (VPINSRD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemUint64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemUint64x2 [a] x y)
-       // result: (VPINSRQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpSetElemUint8x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (SetElemUint8x16 [a] x y)
-       // result: (VPINSRB128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPINSRB128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt16x16 [a] x y)
-       // result: (VPSHLDW256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt16x32 [a] x y)
-       // result: (VPSHLDW512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt16x8 [a] x y)
-       // result: (VPSHLDW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt32x16 [a] x y)
-       // result: (VPSHLDD512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt32x4 [a] x y)
-       // result: (VPSHLDD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt32x8 [a] x y)
-       // result: (VPSHLDD256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt64x2 [a] x y)
-       // result: (VPSHLDQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt64x4 [a] x y)
-       // result: (VPSHLDQ256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromInt64x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromInt64x8 [a] x y)
-       // result: (VPSHLDQ512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromMaskedInt16x16(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -49570,141 +48631,6 @@ func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromMaskedUint64x8(v *Value) bo
                return true
        }
 }
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint16x16 [a] x y)
-       // result: (VPSHLDW256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint16x32 [a] x y)
-       // result: (VPSHLDW512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint16x8 [a] x y)
-       // result: (VPSHLDW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint32x16 [a] x y)
-       // result: (VPSHLDD512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint32x4 [a] x y)
-       // result: (VPSHLDD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint32x8 [a] x y)
-       // result: (VPSHLDD256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint64x2 [a] x y)
-       // result: (VPSHLDQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint64x4 [a] x y)
-       // result: (VPSHLDQ256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllLeftAndFillUpperFromUint64x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllLeftAndFillUpperFromUint64x8 [a] x y)
-       // result: (VPSHLDQ512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHLDQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpShiftAllLeftMaskedInt64x2(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -49813,141 +48739,6 @@ func rewriteValueAMD64_OpShiftAllLeftMaskedUint64x8(v *Value) bool {
                return true
        }
 }
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt16x16 [a] x y)
-       // result: (VPSHRDW256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt16x32 [a] x y)
-       // result: (VPSHRDW512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt16x8 [a] x y)
-       // result: (VPSHRDW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt32x16 [a] x y)
-       // result: (VPSHRDD512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt32x4 [a] x y)
-       // result: (VPSHRDD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt32x8 [a] x y)
-       // result: (VPSHRDD256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt64x2 [a] x y)
-       // result: (VPSHRDQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt64x4 [a] x y)
-       // result: (VPSHRDQ256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromInt64x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromInt64x8 [a] x y)
-       // result: (VPSHRDQ512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromMaskedInt16x16(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]
@@ -50308,141 +49099,6 @@ func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromMaskedUint64x8(v *Value) b
                return true
        }
 }
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint16x16 [a] x y)
-       // result: (VPSHRDW256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x32(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint16x32 [a] x y)
-       // result: (VPSHRDW512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint16x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint16x8 [a] x y)
-       // result: (VPSHRDW128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDW128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x16(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint32x16 [a] x y)
-       // result: (VPSHRDD512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint32x4 [a] x y)
-       // result: (VPSHRDD128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint32x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint32x8 [a] x y)
-       // result: (VPSHRDD256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDD256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x2(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint64x2 [a] x y)
-       // result: (VPSHRDQ128 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ128)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x4(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint64x4 [a] x y)
-       // result: (VPSHRDQ256 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ256)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
-func rewriteValueAMD64_OpShiftAllRightAndFillUpperFromUint64x8(v *Value) bool {
-       v_1 := v.Args[1]
-       v_0 := v.Args[0]
-       // match: (ShiftAllRightAndFillUpperFromUint64x8 [a] x y)
-       // result: (VPSHRDQ512 [a] x y)
-       for {
-               a := auxIntToInt8(v.AuxInt)
-               x := v_0
-               y := v_1
-               v.reset(OpAMD64VPSHRDQ512)
-               v.AuxInt = int8ToAuxInt(a)
-               v.AddArg2(x, y)
-               return true
-       }
-}
 func rewriteValueAMD64_OpShiftAllRightMaskedInt64x2(v *Value) bool {
        v_2 := v.Args[2]
        v_1 := v.Args[1]