Source file src/cmd/compile/internal/ssagen/simdARM64intrinsics.go

     1  // Code generated by 'simdgen -o godefs -goroot $GOROOT -arch arm64 -arm64Path $ARM64_ISA_PATH go_arm64.yaml types.yaml categories.yaml'; DO NOT EDIT.
     2  package ssagen
     3  
     4  import (
     5  	"cmd/compile/internal/ir"
     6  	"cmd/compile/internal/ssa"
     7  	"cmd/compile/internal/types"
     8  	"cmd/internal/sys"
     9  )
    10  
    11  func simdARM64Intrinsics(addF func(pkg, fn string, b intrinsicBuilder, archFamilies ...sys.ArchFamily)) {
    12  
    13  	addF(simdPackage, "Float32x4.Abs", opLen1(ssa.OpAbsFloat32x4, types.TypeVec128), sys.ARM64)
    14  	addF(simdPackage, "Float64x2.Abs", opLen1(ssa.OpAbsFloat64x2, types.TypeVec128), sys.ARM64)
    15  	addF(simdPackage, "Int8x16.Abs", opLen1(ssa.OpAbsInt8x16, types.TypeVec128), sys.ARM64)
    16  	addF(simdPackage, "Int16x8.Abs", opLen1(ssa.OpAbsInt16x8, types.TypeVec128), sys.ARM64)
    17  	addF(simdPackage, "Int32x4.Abs", opLen1(ssa.OpAbsInt32x4, types.TypeVec128), sys.ARM64)
    18  	addF(simdPackage, "Int64x2.Abs", opLen1(ssa.OpAbsInt64x2, types.TypeVec128), sys.ARM64)
    19  	addF(simdPackage, "Float32x4.Add", opLen2(ssa.OpAddFloat32x4, types.TypeVec128), sys.ARM64)
    20  	addF(simdPackage, "Float64x2.Add", opLen2(ssa.OpAddFloat64x2, types.TypeVec128), sys.ARM64)
    21  	addF(simdPackage, "Int8x16.Add", opLen2(ssa.OpAddInt8x16, types.TypeVec128), sys.ARM64)
    22  	addF(simdPackage, "Int16x8.Add", opLen2(ssa.OpAddInt16x8, types.TypeVec128), sys.ARM64)
    23  	addF(simdPackage, "Int32x4.Add", opLen2(ssa.OpAddInt32x4, types.TypeVec128), sys.ARM64)
    24  	addF(simdPackage, "Int64x2.Add", opLen2(ssa.OpAddInt64x2, types.TypeVec128), sys.ARM64)
    25  	addF(simdPackage, "Uint8x16.Add", opLen2(ssa.OpAddUint8x16, types.TypeVec128), sys.ARM64)
    26  	addF(simdPackage, "Uint16x8.Add", opLen2(ssa.OpAddUint16x8, types.TypeVec128), sys.ARM64)
    27  	addF(simdPackage, "Uint32x4.Add", opLen2(ssa.OpAddUint32x4, types.TypeVec128), sys.ARM64)
    28  	addF(simdPackage, "Uint64x2.Add", opLen2(ssa.OpAddUint64x2, types.TypeVec128), sys.ARM64)
    29  	addF(simdPackage, "Int8x16.AddSaturated", opLen2(ssa.OpAddSaturatedInt8x16, types.TypeVec128), sys.ARM64)
    30  	addF(simdPackage, "Int16x8.AddSaturated", opLen2(ssa.OpAddSaturatedInt16x8, types.TypeVec128), sys.ARM64)
    31  	addF(simdPackage, "Int32x4.AddSaturated", opLen2(ssa.OpAddSaturatedInt32x4, types.TypeVec128), sys.ARM64)
    32  	addF(simdPackage, "Int64x2.AddSaturated", opLen2(ssa.OpAddSaturatedInt64x2, types.TypeVec128), sys.ARM64)
    33  	addF(simdPackage, "Uint8x16.AddSaturated", opLen2(ssa.OpAddSaturatedUint8x16, types.TypeVec128), sys.ARM64)
    34  	addF(simdPackage, "Uint16x8.AddSaturated", opLen2(ssa.OpAddSaturatedUint16x8, types.TypeVec128), sys.ARM64)
    35  	addF(simdPackage, "Uint32x4.AddSaturated", opLen2(ssa.OpAddSaturatedUint32x4, types.TypeVec128), sys.ARM64)
    36  	addF(simdPackage, "Uint64x2.AddSaturated", opLen2(ssa.OpAddSaturatedUint64x2, types.TypeVec128), sys.ARM64)
    37  	addF(simdPackage, "Int8x16.And", opLen2(ssa.OpAndInt8x16, types.TypeVec128), sys.ARM64)
    38  	addF(simdPackage, "Int16x8.And", opLen2(ssa.OpAndInt16x8, types.TypeVec128), sys.ARM64)
    39  	addF(simdPackage, "Int32x4.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
    40  	addF(simdPackage, "Int64x2.And", opLen2(ssa.OpAndInt64x2, types.TypeVec128), sys.ARM64)
    41  	addF(simdPackage, "Uint8x16.And", opLen2(ssa.OpAndUint8x16, types.TypeVec128), sys.ARM64)
    42  	addF(simdPackage, "Uint16x8.And", opLen2(ssa.OpAndUint16x8, types.TypeVec128), sys.ARM64)
    43  	addF(simdPackage, "Uint32x4.And", opLen2(ssa.OpAndUint32x4, types.TypeVec128), sys.ARM64)
    44  	addF(simdPackage, "Uint64x2.And", opLen2(ssa.OpAndUint64x2, types.TypeVec128), sys.ARM64)
    45  	addF(simdPackage, "Int8x16.AndNot", opLen2(ssa.OpAndNotInt8x16, types.TypeVec128), sys.ARM64)
    46  	addF(simdPackage, "Int16x8.AndNot", opLen2(ssa.OpAndNotInt16x8, types.TypeVec128), sys.ARM64)
    47  	addF(simdPackage, "Int32x4.AndNot", opLen2(ssa.OpAndNotInt32x4, types.TypeVec128), sys.ARM64)
    48  	addF(simdPackage, "Int64x2.AndNot", opLen2(ssa.OpAndNotInt64x2, types.TypeVec128), sys.ARM64)
    49  	addF(simdPackage, "Uint8x16.AndNot", opLen2(ssa.OpAndNotUint8x16, types.TypeVec128), sys.ARM64)
    50  	addF(simdPackage, "Uint16x8.AndNot", opLen2(ssa.OpAndNotUint16x8, types.TypeVec128), sys.ARM64)
    51  	addF(simdPackage, "Uint32x4.AndNot", opLen2(ssa.OpAndNotUint32x4, types.TypeVec128), sys.ARM64)
    52  	addF(simdPackage, "Uint64x2.AndNot", opLen2(ssa.OpAndNotUint64x2, types.TypeVec128), sys.ARM64)
    53  	addF(simdPackage, "Int8x16.Average", opLen2(ssa.OpAverageInt8x16, types.TypeVec128), sys.ARM64)
    54  	addF(simdPackage, "Int16x8.Average", opLen2(ssa.OpAverageInt16x8, types.TypeVec128), sys.ARM64)
    55  	addF(simdPackage, "Int32x4.Average", opLen2(ssa.OpAverageInt32x4, types.TypeVec128), sys.ARM64)
    56  	addF(simdPackage, "Uint8x16.Average", opLen2(ssa.OpAverageUint8x16, types.TypeVec128), sys.ARM64)
    57  	addF(simdPackage, "Uint16x8.Average", opLen2(ssa.OpAverageUint16x8, types.TypeVec128), sys.ARM64)
    58  	addF(simdPackage, "Uint32x4.Average", opLen2(ssa.OpAverageUint32x4, types.TypeVec128), sys.ARM64)
    59  	addF(simdPackage, "Float32x4.Ceil", opLen1(ssa.OpCeilFloat32x4, types.TypeVec128), sys.ARM64)
    60  	addF(simdPackage, "Float64x2.Ceil", opLen1(ssa.OpCeilFloat64x2, types.TypeVec128), sys.ARM64)
    61  	addF(simdPackage, "Float32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsFloat32x4, types.TypeVec128), sys.ARM64)
    62  	addF(simdPackage, "Float64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsFloat64x2, types.TypeVec128), sys.ARM64)
    63  	addF(simdPackage, "Int16x8.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt16x8, types.TypeVec128), sys.ARM64)
    64  	addF(simdPackage, "Int32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt32x4, types.TypeVec128), sys.ARM64)
    65  	addF(simdPackage, "Int64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsInt64x2, types.TypeVec128), sys.ARM64)
    66  	addF(simdPackage, "Uint16x8.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint16x8, types.TypeVec128), sys.ARM64)
    67  	addF(simdPackage, "Uint32x4.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint32x4, types.TypeVec128), sys.ARM64)
    68  	addF(simdPackage, "Uint64x2.ConcatAddPairs", opLen2(ssa.OpConcatAddPairsUint64x2, types.TypeVec128), sys.ARM64)
    69  	addF(simdPackage, "Uint8x16.ConcatShiftBytesRight", opLen2Imm_2I(ssa.OpConcatShiftBytesRightUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
    70  	addF(simdPackage, "Float32x4.ConvertLo2ToFloat64", opLen1(ssa.OpConvertLo2ToFloat64Float32x4, types.TypeVec128), sys.ARM64)
    71  	addF(simdPackage, "Float64x2.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Float64x2, types.TypeVec128), sys.ARM64)
    72  	addF(simdPackage, "Int32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Int32x4, types.TypeVec128), sys.ARM64)
    73  	addF(simdPackage, "Uint32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Uint32x4, types.TypeVec128), sys.ARM64)
    74  	addF(simdPackage, "Int64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Int64x2, types.TypeVec128), sys.ARM64)
    75  	addF(simdPackage, "Uint64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Uint64x2, types.TypeVec128), sys.ARM64)
    76  	addF(simdPackage, "Float32x4.ConvertToInt32", opLen1(ssa.OpConvertToInt32Float32x4, types.TypeVec128), sys.ARM64)
    77  	addF(simdPackage, "Float64x2.ConvertToInt64", opLen1(ssa.OpConvertToInt64Float64x2, types.TypeVec128), sys.ARM64)
    78  	addF(simdPackage, "Float32x4.ConvertToUint32", opLen1(ssa.OpConvertToUint32Float32x4, types.TypeVec128), sys.ARM64)
    79  	addF(simdPackage, "Float64x2.ConvertToUint64", opLen1(ssa.OpConvertToUint64Float64x2, types.TypeVec128), sys.ARM64)
    80  	addF(simdPackage, "Int8x16.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenInt8x16, types.TypeVec128), sys.ARM64)
    81  	addF(simdPackage, "Int16x8.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenInt16x8, types.TypeVec128), sys.ARM64)
    82  	addF(simdPackage, "Int32x4.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenInt32x4, types.TypeVec128), sys.ARM64)
    83  	addF(simdPackage, "Int64x2.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenInt64x2, types.TypeVec128), sys.ARM64)
    84  	addF(simdPackage, "Uint8x16.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenUint8x16, types.TypeVec128), sys.ARM64)
    85  	addF(simdPackage, "Uint16x8.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenUint16x8, types.TypeVec128), sys.ARM64)
    86  	addF(simdPackage, "Uint32x4.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenUint32x4, types.TypeVec128), sys.ARM64)
    87  	addF(simdPackage, "Uint64x2.DeinterleaveEven", opLen2(ssa.OpDeinterleaveEvenUint64x2, types.TypeVec128), sys.ARM64)
    88  	addF(simdPackage, "Int8x16.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddInt8x16, types.TypeVec128), sys.ARM64)
    89  	addF(simdPackage, "Int16x8.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddInt16x8, types.TypeVec128), sys.ARM64)
    90  	addF(simdPackage, "Int32x4.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddInt32x4, types.TypeVec128), sys.ARM64)
    91  	addF(simdPackage, "Int64x2.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddInt64x2, types.TypeVec128), sys.ARM64)
    92  	addF(simdPackage, "Uint8x16.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddUint8x16, types.TypeVec128), sys.ARM64)
    93  	addF(simdPackage, "Uint16x8.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddUint16x8, types.TypeVec128), sys.ARM64)
    94  	addF(simdPackage, "Uint32x4.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddUint32x4, types.TypeVec128), sys.ARM64)
    95  	addF(simdPackage, "Uint64x2.DeinterleaveOdd", opLen2(ssa.OpDeinterleaveOddUint64x2, types.TypeVec128), sys.ARM64)
    96  	addF(simdPackage, "Float32x4.Div", opLen2(ssa.OpDivFloat32x4, types.TypeVec128), sys.ARM64)
    97  	addF(simdPackage, "Float64x2.Div", opLen2(ssa.OpDivFloat64x2, types.TypeVec128), sys.ARM64)
    98  	addF(simdPackage, "Float32x4.Equal", opLen2(ssa.OpEqualFloat32x4, types.TypeVec128), sys.ARM64)
    99  	addF(simdPackage, "Float64x2.Equal", opLen2(ssa.OpEqualFloat64x2, types.TypeVec128), sys.ARM64)
   100  	addF(simdPackage, "Int8x16.Equal", opLen2(ssa.OpEqualInt8x16, types.TypeVec128), sys.ARM64)
   101  	addF(simdPackage, "Int16x8.Equal", opLen2(ssa.OpEqualInt16x8, types.TypeVec128), sys.ARM64)
   102  	addF(simdPackage, "Int32x4.Equal", opLen2(ssa.OpEqualInt32x4, types.TypeVec128), sys.ARM64)
   103  	addF(simdPackage, "Int64x2.Equal", opLen2(ssa.OpEqualInt64x2, types.TypeVec128), sys.ARM64)
   104  	addF(simdPackage, "Uint8x16.Equal", opLen2(ssa.OpEqualUint8x16, types.TypeVec128), sys.ARM64)
   105  	addF(simdPackage, "Uint16x8.Equal", opLen2(ssa.OpEqualUint16x8, types.TypeVec128), sys.ARM64)
   106  	addF(simdPackage, "Uint32x4.Equal", opLen2(ssa.OpEqualUint32x4, types.TypeVec128), sys.ARM64)
   107  	addF(simdPackage, "Uint64x2.Equal", opLen2(ssa.OpEqualUint64x2, types.TypeVec128), sys.ARM64)
   108  	addF(simdPackage, "Int32x4.ExtendLo2ToInt64", opLen1(ssa.OpExtendLo2ToInt64Int32x4, types.TypeVec128), sys.ARM64)
   109  	addF(simdPackage, "Uint32x4.ExtendLo2ToUint64", opLen1(ssa.OpExtendLo2ToUint64Uint32x4, types.TypeVec128), sys.ARM64)
   110  	addF(simdPackage, "Int16x8.ExtendLo4ToInt32", opLen1(ssa.OpExtendLo4ToInt32Int16x8, types.TypeVec128), sys.ARM64)
   111  	addF(simdPackage, "Uint16x8.ExtendLo4ToUint32", opLen1(ssa.OpExtendLo4ToUint32Uint16x8, types.TypeVec128), sys.ARM64)
   112  	addF(simdPackage, "Int8x16.ExtendLo8ToInt16", opLen1(ssa.OpExtendLo8ToInt16Int8x16, types.TypeVec128), sys.ARM64)
   113  	addF(simdPackage, "Uint8x16.ExtendLo8ToUint16", opLen1(ssa.OpExtendLo8ToUint16Uint8x16, types.TypeVec128), sys.ARM64)
   114  	addF(simdPackage, "Float32x4.Floor", opLen1(ssa.OpFloorFloat32x4, types.TypeVec128), sys.ARM64)
   115  	addF(simdPackage, "Float64x2.Floor", opLen1(ssa.OpFloorFloat64x2, types.TypeVec128), sys.ARM64)
   116  	addF(simdPackage, "Float32x4.GetElem", opLen1Imm(ssa.OpGetElemFloat32x4, types.Types[types.TFLOAT32], 0, 3), sys.ARM64)
   117  	addF(simdPackage, "Float64x2.GetElem", opLen1Imm(ssa.OpGetElemFloat64x2, types.Types[types.TFLOAT64], 0, 1), sys.ARM64)
   118  	addF(simdPackage, "Int8x16.GetElem", opLen1Imm(ssa.OpGetElemInt8x16, types.Types[types.TINT8], 0, 15), sys.ARM64)
   119  	addF(simdPackage, "Int16x8.GetElem", opLen1Imm(ssa.OpGetElemInt16x8, types.Types[types.TINT16], 0, 7), sys.ARM64)
   120  	addF(simdPackage, "Int32x4.GetElem", opLen1Imm(ssa.OpGetElemInt32x4, types.Types[types.TINT32], 0, 3), sys.ARM64)
   121  	addF(simdPackage, "Int64x2.GetElem", opLen1Imm(ssa.OpGetElemInt64x2, types.Types[types.TINT64], 0, 1), sys.ARM64)
   122  	addF(simdPackage, "Uint8x16.GetElem", opLen1Imm(ssa.OpGetElemUint8x16, types.Types[types.TUINT8], 0, 15), sys.ARM64)
   123  	addF(simdPackage, "Uint16x8.GetElem", opLen1Imm(ssa.OpGetElemUint16x8, types.Types[types.TUINT16], 0, 7), sys.ARM64)
   124  	addF(simdPackage, "Uint32x4.GetElem", opLen1Imm(ssa.OpGetElemUint32x4, types.Types[types.TUINT32], 0, 3), sys.ARM64)
   125  	addF(simdPackage, "Uint64x2.GetElem", opLen1Imm(ssa.OpGetElemUint64x2, types.Types[types.TUINT64], 0, 1), sys.ARM64)
   126  	addF(simdPackage, "Float32x4.Greater", opLen2(ssa.OpGreaterFloat32x4, types.TypeVec128), sys.ARM64)
   127  	addF(simdPackage, "Float64x2.Greater", opLen2(ssa.OpGreaterFloat64x2, types.TypeVec128), sys.ARM64)
   128  	addF(simdPackage, "Int8x16.Greater", opLen2(ssa.OpGreaterInt8x16, types.TypeVec128), sys.ARM64)
   129  	addF(simdPackage, "Int16x8.Greater", opLen2(ssa.OpGreaterInt16x8, types.TypeVec128), sys.ARM64)
   130  	addF(simdPackage, "Int32x4.Greater", opLen2(ssa.OpGreaterInt32x4, types.TypeVec128), sys.ARM64)
   131  	addF(simdPackage, "Int64x2.Greater", opLen2(ssa.OpGreaterInt64x2, types.TypeVec128), sys.ARM64)
   132  	addF(simdPackage, "Uint8x16.Greater", opLen2(ssa.OpGreaterUint8x16, types.TypeVec128), sys.ARM64)
   133  	addF(simdPackage, "Uint16x8.Greater", opLen2(ssa.OpGreaterUint16x8, types.TypeVec128), sys.ARM64)
   134  	addF(simdPackage, "Uint32x4.Greater", opLen2(ssa.OpGreaterUint32x4, types.TypeVec128), sys.ARM64)
   135  	addF(simdPackage, "Uint64x2.Greater", opLen2(ssa.OpGreaterUint64x2, types.TypeVec128), sys.ARM64)
   136  	addF(simdPackage, "Float32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualFloat32x4, types.TypeVec128), sys.ARM64)
   137  	addF(simdPackage, "Float64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualFloat64x2, types.TypeVec128), sys.ARM64)
   138  	addF(simdPackage, "Int8x16.GreaterEqual", opLen2(ssa.OpGreaterEqualInt8x16, types.TypeVec128), sys.ARM64)
   139  	addF(simdPackage, "Int16x8.GreaterEqual", opLen2(ssa.OpGreaterEqualInt16x8, types.TypeVec128), sys.ARM64)
   140  	addF(simdPackage, "Int32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualInt32x4, types.TypeVec128), sys.ARM64)
   141  	addF(simdPackage, "Int64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualInt64x2, types.TypeVec128), sys.ARM64)
   142  	addF(simdPackage, "Uint8x16.GreaterEqual", opLen2(ssa.OpGreaterEqualUint8x16, types.TypeVec128), sys.ARM64)
   143  	addF(simdPackage, "Uint16x8.GreaterEqual", opLen2(ssa.OpGreaterEqualUint16x8, types.TypeVec128), sys.ARM64)
   144  	addF(simdPackage, "Uint32x4.GreaterEqual", opLen2(ssa.OpGreaterEqualUint32x4, types.TypeVec128), sys.ARM64)
   145  	addF(simdPackage, "Uint64x2.GreaterEqual", opLen2(ssa.OpGreaterEqualUint64x2, types.TypeVec128), sys.ARM64)
   146  	addF(simdPackage, "Int8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiInt8x16, types.TypeVec128), sys.ARM64)
   147  	addF(simdPackage, "Int16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiInt16x8, types.TypeVec128), sys.ARM64)
   148  	addF(simdPackage, "Int32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiInt32x4, types.TypeVec128), sys.ARM64)
   149  	addF(simdPackage, "Int64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiInt64x2, types.TypeVec128), sys.ARM64)
   150  	addF(simdPackage, "Uint8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiUint8x16, types.TypeVec128), sys.ARM64)
   151  	addF(simdPackage, "Uint16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiUint16x8, types.TypeVec128), sys.ARM64)
   152  	addF(simdPackage, "Uint32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiUint32x4, types.TypeVec128), sys.ARM64)
   153  	addF(simdPackage, "Uint64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiUint64x2, types.TypeVec128), sys.ARM64)
   154  	addF(simdPackage, "Int8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoInt8x16, types.TypeVec128), sys.ARM64)
   155  	addF(simdPackage, "Int16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoInt16x8, types.TypeVec128), sys.ARM64)
   156  	addF(simdPackage, "Int32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoInt32x4, types.TypeVec128), sys.ARM64)
   157  	addF(simdPackage, "Int64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoInt64x2, types.TypeVec128), sys.ARM64)
   158  	addF(simdPackage, "Uint8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoUint8x16, types.TypeVec128), sys.ARM64)
   159  	addF(simdPackage, "Uint16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoUint16x8, types.TypeVec128), sys.ARM64)
   160  	addF(simdPackage, "Uint32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoUint32x4, types.TypeVec128), sys.ARM64)
   161  	addF(simdPackage, "Uint64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoUint64x2, types.TypeVec128), sys.ARM64)
   162  	addF(simdPackage, "Int8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt8x16, types.TypeVec128), sys.ARM64)
   163  	addF(simdPackage, "Int16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt16x8, types.TypeVec128), sys.ARM64)
   164  	addF(simdPackage, "Int32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt32x4, types.TypeVec128), sys.ARM64)
   165  	addF(simdPackage, "Uint8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint8x16, types.TypeVec128), sys.ARM64)
   166  	addF(simdPackage, "Uint16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint16x8, types.TypeVec128), sys.ARM64)
   167  	addF(simdPackage, "Uint32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint32x4, types.TypeVec128), sys.ARM64)
   168  	addF(simdPackage, "Int8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosInt8x16, types.TypeVec128), sys.ARM64)
   169  	addF(simdPackage, "Int16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosInt16x8, types.TypeVec128), sys.ARM64)
   170  	addF(simdPackage, "Int32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosInt32x4, types.TypeVec128), sys.ARM64)
   171  	addF(simdPackage, "Uint8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosUint8x16, types.TypeVec128), sys.ARM64)
   172  	addF(simdPackage, "Uint16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosUint16x8, types.TypeVec128), sys.ARM64)
   173  	addF(simdPackage, "Uint32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosUint32x4, types.TypeVec128), sys.ARM64)
   174  	addF(simdPackage, "Int8x16.LookupOrKeep", opLen3(ssa.OpLookupOrKeepInt8x16, types.TypeVec128), sys.ARM64)
   175  	addF(simdPackage, "Uint8x16.LookupOrKeep", opLen3(ssa.OpLookupOrKeepUint8x16, types.TypeVec128), sys.ARM64)
   176  	addF(simdPackage, "Int8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroInt8x16, types.TypeVec128), sys.ARM64)
   177  	addF(simdPackage, "Uint8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroUint8x16, types.TypeVec128), sys.ARM64)
   178  	addF(simdPackage, "Float32x4.Max", opLen2(ssa.OpMaxFloat32x4, types.TypeVec128), sys.ARM64)
   179  	addF(simdPackage, "Float64x2.Max", opLen2(ssa.OpMaxFloat64x2, types.TypeVec128), sys.ARM64)
   180  	addF(simdPackage, "Int8x16.Max", opLen2(ssa.OpMaxInt8x16, types.TypeVec128), sys.ARM64)
   181  	addF(simdPackage, "Int16x8.Max", opLen2(ssa.OpMaxInt16x8, types.TypeVec128), sys.ARM64)
   182  	addF(simdPackage, "Int32x4.Max", opLen2(ssa.OpMaxInt32x4, types.TypeVec128), sys.ARM64)
   183  	addF(simdPackage, "Uint8x16.Max", opLen2(ssa.OpMaxUint8x16, types.TypeVec128), sys.ARM64)
   184  	addF(simdPackage, "Uint16x8.Max", opLen2(ssa.OpMaxUint16x8, types.TypeVec128), sys.ARM64)
   185  	addF(simdPackage, "Uint32x4.Max", opLen2(ssa.OpMaxUint32x4, types.TypeVec128), sys.ARM64)
   186  	addF(simdPackage, "Float32x4.Min", opLen2(ssa.OpMinFloat32x4, types.TypeVec128), sys.ARM64)
   187  	addF(simdPackage, "Float64x2.Min", opLen2(ssa.OpMinFloat64x2, types.TypeVec128), sys.ARM64)
   188  	addF(simdPackage, "Int8x16.Min", opLen2(ssa.OpMinInt8x16, types.TypeVec128), sys.ARM64)
   189  	addF(simdPackage, "Int16x8.Min", opLen2(ssa.OpMinInt16x8, types.TypeVec128), sys.ARM64)
   190  	addF(simdPackage, "Int32x4.Min", opLen2(ssa.OpMinInt32x4, types.TypeVec128), sys.ARM64)
   191  	addF(simdPackage, "Uint8x16.Min", opLen2(ssa.OpMinUint8x16, types.TypeVec128), sys.ARM64)
   192  	addF(simdPackage, "Uint16x8.Min", opLen2(ssa.OpMinUint16x8, types.TypeVec128), sys.ARM64)
   193  	addF(simdPackage, "Uint32x4.Min", opLen2(ssa.OpMinUint32x4, types.TypeVec128), sys.ARM64)
   194  	addF(simdPackage, "Float32x4.Mul", opLen2(ssa.OpMulFloat32x4, types.TypeVec128), sys.ARM64)
   195  	addF(simdPackage, "Float64x2.Mul", opLen2(ssa.OpMulFloat64x2, types.TypeVec128), sys.ARM64)
   196  	addF(simdPackage, "Int8x16.Mul", opLen2(ssa.OpMulInt8x16, types.TypeVec128), sys.ARM64)
   197  	addF(simdPackage, "Int16x8.Mul", opLen2(ssa.OpMulInt16x8, types.TypeVec128), sys.ARM64)
   198  	addF(simdPackage, "Int32x4.Mul", opLen2(ssa.OpMulInt32x4, types.TypeVec128), sys.ARM64)
   199  	addF(simdPackage, "Uint8x16.Mul", opLen2(ssa.OpMulUint8x16, types.TypeVec128), sys.ARM64)
   200  	addF(simdPackage, "Uint16x8.Mul", opLen2(ssa.OpMulUint16x8, types.TypeVec128), sys.ARM64)
   201  	addF(simdPackage, "Uint32x4.Mul", opLen2(ssa.OpMulUint32x4, types.TypeVec128), sys.ARM64)
   202  	addF(simdPackage, "Float32x4.MulAdd", opLen3(ssa.OpMulAddFloat32x4, types.TypeVec128), sys.ARM64)
   203  	addF(simdPackage, "Float64x2.MulAdd", opLen3(ssa.OpMulAddFloat64x2, types.TypeVec128), sys.ARM64)
   204  	addF(simdPackage, "Int8x16.MulAdd", opLen3(ssa.OpMulAddInt8x16, types.TypeVec128), sys.ARM64)
   205  	addF(simdPackage, "Int16x8.MulAdd", opLen3(ssa.OpMulAddInt16x8, types.TypeVec128), sys.ARM64)
   206  	addF(simdPackage, "Int32x4.MulAdd", opLen3(ssa.OpMulAddInt32x4, types.TypeVec128), sys.ARM64)
   207  	addF(simdPackage, "Uint8x16.MulAdd", opLen3(ssa.OpMulAddUint8x16, types.TypeVec128), sys.ARM64)
   208  	addF(simdPackage, "Uint16x8.MulAdd", opLen3(ssa.OpMulAddUint16x8, types.TypeVec128), sys.ARM64)
   209  	addF(simdPackage, "Uint32x4.MulAdd", opLen3(ssa.OpMulAddUint32x4, types.TypeVec128), sys.ARM64)
   210  	addF(simdPackage, "Int8x16.MulLoLong", opLen2(ssa.OpMulLoLongInt8x16, types.TypeVec128), sys.ARM64)
   211  	addF(simdPackage, "Int16x8.MulLoLong", opLen2(ssa.OpMulLoLongInt16x8, types.TypeVec128), sys.ARM64)
   212  	addF(simdPackage, "Int32x4.MulLoLong", opLen2(ssa.OpMulLoLongInt32x4, types.TypeVec128), sys.ARM64)
   213  	addF(simdPackage, "Uint8x16.MulLoLong", opLen2(ssa.OpMulLoLongUint8x16, types.TypeVec128), sys.ARM64)
   214  	addF(simdPackage, "Uint16x8.MulLoLong", opLen2(ssa.OpMulLoLongUint16x8, types.TypeVec128), sys.ARM64)
   215  	addF(simdPackage, "Uint32x4.MulLoLong", opLen2(ssa.OpMulLoLongUint32x4, types.TypeVec128), sys.ARM64)
   216  	addF(simdPackage, "Float32x4.Neg", opLen1(ssa.OpNegFloat32x4, types.TypeVec128), sys.ARM64)
   217  	addF(simdPackage, "Float64x2.Neg", opLen1(ssa.OpNegFloat64x2, types.TypeVec128), sys.ARM64)
   218  	addF(simdPackage, "Int8x16.Neg", opLen1(ssa.OpNegInt8x16, types.TypeVec128), sys.ARM64)
   219  	addF(simdPackage, "Int16x8.Neg", opLen1(ssa.OpNegInt16x8, types.TypeVec128), sys.ARM64)
   220  	addF(simdPackage, "Int32x4.Neg", opLen1(ssa.OpNegInt32x4, types.TypeVec128), sys.ARM64)
   221  	addF(simdPackage, "Int64x2.Neg", opLen1(ssa.OpNegInt64x2, types.TypeVec128), sys.ARM64)
   222  	addF(simdPackage, "Int8x16.Not", opLen1(ssa.OpNotInt8x16, types.TypeVec128), sys.ARM64)
   223  	addF(simdPackage, "Int16x8.Not", opLen1(ssa.OpNotInt16x8, types.TypeVec128), sys.ARM64)
   224  	addF(simdPackage, "Int32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   225  	addF(simdPackage, "Int64x2.Not", opLen1(ssa.OpNotInt64x2, types.TypeVec128), sys.ARM64)
   226  	addF(simdPackage, "Uint8x16.Not", opLen1(ssa.OpNotUint8x16, types.TypeVec128), sys.ARM64)
   227  	addF(simdPackage, "Uint16x8.Not", opLen1(ssa.OpNotUint16x8, types.TypeVec128), sys.ARM64)
   228  	addF(simdPackage, "Uint32x4.Not", opLen1(ssa.OpNotUint32x4, types.TypeVec128), sys.ARM64)
   229  	addF(simdPackage, "Uint64x2.Not", opLen1(ssa.OpNotUint64x2, types.TypeVec128), sys.ARM64)
   230  	addF(simdPackage, "Int8x16.OnesCount", opLen1(ssa.OpOnesCountInt8x16, types.TypeVec128), sys.ARM64)
   231  	addF(simdPackage, "Uint8x16.OnesCount", opLen1(ssa.OpOnesCountUint8x16, types.TypeVec128), sys.ARM64)
   232  	addF(simdPackage, "Int8x16.Or", opLen2(ssa.OpOrInt8x16, types.TypeVec128), sys.ARM64)
   233  	addF(simdPackage, "Int16x8.Or", opLen2(ssa.OpOrInt16x8, types.TypeVec128), sys.ARM64)
   234  	addF(simdPackage, "Int32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   235  	addF(simdPackage, "Int64x2.Or", opLen2(ssa.OpOrInt64x2, types.TypeVec128), sys.ARM64)
   236  	addF(simdPackage, "Uint8x16.Or", opLen2(ssa.OpOrUint8x16, types.TypeVec128), sys.ARM64)
   237  	addF(simdPackage, "Uint16x8.Or", opLen2(ssa.OpOrUint16x8, types.TypeVec128), sys.ARM64)
   238  	addF(simdPackage, "Uint32x4.Or", opLen2(ssa.OpOrUint32x4, types.TypeVec128), sys.ARM64)
   239  	addF(simdPackage, "Uint64x2.Or", opLen2(ssa.OpOrUint64x2, types.TypeVec128), sys.ARM64)
   240  	addF(simdPackage, "Int8x16.OrNot", opLen2(ssa.OpOrNotInt8x16, types.TypeVec128), sys.ARM64)
   241  	addF(simdPackage, "Int16x8.OrNot", opLen2(ssa.OpOrNotInt16x8, types.TypeVec128), sys.ARM64)
   242  	addF(simdPackage, "Int32x4.OrNot", opLen2(ssa.OpOrNotInt32x4, types.TypeVec128), sys.ARM64)
   243  	addF(simdPackage, "Int64x2.OrNot", opLen2(ssa.OpOrNotInt64x2, types.TypeVec128), sys.ARM64)
   244  	addF(simdPackage, "Uint8x16.OrNot", opLen2(ssa.OpOrNotUint8x16, types.TypeVec128), sys.ARM64)
   245  	addF(simdPackage, "Uint16x8.OrNot", opLen2(ssa.OpOrNotUint16x8, types.TypeVec128), sys.ARM64)
   246  	addF(simdPackage, "Uint32x4.OrNot", opLen2(ssa.OpOrNotUint32x4, types.TypeVec128), sys.ARM64)
   247  	addF(simdPackage, "Uint64x2.OrNot", opLen2(ssa.OpOrNotUint64x2, types.TypeVec128), sys.ARM64)
   248  	addF(simdPackage, "Float32x4.ReduceMax", opLen1(ssa.OpReduceMaxFloat32x4, types.TypeVec128), sys.ARM64)
   249  	addF(simdPackage, "Int8x16.ReduceMax", opLen1(ssa.OpReduceMaxInt8x16, types.TypeVec128), sys.ARM64)
   250  	addF(simdPackage, "Int16x8.ReduceMax", opLen1(ssa.OpReduceMaxInt16x8, types.TypeVec128), sys.ARM64)
   251  	addF(simdPackage, "Int32x4.ReduceMax", opLen1(ssa.OpReduceMaxInt32x4, types.TypeVec128), sys.ARM64)
   252  	addF(simdPackage, "Uint8x16.ReduceMax", opLen1(ssa.OpReduceMaxUint8x16, types.TypeVec128), sys.ARM64)
   253  	addF(simdPackage, "Uint16x8.ReduceMax", opLen1(ssa.OpReduceMaxUint16x8, types.TypeVec128), sys.ARM64)
   254  	addF(simdPackage, "Uint32x4.ReduceMax", opLen1(ssa.OpReduceMaxUint32x4, types.TypeVec128), sys.ARM64)
   255  	addF(simdPackage, "Float32x4.ReduceMin", opLen1(ssa.OpReduceMinFloat32x4, types.TypeVec128), sys.ARM64)
   256  	addF(simdPackage, "Int8x16.ReduceMin", opLen1(ssa.OpReduceMinInt8x16, types.TypeVec128), sys.ARM64)
   257  	addF(simdPackage, "Int16x8.ReduceMin", opLen1(ssa.OpReduceMinInt16x8, types.TypeVec128), sys.ARM64)
   258  	addF(simdPackage, "Int32x4.ReduceMin", opLen1(ssa.OpReduceMinInt32x4, types.TypeVec128), sys.ARM64)
   259  	addF(simdPackage, "Uint8x16.ReduceMin", opLen1(ssa.OpReduceMinUint8x16, types.TypeVec128), sys.ARM64)
   260  	addF(simdPackage, "Uint16x8.ReduceMin", opLen1(ssa.OpReduceMinUint16x8, types.TypeVec128), sys.ARM64)
   261  	addF(simdPackage, "Uint32x4.ReduceMin", opLen1(ssa.OpReduceMinUint32x4, types.TypeVec128), sys.ARM64)
   262  	addF(simdPackage, "Int8x16.ReduceSum", opLen1(ssa.OpReduceSumInt8x16, types.TypeVec128), sys.ARM64)
   263  	addF(simdPackage, "Int16x8.ReduceSum", opLen1(ssa.OpReduceSumInt16x8, types.TypeVec128), sys.ARM64)
   264  	addF(simdPackage, "Int32x4.ReduceSum", opLen1(ssa.OpReduceSumInt32x4, types.TypeVec128), sys.ARM64)
   265  	addF(simdPackage, "Uint8x16.ReduceSum", opLen1(ssa.OpReduceSumUint8x16, types.TypeVec128), sys.ARM64)
   266  	addF(simdPackage, "Uint16x8.ReduceSum", opLen1(ssa.OpReduceSumUint16x8, types.TypeVec128), sys.ARM64)
   267  	addF(simdPackage, "Uint32x4.ReduceSum", opLen1(ssa.OpReduceSumUint32x4, types.TypeVec128), sys.ARM64)
   268  	addF(simdPackage, "Float32x4.Round", opLen1(ssa.OpRoundFloat32x4, types.TypeVec128), sys.ARM64)
   269  	addF(simdPackage, "Float64x2.Round", opLen1(ssa.OpRoundFloat64x2, types.TypeVec128), sys.ARM64)
   270  	addF(simdPackage, "Int16x8.SaturateToInt8", opLen1(ssa.OpSaturateToInt8Int16x8, types.TypeVec128), sys.ARM64)
   271  	addF(simdPackage, "Int32x4.SaturateToInt16", opLen1(ssa.OpSaturateToInt16Int32x4, types.TypeVec128), sys.ARM64)
   272  	addF(simdPackage, "Int64x2.SaturateToInt32", opLen1(ssa.OpSaturateToInt32Int64x2, types.TypeVec128), sys.ARM64)
   273  	addF(simdPackage, "Int16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Int16x8, types.TypeVec128), sys.ARM64)
   274  	addF(simdPackage, "Uint16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Uint16x8, types.TypeVec128), sys.ARM64)
   275  	addF(simdPackage, "Int32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Int32x4, types.TypeVec128), sys.ARM64)
   276  	addF(simdPackage, "Uint32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Uint32x4, types.TypeVec128), sys.ARM64)
   277  	addF(simdPackage, "Int64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Int64x2, types.TypeVec128), sys.ARM64)
   278  	addF(simdPackage, "Uint64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Uint64x2, types.TypeVec128), sys.ARM64)
   279  	addF(simdPackage, "Int8x16.SetElem", opLen2Imm(ssa.OpSetElemInt8x16, types.TypeVec128, 0, 15), sys.ARM64)
   280  	addF(simdPackage, "Int16x8.SetElem", opLen2Imm(ssa.OpSetElemInt16x8, types.TypeVec128, 0, 7), sys.ARM64)
   281  	addF(simdPackage, "Int32x4.SetElem", opLen2Imm(ssa.OpSetElemInt32x4, types.TypeVec128, 0, 3), sys.ARM64)
   282  	addF(simdPackage, "Int64x2.SetElem", opLen2Imm(ssa.OpSetElemInt64x2, types.TypeVec128, 0, 1), sys.ARM64)
   283  	addF(simdPackage, "Uint8x16.SetElem", opLen2Imm(ssa.OpSetElemUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
   284  	addF(simdPackage, "Uint16x8.SetElem", opLen2Imm(ssa.OpSetElemUint16x8, types.TypeVec128, 0, 7), sys.ARM64)
   285  	addF(simdPackage, "Uint32x4.SetElem", opLen2Imm(ssa.OpSetElemUint32x4, types.TypeVec128, 0, 3), sys.ARM64)
   286  	addF(simdPackage, "Uint64x2.SetElem", opLen2Imm(ssa.OpSetElemUint64x2, types.TypeVec128, 0, 1), sys.ARM64)
   287  	addF(simdPackage, "Float32x4.SetElem", opLen2Imm(ssa.OpSetElemFloat32x4, types.TypeVec128, 0, 3), sys.ARM64)
   288  	addF(simdPackage, "Float64x2.SetElem", opLen2Imm(ssa.OpSetElemFloat64x2, types.TypeVec128, 0, 1), sys.ARM64)
   289  	addF(simdPackage, "Int8x16.Shift", opLen2(ssa.OpShiftInt8x16, types.TypeVec128), sys.ARM64)
   290  	addF(simdPackage, "Int16x8.Shift", opLen2(ssa.OpShiftInt16x8, types.TypeVec128), sys.ARM64)
   291  	addF(simdPackage, "Int32x4.Shift", opLen2(ssa.OpShiftInt32x4, types.TypeVec128), sys.ARM64)
   292  	addF(simdPackage, "Int64x2.Shift", opLen2(ssa.OpShiftInt64x2, types.TypeVec128), sys.ARM64)
   293  	addF(simdPackage, "Uint8x16.Shift", opLen2(ssa.OpShiftUint8x16, types.TypeVec128), sys.ARM64)
   294  	addF(simdPackage, "Uint16x8.Shift", opLen2(ssa.OpShiftUint16x8, types.TypeVec128), sys.ARM64)
   295  	addF(simdPackage, "Uint32x4.Shift", opLen2(ssa.OpShiftUint32x4, types.TypeVec128), sys.ARM64)
   296  	addF(simdPackage, "Uint64x2.Shift", opLen2(ssa.OpShiftUint64x2, types.TypeVec128), sys.ARM64)
   297  	addF(simdPackage, "Int8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt8x16, types.TypeVec128), sys.ARM64)
   298  	addF(simdPackage, "Int16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt16x8, types.TypeVec128), sys.ARM64)
   299  	addF(simdPackage, "Int32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt32x4, types.TypeVec128), sys.ARM64)
   300  	addF(simdPackage, "Int64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt64x2, types.TypeVec128), sys.ARM64)
   301  	addF(simdPackage, "Uint8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint8x16, types.TypeVec128), sys.ARM64)
   302  	addF(simdPackage, "Uint16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint16x8, types.TypeVec128), sys.ARM64)
   303  	addF(simdPackage, "Uint32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint32x4, types.TypeVec128), sys.ARM64)
   304  	addF(simdPackage, "Uint64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint64x2, types.TypeVec128), sys.ARM64)
   305  	addF(simdPackage, "Int8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt8x16, types.TypeVec128), sys.ARM64)
   306  	addF(simdPackage, "Int16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt16x8, types.TypeVec128), sys.ARM64)
   307  	addF(simdPackage, "Int32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt32x4, types.TypeVec128), sys.ARM64)
   308  	addF(simdPackage, "Int64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt64x2, types.TypeVec128), sys.ARM64)
   309  	addF(simdPackage, "Uint8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint8x16, types.TypeVec128), sys.ARM64)
   310  	addF(simdPackage, "Uint16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint16x8, types.TypeVec128), sys.ARM64)
   311  	addF(simdPackage, "Uint32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint32x4, types.TypeVec128), sys.ARM64)
   312  	addF(simdPackage, "Uint64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint64x2, types.TypeVec128), sys.ARM64)
   313  	addF(simdPackage, "Int8x16.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstInt8x16, types.TypeVec128, 0, 7), sys.ARM64)
   314  	addF(simdPackage, "Int16x8.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstInt16x8, types.TypeVec128, 0, 15), sys.ARM64)
   315  	addF(simdPackage, "Int32x4.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstInt32x4, types.TypeVec128, 0, 31), sys.ARM64)
   316  	addF(simdPackage, "Int64x2.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstInt64x2, types.TypeVec128, 0, 63), sys.ARM64)
   317  	addF(simdPackage, "Uint8x16.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstUint8x16, types.TypeVec128, 0, 7), sys.ARM64)
   318  	addF(simdPackage, "Uint16x8.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstUint16x8, types.TypeVec128, 0, 15), sys.ARM64)
   319  	addF(simdPackage, "Uint32x4.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstUint32x4, types.TypeVec128, 0, 31), sys.ARM64)
   320  	addF(simdPackage, "Uint64x2.ShiftLeftConst", opLen1Imm(ssa.OpShiftLeftConstUint64x2, types.TypeVec128, 0, 63), sys.ARM64)
   321  	addF(simdPackage, "Int8x16.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstInt8x16, types.TypeVec128, 0, 7), sys.ARM64)
   322  	addF(simdPackage, "Int16x8.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstInt16x8, types.TypeVec128, 0, 15), sys.ARM64)
   323  	addF(simdPackage, "Int32x4.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstInt32x4, types.TypeVec128, 0, 31), sys.ARM64)
   324  	addF(simdPackage, "Uint8x16.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstUint8x16, types.TypeVec128, 0, 7), sys.ARM64)
   325  	addF(simdPackage, "Uint16x8.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstUint16x8, types.TypeVec128, 0, 15), sys.ARM64)
   326  	addF(simdPackage, "Uint32x4.ShiftLeftLoLongConst", opLen1Imm(ssa.OpShiftLeftLoLongConstUint32x4, types.TypeVec128, 0, 31), sys.ARM64)
   327  	addF(simdPackage, "Int8x16.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstInt8x16, types.TypeVec128, 0, 7), sys.ARM64)
   328  	addF(simdPackage, "Int16x8.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstInt16x8, types.TypeVec128, 0, 15), sys.ARM64)
   329  	addF(simdPackage, "Int32x4.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstInt32x4, types.TypeVec128, 0, 31), sys.ARM64)
   330  	addF(simdPackage, "Int64x2.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstInt64x2, types.TypeVec128, 0, 63), sys.ARM64)
   331  	addF(simdPackage, "Uint8x16.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstUint8x16, types.TypeVec128, 0, 7), sys.ARM64)
   332  	addF(simdPackage, "Uint16x8.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstUint16x8, types.TypeVec128, 0, 15), sys.ARM64)
   333  	addF(simdPackage, "Uint32x4.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstUint32x4, types.TypeVec128, 0, 31), sys.ARM64)
   334  	addF(simdPackage, "Uint64x2.ShiftLeftSaturatedConst", opLen1Imm(ssa.OpShiftLeftSaturatedConstUint64x2, types.TypeVec128, 0, 63), sys.ARM64)
   335  	addF(simdPackage, "Int8x16.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstInt8x16, types.TypeVec128, 0, 7), sys.ARM64)
   336  	addF(simdPackage, "Int16x8.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstInt16x8, types.TypeVec128, 0, 15), sys.ARM64)
   337  	addF(simdPackage, "Int32x4.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstInt32x4, types.TypeVec128, 0, 31), sys.ARM64)
   338  	addF(simdPackage, "Int64x2.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstInt64x2, types.TypeVec128, 0, 63), sys.ARM64)
   339  	addF(simdPackage, "Uint8x16.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstUint8x16, types.TypeVec128, 0, 7), sys.ARM64)
   340  	addF(simdPackage, "Uint16x8.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstUint16x8, types.TypeVec128, 0, 15), sys.ARM64)
   341  	addF(simdPackage, "Uint32x4.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstUint32x4, types.TypeVec128, 0, 31), sys.ARM64)
   342  	addF(simdPackage, "Uint64x2.ShiftRightConst", opLen1Imm(ssa.OpShiftRightConstUint64x2, types.TypeVec128, 0, 63), sys.ARM64)
   343  	addF(simdPackage, "Uint16x8.ShiftRightNarrowConst", opLen1Imm(ssa.OpShiftRightNarrowConstUint16x8, types.TypeVec128, 0, 7), sys.ARM64)
   344  	addF(simdPackage, "Uint32x4.ShiftRightNarrowConst", opLen1Imm(ssa.OpShiftRightNarrowConstUint32x4, types.TypeVec128, 0, 15), sys.ARM64)
   345  	addF(simdPackage, "Uint64x2.ShiftRightNarrowConst", opLen1Imm(ssa.OpShiftRightNarrowConstUint64x2, types.TypeVec128, 0, 31), sys.ARM64)
   346  	addF(simdPackage, "Int8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt8x16, types.TypeVec128), sys.ARM64)
   347  	addF(simdPackage, "Int16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt16x8, types.TypeVec128), sys.ARM64)
   348  	addF(simdPackage, "Int32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt32x4, types.TypeVec128), sys.ARM64)
   349  	addF(simdPackage, "Int64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt64x2, types.TypeVec128), sys.ARM64)
   350  	addF(simdPackage, "Uint8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint8x16, types.TypeVec128), sys.ARM64)
   351  	addF(simdPackage, "Uint16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint16x8, types.TypeVec128), sys.ARM64)
   352  	addF(simdPackage, "Uint32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint32x4, types.TypeVec128), sys.ARM64)
   353  	addF(simdPackage, "Uint64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint64x2, types.TypeVec128), sys.ARM64)
   354  	addF(simdPackage, "Float32x4.Sqrt", opLen1(ssa.OpSqrtFloat32x4, types.TypeVec128), sys.ARM64)
   355  	addF(simdPackage, "Float64x2.Sqrt", opLen1(ssa.OpSqrtFloat64x2, types.TypeVec128), sys.ARM64)
   356  	addF(simdPackage, "Float32x4.Sub", opLen2(ssa.OpSubFloat32x4, types.TypeVec128), sys.ARM64)
   357  	addF(simdPackage, "Float64x2.Sub", opLen2(ssa.OpSubFloat64x2, types.TypeVec128), sys.ARM64)
   358  	addF(simdPackage, "Int8x16.Sub", opLen2(ssa.OpSubInt8x16, types.TypeVec128), sys.ARM64)
   359  	addF(simdPackage, "Int16x8.Sub", opLen2(ssa.OpSubInt16x8, types.TypeVec128), sys.ARM64)
   360  	addF(simdPackage, "Int32x4.Sub", opLen2(ssa.OpSubInt32x4, types.TypeVec128), sys.ARM64)
   361  	addF(simdPackage, "Int64x2.Sub", opLen2(ssa.OpSubInt64x2, types.TypeVec128), sys.ARM64)
   362  	addF(simdPackage, "Uint8x16.Sub", opLen2(ssa.OpSubUint8x16, types.TypeVec128), sys.ARM64)
   363  	addF(simdPackage, "Uint16x8.Sub", opLen2(ssa.OpSubUint16x8, types.TypeVec128), sys.ARM64)
   364  	addF(simdPackage, "Uint32x4.Sub", opLen2(ssa.OpSubUint32x4, types.TypeVec128), sys.ARM64)
   365  	addF(simdPackage, "Uint64x2.Sub", opLen2(ssa.OpSubUint64x2, types.TypeVec128), sys.ARM64)
   366  	addF(simdPackage, "Int8x16.SubSaturated", opLen2(ssa.OpSubSaturatedInt8x16, types.TypeVec128), sys.ARM64)
   367  	addF(simdPackage, "Int16x8.SubSaturated", opLen2(ssa.OpSubSaturatedInt16x8, types.TypeVec128), sys.ARM64)
   368  	addF(simdPackage, "Int32x4.SubSaturated", opLen2(ssa.OpSubSaturatedInt32x4, types.TypeVec128), sys.ARM64)
   369  	addF(simdPackage, "Int64x2.SubSaturated", opLen2(ssa.OpSubSaturatedInt64x2, types.TypeVec128), sys.ARM64)
   370  	addF(simdPackage, "Uint8x16.SubSaturated", opLen2(ssa.OpSubSaturatedUint8x16, types.TypeVec128), sys.ARM64)
   371  	addF(simdPackage, "Uint16x8.SubSaturated", opLen2(ssa.OpSubSaturatedUint16x8, types.TypeVec128), sys.ARM64)
   372  	addF(simdPackage, "Uint32x4.SubSaturated", opLen2(ssa.OpSubSaturatedUint32x4, types.TypeVec128), sys.ARM64)
   373  	addF(simdPackage, "Uint64x2.SubSaturated", opLen2(ssa.OpSubSaturatedUint64x2, types.TypeVec128), sys.ARM64)
   374  	addF(simdPackage, "Int8x16.TransposeEven", opLen2(ssa.OpTransposeEvenInt8x16, types.TypeVec128), sys.ARM64)
   375  	addF(simdPackage, "Int16x8.TransposeEven", opLen2(ssa.OpTransposeEvenInt16x8, types.TypeVec128), sys.ARM64)
   376  	addF(simdPackage, "Int32x4.TransposeEven", opLen2(ssa.OpTransposeEvenInt32x4, types.TypeVec128), sys.ARM64)
   377  	addF(simdPackage, "Int64x2.TransposeEven", opLen2(ssa.OpTransposeEvenInt64x2, types.TypeVec128), sys.ARM64)
   378  	addF(simdPackage, "Uint8x16.TransposeEven", opLen2(ssa.OpTransposeEvenUint8x16, types.TypeVec128), sys.ARM64)
   379  	addF(simdPackage, "Uint16x8.TransposeEven", opLen2(ssa.OpTransposeEvenUint16x8, types.TypeVec128), sys.ARM64)
   380  	addF(simdPackage, "Uint32x4.TransposeEven", opLen2(ssa.OpTransposeEvenUint32x4, types.TypeVec128), sys.ARM64)
   381  	addF(simdPackage, "Uint64x2.TransposeEven", opLen2(ssa.OpTransposeEvenUint64x2, types.TypeVec128), sys.ARM64)
   382  	addF(simdPackage, "Int8x16.TransposeOdd", opLen2(ssa.OpTransposeOddInt8x16, types.TypeVec128), sys.ARM64)
   383  	addF(simdPackage, "Int16x8.TransposeOdd", opLen2(ssa.OpTransposeOddInt16x8, types.TypeVec128), sys.ARM64)
   384  	addF(simdPackage, "Int32x4.TransposeOdd", opLen2(ssa.OpTransposeOddInt32x4, types.TypeVec128), sys.ARM64)
   385  	addF(simdPackage, "Int64x2.TransposeOdd", opLen2(ssa.OpTransposeOddInt64x2, types.TypeVec128), sys.ARM64)
   386  	addF(simdPackage, "Uint8x16.TransposeOdd", opLen2(ssa.OpTransposeOddUint8x16, types.TypeVec128), sys.ARM64)
   387  	addF(simdPackage, "Uint16x8.TransposeOdd", opLen2(ssa.OpTransposeOddUint16x8, types.TypeVec128), sys.ARM64)
   388  	addF(simdPackage, "Uint32x4.TransposeOdd", opLen2(ssa.OpTransposeOddUint32x4, types.TypeVec128), sys.ARM64)
   389  	addF(simdPackage, "Uint64x2.TransposeOdd", opLen2(ssa.OpTransposeOddUint64x2, types.TypeVec128), sys.ARM64)
   390  	addF(simdPackage, "Float32x4.Trunc", opLen1(ssa.OpTruncFloat32x4, types.TypeVec128), sys.ARM64)
   391  	addF(simdPackage, "Float64x2.Trunc", opLen1(ssa.OpTruncFloat64x2, types.TypeVec128), sys.ARM64)
   392  	addF(simdPackage, "Int16x8.TruncToInt8", opLen1(ssa.OpTruncToInt8Int16x8, types.TypeVec128), sys.ARM64)
   393  	addF(simdPackage, "Int32x4.TruncToInt16", opLen1(ssa.OpTruncToInt16Int32x4, types.TypeVec128), sys.ARM64)
   394  	addF(simdPackage, "Int64x2.TruncToInt32", opLen1(ssa.OpTruncToInt32Int64x2, types.TypeVec128), sys.ARM64)
   395  	addF(simdPackage, "Uint16x8.TruncToUint8", opLen1(ssa.OpTruncToUint8Uint16x8, types.TypeVec128), sys.ARM64)
   396  	addF(simdPackage, "Uint32x4.TruncToUint16", opLen1(ssa.OpTruncToUint16Uint32x4, types.TypeVec128), sys.ARM64)
   397  	addF(simdPackage, "Uint64x2.TruncToUint32", opLen1(ssa.OpTruncToUint32Uint64x2, types.TypeVec128), sys.ARM64)
   398  	addF(simdPackage, "Int8x16.Xor", opLen2(ssa.OpXorInt8x16, types.TypeVec128), sys.ARM64)
   399  	addF(simdPackage, "Int16x8.Xor", opLen2(ssa.OpXorInt16x8, types.TypeVec128), sys.ARM64)
   400  	addF(simdPackage, "Int32x4.Xor", opLen2(ssa.OpXorInt32x4, types.TypeVec128), sys.ARM64)
   401  	addF(simdPackage, "Int64x2.Xor", opLen2(ssa.OpXorInt64x2, types.TypeVec128), sys.ARM64)
   402  	addF(simdPackage, "Uint8x16.Xor", opLen2(ssa.OpXorUint8x16, types.TypeVec128), sys.ARM64)
   403  	addF(simdPackage, "Uint16x8.Xor", opLen2(ssa.OpXorUint16x8, types.TypeVec128), sys.ARM64)
   404  	addF(simdPackage, "Uint32x4.Xor", opLen2(ssa.OpXorUint32x4, types.TypeVec128), sys.ARM64)
   405  	addF(simdPackage, "Uint64x2.Xor", opLen2(ssa.OpXorUint64x2, types.TypeVec128), sys.ARM64)
   406  	addF(simdPackage, "Int8x16.bitSelect", opLen3(ssa.OpbitSelectInt8x16, types.TypeVec128), sys.ARM64)
   407  	addF(simdPackage, "Int8x16.bitSelectNot", opLen3(ssa.OpbitSelectNotInt8x16, types.TypeVec128), sys.ARM64)
   408  	addF(simdPackage, "Float64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Float64x2, types.TypeVec128), sys.ARM64)
   409  	addF(simdPackage, "Int64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Int64x2, types.TypeVec128), sys.ARM64)
   410  	addF(simdPackage, "Uint64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Uint64x2, types.TypeVec128), sys.ARM64)
   411  	addF(simdPackage, "Float32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Float32x4, types.TypeVec128), sys.ARM64)
   412  	addF(simdPackage, "Int32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Int32x4, types.TypeVec128), sys.ARM64)
   413  	addF(simdPackage, "Uint32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Uint32x4, types.TypeVec128), sys.ARM64)
   414  	addF(simdPackage, "Int16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Int16x8, types.TypeVec128), sys.ARM64)
   415  	addF(simdPackage, "Uint16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Uint16x8, types.TypeVec128), sys.ARM64)
   416  	addF(simdPackage, "Int8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Int8x16, types.TypeVec128), sys.ARM64)
   417  	addF(simdPackage, "Uint8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Uint8x16, types.TypeVec128), sys.ARM64)
   418  	addF(simdPackage, "Float32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   419  	addF(simdPackage, "Float32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   420  	addF(simdPackage, "Float32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   421  	addF(simdPackage, "Float32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   422  	addF(simdPackage, "Float32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   423  	addF(simdPackage, "Float32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   424  	addF(simdPackage, "Float32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   425  	addF(simdPackage, "Float32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   426  	addF(simdPackage, "Float32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   427  	addF(simdPackage, "Float64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   428  	addF(simdPackage, "Float64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   429  	addF(simdPackage, "Float64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   430  	addF(simdPackage, "Float64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   431  	addF(simdPackage, "Float64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   432  	addF(simdPackage, "Float64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   433  	addF(simdPackage, "Float64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   434  	addF(simdPackage, "Float64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   435  	addF(simdPackage, "Float64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   436  	addF(simdPackage, "Int8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   437  	addF(simdPackage, "Int8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   438  	addF(simdPackage, "Int8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   439  	addF(simdPackage, "Int8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   440  	addF(simdPackage, "Int8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   441  	addF(simdPackage, "Int8x16.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   442  	addF(simdPackage, "Int8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   443  	addF(simdPackage, "Int8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   444  	addF(simdPackage, "Int8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   445  	addF(simdPackage, "Int16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   446  	addF(simdPackage, "Int16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   447  	addF(simdPackage, "Int16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   448  	addF(simdPackage, "Int16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   449  	addF(simdPackage, "Int16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   450  	addF(simdPackage, "Int16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   451  	addF(simdPackage, "Int16x8.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   452  	addF(simdPackage, "Int16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   453  	addF(simdPackage, "Int16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   454  	addF(simdPackage, "Int32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   455  	addF(simdPackage, "Int32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   456  	addF(simdPackage, "Int32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   457  	addF(simdPackage, "Int32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   458  	addF(simdPackage, "Int32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   459  	addF(simdPackage, "Int32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   460  	addF(simdPackage, "Int32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   461  	addF(simdPackage, "Int32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   462  	addF(simdPackage, "Int32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   463  	addF(simdPackage, "Int64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   464  	addF(simdPackage, "Int64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   465  	addF(simdPackage, "Int64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   466  	addF(simdPackage, "Int64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   467  	addF(simdPackage, "Int64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   468  	addF(simdPackage, "Int64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   469  	addF(simdPackage, "Int64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   470  	addF(simdPackage, "Int64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   471  	addF(simdPackage, "Int64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   472  	addF(simdPackage, "Uint8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   473  	addF(simdPackage, "Uint8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   474  	addF(simdPackage, "Uint8x16.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   475  	addF(simdPackage, "Uint8x16.BitsToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   476  	addF(simdPackage, "Uint8x16.ConvertToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   477  	addF(simdPackage, "Int8x16.ConvertToUint8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   478  	addF(simdPackage, "Int8x16.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   479  	addF(simdPackage, "Uint8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   480  	addF(simdPackage, "Uint8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   481  	addF(simdPackage, "Uint8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   482  	addF(simdPackage, "Uint8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   483  	addF(simdPackage, "Uint8x16.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   484  	addF(simdPackage, "Uint8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   485  	addF(simdPackage, "Uint8x16.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   486  	addF(simdPackage, "Uint8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   487  	addF(simdPackage, "Uint8x16.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   488  	addF(simdPackage, "Uint16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   489  	addF(simdPackage, "Uint16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   490  	addF(simdPackage, "Uint16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   491  	addF(simdPackage, "Uint16x8.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   492  	addF(simdPackage, "Uint16x8.BitsToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   493  	addF(simdPackage, "Uint16x8.ConvertToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   494  	addF(simdPackage, "Int16x8.ConvertToUint16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   495  	addF(simdPackage, "Int16x8.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   496  	addF(simdPackage, "Uint16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   497  	addF(simdPackage, "Uint16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   498  	addF(simdPackage, "Uint16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   499  	addF(simdPackage, "Uint16x8.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   500  	addF(simdPackage, "Uint16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   501  	addF(simdPackage, "Uint16x8.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   502  	addF(simdPackage, "Uint16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   503  	addF(simdPackage, "Uint16x8.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   504  	addF(simdPackage, "Uint32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   505  	addF(simdPackage, "Uint32x4.BitsToFloat32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   506  	addF(simdPackage, "Float32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   507  	addF(simdPackage, "Uint32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   508  	addF(simdPackage, "Uint32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   509  	addF(simdPackage, "Uint32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   510  	addF(simdPackage, "Uint32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   511  	addF(simdPackage, "Uint32x4.BitsToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   512  	addF(simdPackage, "Uint32x4.ConvertToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   513  	addF(simdPackage, "Int32x4.ConvertToUint32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   514  	addF(simdPackage, "Int32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   515  	addF(simdPackage, "Uint32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   516  	addF(simdPackage, "Uint32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   517  	addF(simdPackage, "Uint32x4.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   518  	addF(simdPackage, "Uint32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   519  	addF(simdPackage, "Uint32x4.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   520  	addF(simdPackage, "Uint32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   521  	addF(simdPackage, "Uint32x4.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   522  	addF(simdPackage, "Uint64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   523  	addF(simdPackage, "Uint64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   524  	addF(simdPackage, "Uint64x2.BitsToFloat64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   525  	addF(simdPackage, "Float64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   526  	addF(simdPackage, "Uint64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   527  	addF(simdPackage, "Uint64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   528  	addF(simdPackage, "Uint64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   529  	addF(simdPackage, "Uint64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   530  	addF(simdPackage, "Uint64x2.BitsToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   531  	addF(simdPackage, "Uint64x2.ConvertToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   532  	addF(simdPackage, "Int64x2.ConvertToUint64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   533  	addF(simdPackage, "Int64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   534  	addF(simdPackage, "Uint64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   535  	addF(simdPackage, "Uint64x2.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   536  	addF(simdPackage, "Uint64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   537  	addF(simdPackage, "Uint64x2.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   538  	addF(simdPackage, "Uint64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   539  	addF(simdPackage, "Uint64x2.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   540  	addF(simdPackage, "LoadFloat32x4Array", simdLoad(), sys.ARM64)
   541  	addF(simdPackage, "Float32x4.StoreArray", simdStore(), sys.ARM64)
   542  	addF(simdPackage, "LoadFloat64x2Array", simdLoad(), sys.ARM64)
   543  	addF(simdPackage, "Float64x2.StoreArray", simdStore(), sys.ARM64)
   544  	addF(simdPackage, "LoadInt8x16Array", simdLoad(), sys.ARM64)
   545  	addF(simdPackage, "Int8x16.StoreArray", simdStore(), sys.ARM64)
   546  	addF(simdPackage, "LoadInt16x8Array", simdLoad(), sys.ARM64)
   547  	addF(simdPackage, "Int16x8.StoreArray", simdStore(), sys.ARM64)
   548  	addF(simdPackage, "LoadInt32x4Array", simdLoad(), sys.ARM64)
   549  	addF(simdPackage, "Int32x4.StoreArray", simdStore(), sys.ARM64)
   550  	addF(simdPackage, "LoadInt64x2Array", simdLoad(), sys.ARM64)
   551  	addF(simdPackage, "Int64x2.StoreArray", simdStore(), sys.ARM64)
   552  	addF(simdPackage, "LoadUint8x16Array", simdLoad(), sys.ARM64)
   553  	addF(simdPackage, "Uint8x16.StoreArray", simdStore(), sys.ARM64)
   554  	addF(simdPackage, "LoadUint16x8Array", simdLoad(), sys.ARM64)
   555  	addF(simdPackage, "Uint16x8.StoreArray", simdStore(), sys.ARM64)
   556  	addF(simdPackage, "LoadUint32x4Array", simdLoad(), sys.ARM64)
   557  	addF(simdPackage, "Uint32x4.StoreArray", simdStore(), sys.ARM64)
   558  	addF(simdPackage, "LoadUint64x2Array", simdLoad(), sys.ARM64)
   559  	addF(simdPackage, "Uint64x2.StoreArray", simdStore(), sys.ARM64)
   560  	addF(simdPackage, "Mask8x16.ToInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   561  	addF(simdPackage, "Int8x16.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   562  	addF(simdPackage, "Mask8x16.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   563  	addF(simdPackage, "Mask8x16.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   564  	addF(simdPackage, "Mask8x16.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   565  	addF(simdPackage, "Mask16x8.ToInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   566  	addF(simdPackage, "Int16x8.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   567  	addF(simdPackage, "Mask16x8.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   568  	addF(simdPackage, "Mask16x8.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   569  	addF(simdPackage, "Mask16x8.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   570  	addF(simdPackage, "Mask32x4.ToInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   571  	addF(simdPackage, "Int32x4.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   572  	addF(simdPackage, "Mask32x4.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   573  	addF(simdPackage, "Mask32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   574  	addF(simdPackage, "Mask32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   575  	addF(simdPackage, "Mask64x2.ToInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   576  	addF(simdPackage, "Int64x2.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   577  	addF(simdPackage, "Mask64x2.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   578  	addF(simdPackage, "Mask64x2.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   579  	addF(simdPackage, "Mask64x2.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   580  }
   581  

View as plain text