// Code generated by 'simdgen -o godefs -goroot $GOROOT -arch arm64 -arm64Path $ARM64_ISA_PATH go_arm64.yaml types.yaml categories.yaml'; DO NOT EDIT.
package ssagen

import (
	"cmd/compile/internal/ir"
	"cmd/compile/internal/ssa"
	"cmd/compile/internal/types"
	"cmd/internal/sys"
)

func simdARM64Intrinsics(addF func(pkg, fn string, b intrinsicBuilder, archFamilies ...sys.ArchFamily)) {

	addF(simdPackage, "Float32x4.Abs", opLen1(ssa.OpAbsFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Abs", opLen1(ssa.OpAbsFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Abs", opLen1(ssa.OpAbsInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Abs", opLen1(ssa.OpAbsInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Abs", opLen1(ssa.OpAbsInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Abs", opLen1(ssa.OpAbsInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Add", opLen2(ssa.OpAddFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Add", opLen2(ssa.OpAddFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Add", opLen2(ssa.OpAddInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Add", opLen2(ssa.OpAddInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Add", opLen2(ssa.OpAddInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Add", opLen2(ssa.OpAddInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Add", opLen2(ssa.OpAddUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Add", opLen2(ssa.OpAddUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Add", opLen2(ssa.OpAddUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Add", opLen2(ssa.OpAddUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.AddSaturated", opLen2(ssa.OpAddSaturatedInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.AddSaturated", opLen2(ssa.OpAddSaturatedInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.AddSaturated", opLen2(ssa.OpAddSaturatedInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.AddSaturated", opLen2(ssa.OpAddSaturatedInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.AddSaturated", opLen2(ssa.OpAddSaturatedUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.AddSaturated", opLen2(ssa.OpAddSaturatedUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.AddSaturated", opLen2(ssa.OpAddSaturatedUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.AddSaturated", opLen2(ssa.OpAddSaturatedUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.And", opLen2(ssa.OpAndInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.And", opLen2(ssa.OpAndInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.And", opLen2(ssa.OpAndInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.And", opLen2(ssa.OpAndUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.And", opLen2(ssa.OpAndUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.And", opLen2(ssa.OpAndUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.And", opLen2(ssa.OpAndUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.AndNot", opLen2(ssa.OpAndNotInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.AndNot", opLen2(ssa.OpAndNotInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.AndNot", opLen2(ssa.OpAndNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.AndNot", opLen2(ssa.OpAndNotInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.AndNot", opLen2(ssa.OpAndNotUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.AndNot", opLen2(ssa.OpAndNotUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.AndNot", opLen2(ssa.OpAndNotUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.AndNot", opLen2(ssa.OpAndNotUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Average", opLen2(ssa.OpAverageInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Average", opLen2(ssa.OpAverageInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Average", opLen2(ssa.OpAverageInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Average", opLen2(ssa.OpAverageUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Average", opLen2(ssa.OpAverageUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Average", opLen2(ssa.OpAverageUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Ceil", opLen1(ssa.OpCeilFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Ceil", opLen1(ssa.OpCeilFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ConcatEven", opLen2(ssa.OpConcatEvenInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ConcatEven", opLen2(ssa.OpConcatEvenInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ConcatEven", opLen2(ssa.OpConcatEvenInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ConcatEven", opLen2(ssa.OpConcatEvenInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ConcatEven", opLen2(ssa.OpConcatEvenUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ConcatEven", opLen2(ssa.OpConcatEvenUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ConcatEven", opLen2(ssa.OpConcatEvenUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ConcatEven", opLen2(ssa.OpConcatEvenUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ConcatOdd", opLen2(ssa.OpConcatOddInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ConcatOdd", opLen2(ssa.OpConcatOddInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ConcatOdd", opLen2(ssa.OpConcatOddInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ConcatOdd", opLen2(ssa.OpConcatOddInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ConcatOdd", opLen2(ssa.OpConcatOddUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ConcatOdd", opLen2(ssa.OpConcatOddUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ConcatOdd", opLen2(ssa.OpConcatOddUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ConcatOdd", opLen2(ssa.OpConcatOddUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ConcatShiftBytesRight", opLen2Imm_2I(ssa.OpConcatShiftBytesRightUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
	addF(simdPackage, "Float32x4.ConvertLo2ToFloat64", opLen1(ssa.OpConvertLo2ToFloat64Float32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Float64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Uint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Int64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Uint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.ConvertToInt32", opLen1(ssa.OpConvertToInt32Float32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.ConvertToInt64", opLen1(ssa.OpConvertToInt64Float64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.ConvertToUint32", opLen1(ssa.OpConvertToUint32Float32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.ConvertToUint64", opLen1(ssa.OpConvertToUint64Float64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Div", opLen2(ssa.OpDivFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Div", opLen2(ssa.OpDivFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Equal", opLen2(ssa.OpEqualFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Equal", opLen2(ssa.OpEqualFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Equal", opLen2(ssa.OpEqualInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Equal", opLen2(ssa.OpEqualInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Equal", opLen2(ssa.OpEqualInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Equal", opLen2(ssa.OpEqualInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Equal", opLen2(ssa.OpEqualUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Equal", opLen2(ssa.OpEqualUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Equal", opLen2(ssa.OpEqualUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Equal", opLen2(ssa.OpEqualUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ExtendLo2ToInt64", opLen1(ssa.OpExtendLo2ToInt64Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ExtendLo2ToUint64", opLen1(ssa.OpExtendLo2ToUint64Uint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ExtendLo4ToInt32", opLen1(ssa.OpExtendLo4ToInt32Int16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ExtendLo4ToUint32", opLen1(ssa.OpExtendLo4ToUint32Uint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ExtendLo8ToInt16", opLen1(ssa.OpExtendLo8ToInt16Int8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ExtendLo8ToUint16", opLen1(ssa.OpExtendLo8ToUint16Uint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Floor", opLen1(ssa.OpFloorFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Floor", opLen1(ssa.OpFloorFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.GetElem", opLen1Imm(ssa.OpGetElemFloat32x4, types.Types[types.TFLOAT32], 0, 3), sys.ARM64)
	addF(simdPackage, "Float64x2.GetElem", opLen1Imm(ssa.OpGetElemFloat64x2, types.Types[types.TFLOAT64], 0, 1), sys.ARM64)
	addF(simdPackage, "Int8x16.GetElem", opLen1Imm(ssa.OpGetElemInt8x16, types.Types[types.TINT8], 0, 15), sys.ARM64)
	addF(simdPackage, "Int16x8.GetElem", opLen1Imm(ssa.OpGetElemInt16x8, types.Types[types.TINT16], 0, 7), sys.ARM64)
	addF(simdPackage, "Int32x4.GetElem", opLen1Imm(ssa.OpGetElemInt32x4, types.Types[types.TINT32], 0, 3), sys.ARM64)
	addF(simdPackage, "Int64x2.GetElem", opLen1Imm(ssa.OpGetElemInt64x2, types.Types[types.TINT64], 0, 1), sys.ARM64)
	addF(simdPackage, "Uint8x16.GetElem", opLen1Imm(ssa.OpGetElemUint8x16, types.Types[types.TUINT8], 0, 15), sys.ARM64)
	addF(simdPackage, "Uint16x8.GetElem", opLen1Imm(ssa.OpGetElemUint16x8, types.Types[types.TUINT16], 0, 7), sys.ARM64)
	addF(simdPackage, "Uint32x4.GetElem", opLen1Imm(ssa.OpGetElemUint32x4, types.Types[types.TUINT32], 0, 3), sys.ARM64)
	addF(simdPackage, "Uint64x2.GetElem", opLen1Imm(ssa.OpGetElemUint64x2, types.Types[types.TUINT64], 0, 1), sys.ARM64)
	addF(simdPackage, "Float32x4.Greater", opLen2(ssa.OpGreaterFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Greater", opLen2(ssa.OpGreaterFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Greater", opLen2(ssa.OpGreaterInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Greater", opLen2(ssa.OpGreaterInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Greater", opLen2(ssa.OpGreaterInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Greater", opLen2(ssa.OpGreaterInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Greater", opLen2(ssa.OpGreaterUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Greater", opLen2(ssa.OpGreaterUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Greater", opLen2(ssa.OpGreaterUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Greater", opLen2(ssa.OpGreaterUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.GreaterEqual", opLen2(ssa.OpGreaterEqualInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.GreaterEqual", opLen2(ssa.OpGreaterEqualInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.GreaterEqual", opLen2(ssa.OpGreaterEqualUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.GreaterEqual", opLen2(ssa.OpGreaterEqualUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Max", opLen2(ssa.OpMaxFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Max", opLen2(ssa.OpMaxFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Max", opLen2(ssa.OpMaxInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Max", opLen2(ssa.OpMaxInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Max", opLen2(ssa.OpMaxInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Max", opLen2(ssa.OpMaxUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Max", opLen2(ssa.OpMaxUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Max", opLen2(ssa.OpMaxUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Min", opLen2(ssa.OpMinFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Min", opLen2(ssa.OpMinFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Min", opLen2(ssa.OpMinInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Min", opLen2(ssa.OpMinInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Min", opLen2(ssa.OpMinInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Min", opLen2(ssa.OpMinUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Min", opLen2(ssa.OpMinUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Min", opLen2(ssa.OpMinUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Mul", opLen2(ssa.OpMulFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Mul", opLen2(ssa.OpMulFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Mul", opLen2(ssa.OpMulInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Mul", opLen2(ssa.OpMulInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Mul", opLen2(ssa.OpMulInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Mul", opLen2(ssa.OpMulUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Mul", opLen2(ssa.OpMulUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Mul", opLen2(ssa.OpMulUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.MulAdd", opLen3(ssa.OpMulAddFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.MulAdd", opLen3(ssa.OpMulAddFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.MulAdd", opLen3(ssa.OpMulAddInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.MulAdd", opLen3(ssa.OpMulAddInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.MulAdd", opLen3(ssa.OpMulAddInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.MulAdd", opLen3(ssa.OpMulAddUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.MulAdd", opLen3(ssa.OpMulAddUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.MulAdd", opLen3(ssa.OpMulAddUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.MulWidenLo", opLen2(ssa.OpMulWidenLoInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.MulWidenLo", opLen2(ssa.OpMulWidenLoInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.MulWidenLo", opLen2(ssa.OpMulWidenLoInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.MulWidenLo", opLen2(ssa.OpMulWidenLoUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.MulWidenLo", opLen2(ssa.OpMulWidenLoUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.MulWidenLo", opLen2(ssa.OpMulWidenLoUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Neg", opLen1(ssa.OpNegFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Neg", opLen1(ssa.OpNegFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Neg", opLen1(ssa.OpNegInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Neg", opLen1(ssa.OpNegInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Neg", opLen1(ssa.OpNegInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Neg", opLen1(ssa.OpNegInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Not", opLen1(ssa.OpNotInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Not", opLen1(ssa.OpNotInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Not", opLen1(ssa.OpNotInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Not", opLen1(ssa.OpNotUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Not", opLen1(ssa.OpNotUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Not", opLen1(ssa.OpNotUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Not", opLen1(ssa.OpNotUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.OnesCount", opLen1(ssa.OpOnesCountInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.OnesCount", opLen1(ssa.OpOnesCountUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Or", opLen2(ssa.OpOrInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Or", opLen2(ssa.OpOrInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Or", opLen2(ssa.OpOrInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Or", opLen2(ssa.OpOrUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Or", opLen2(ssa.OpOrUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Or", opLen2(ssa.OpOrUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Or", opLen2(ssa.OpOrUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.OrNot", opLen2(ssa.OpOrNotInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.OrNot", opLen2(ssa.OpOrNotInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.OrNot", opLen2(ssa.OpOrNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.OrNot", opLen2(ssa.OpOrNotInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.OrNot", opLen2(ssa.OpOrNotUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.OrNot", opLen2(ssa.OpOrNotUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.OrNot", opLen2(ssa.OpOrNotUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.OrNot", opLen2(ssa.OpOrNotUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Round", opLen1(ssa.OpRoundFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Round", opLen1(ssa.OpRoundFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.SaturateToInt8", opLen1(ssa.OpSaturateToInt8Int16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.SaturateToInt16", opLen1(ssa.OpSaturateToInt16Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.SaturateToInt32", opLen1(ssa.OpSaturateToInt32Int64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Int16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Uint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Uint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Int64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Uint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.SetElem", opLen2Imm(ssa.OpSetElemInt8x16, types.TypeVec128, 0, 15), sys.ARM64)
	addF(simdPackage, "Int16x8.SetElem", opLen2Imm(ssa.OpSetElemInt16x8, types.TypeVec128, 0, 7), sys.ARM64)
	addF(simdPackage, "Int32x4.SetElem", opLen2Imm(ssa.OpSetElemInt32x4, types.TypeVec128, 0, 3), sys.ARM64)
	addF(simdPackage, "Int64x2.SetElem", opLen2Imm(ssa.OpSetElemInt64x2, types.TypeVec128, 0, 1), sys.ARM64)
	addF(simdPackage, "Uint8x16.SetElem", opLen2Imm(ssa.OpSetElemUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
	addF(simdPackage, "Uint16x8.SetElem", opLen2Imm(ssa.OpSetElemUint16x8, types.TypeVec128, 0, 7), sys.ARM64)
	addF(simdPackage, "Uint32x4.SetElem", opLen2Imm(ssa.OpSetElemUint32x4, types.TypeVec128, 0, 3), sys.ARM64)
	addF(simdPackage, "Uint64x2.SetElem", opLen2Imm(ssa.OpSetElemUint64x2, types.TypeVec128, 0, 1), sys.ARM64)
	addF(simdPackage, "Float32x4.SetElem", opLen2Imm(ssa.OpSetElemFloat32x4, types.TypeVec128, 0, 3), sys.ARM64)
	addF(simdPackage, "Float64x2.SetElem", opLen2Imm(ssa.OpSetElemFloat64x2, types.TypeVec128, 0, 1), sys.ARM64)
	addF(simdPackage, "Int8x16.Shift", opLen2(ssa.OpShiftInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Shift", opLen2(ssa.OpShiftInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Shift", opLen2(ssa.OpShiftInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Shift", opLen2(ssa.OpShiftInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Shift", opLen2(ssa.OpShiftUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Shift", opLen2(ssa.OpShiftUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Shift", opLen2(ssa.OpShiftUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Shift", opLen2(ssa.OpShiftUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Sqrt", opLen1(ssa.OpSqrtFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Sqrt", opLen1(ssa.OpSqrtFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Sub", opLen2(ssa.OpSubFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Sub", opLen2(ssa.OpSubFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Sub", opLen2(ssa.OpSubInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Sub", opLen2(ssa.OpSubInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Sub", opLen2(ssa.OpSubInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Sub", opLen2(ssa.OpSubInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Sub", opLen2(ssa.OpSubUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Sub", opLen2(ssa.OpSubUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Sub", opLen2(ssa.OpSubUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Sub", opLen2(ssa.OpSubUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.SubSaturated", opLen2(ssa.OpSubSaturatedInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.SubSaturated", opLen2(ssa.OpSubSaturatedInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.SubSaturated", opLen2(ssa.OpSubSaturatedInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.SubSaturated", opLen2(ssa.OpSubSaturatedInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.SubSaturated", opLen2(ssa.OpSubSaturatedUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.SubSaturated", opLen2(ssa.OpSubSaturatedUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.SubSaturated", opLen2(ssa.OpSubSaturatedUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.SubSaturated", opLen2(ssa.OpSubSaturatedUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.Trunc", opLen1(ssa.OpTruncFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.Trunc", opLen1(ssa.OpTruncFloat64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.TruncToInt8", opLen1(ssa.OpTruncToInt8Int16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.TruncToInt16", opLen1(ssa.OpTruncToInt16Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.TruncToInt32", opLen1(ssa.OpTruncToInt32Int64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.TruncToUint8", opLen1(ssa.OpTruncToUint8Uint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.TruncToUint16", opLen1(ssa.OpTruncToUint16Uint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.TruncToUint32", opLen1(ssa.OpTruncToUint32Uint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.Xor", opLen2(ssa.OpXorInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.Xor", opLen2(ssa.OpXorInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.Xor", opLen2(ssa.OpXorInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.Xor", opLen2(ssa.OpXorInt64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.Xor", opLen2(ssa.OpXorUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.Xor", opLen2(ssa.OpXorUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.Xor", opLen2(ssa.OpXorUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.Xor", opLen2(ssa.OpXorUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.bitSelect", opLen3(ssa.OpbitSelectInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.bitSelectNot", opLen3(ssa.OpbitSelectNotInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Float64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Int64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Uint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Float32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Int32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Uint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Int16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Uint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Int8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Uint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint64x2.carrylessMultiplyWidenLo", opLen2(ssa.OpcarrylessMultiplyWidenLoUint64x2, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.reduceMax", opLen1(ssa.OpreduceMaxFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.reduceMax", opLen1(ssa.OpreduceMaxInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.reduceMax", opLen1(ssa.OpreduceMaxInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.reduceMax", opLen1(ssa.OpreduceMaxInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.reduceMax", opLen1(ssa.OpreduceMaxUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.reduceMax", opLen1(ssa.OpreduceMaxUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.reduceMax", opLen1(ssa.OpreduceMaxUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.reduceMin", opLen1(ssa.OpreduceMinFloat32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.reduceMin", opLen1(ssa.OpreduceMinInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.reduceMin", opLen1(ssa.OpreduceMinInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.reduceMin", opLen1(ssa.OpreduceMinInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.reduceMin", opLen1(ssa.OpreduceMinUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.reduceMin", opLen1(ssa.OpreduceMinUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.reduceMin", opLen1(ssa.OpreduceMinUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int8x16.reduceSum", opLen1(ssa.OpreduceSumInt8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int16x8.reduceSum", opLen1(ssa.OpreduceSumInt16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Int32x4.reduceSum", opLen1(ssa.OpreduceSumInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint8x16.reduceSum", opLen1(ssa.OpreduceSumUint8x16, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint16x8.reduceSum", opLen1(ssa.OpreduceSumUint16x8, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Uint32x4.reduceSum", opLen1(ssa.OpreduceSumUint32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Float32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.BitsToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.ConvertToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.ConvertToUint8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint8x16.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.BitsToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.ConvertToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.ConvertToUint16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint16x8.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.BitsToFloat32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.BitsToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.ConvertToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.ConvertToUint32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint32x4.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.BitsToFloat64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Float64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.BitsToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.ConvertToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.ConvertToUint64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Uint64x2.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "LoadFloat32x4Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Float32x4.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadFloat64x2Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Float64x2.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadInt8x16Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Int8x16.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadInt16x8Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Int16x8.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadInt32x4Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Int32x4.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadInt64x2Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Int64x2.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadUint8x16Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Uint8x16.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadUint16x8Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Uint16x8.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadUint32x4Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Uint32x4.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "LoadUint64x2Array", simdLoad(), sys.ARM64)
	addF(simdPackage, "Uint64x2.StoreArray", simdStore(), sys.ARM64)
	addF(simdPackage, "Mask8x16.ToInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int8x16.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Mask8x16.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask8x16.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask8x16.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask16x8.ToInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int16x8.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Mask16x8.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask16x8.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask16x8.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask32x4.ToInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int32x4.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Mask32x4.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask64x2.ToInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Int64x2.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
	addF(simdPackage, "Mask64x2.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask64x2.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
	addF(simdPackage, "Mask64x2.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
}
