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, "Int8x16.ConcatEven", opLen2(ssa.OpConcatEvenInt8x16, types.TypeVec128), sys.ARM64)
    70  	addF(simdPackage, "Int16x8.ConcatEven", opLen2(ssa.OpConcatEvenInt16x8, types.TypeVec128), sys.ARM64)
    71  	addF(simdPackage, "Int32x4.ConcatEven", opLen2(ssa.OpConcatEvenInt32x4, types.TypeVec128), sys.ARM64)
    72  	addF(simdPackage, "Int64x2.ConcatEven", opLen2(ssa.OpConcatEvenInt64x2, types.TypeVec128), sys.ARM64)
    73  	addF(simdPackage, "Uint8x16.ConcatEven", opLen2(ssa.OpConcatEvenUint8x16, types.TypeVec128), sys.ARM64)
    74  	addF(simdPackage, "Uint16x8.ConcatEven", opLen2(ssa.OpConcatEvenUint16x8, types.TypeVec128), sys.ARM64)
    75  	addF(simdPackage, "Uint32x4.ConcatEven", opLen2(ssa.OpConcatEvenUint32x4, types.TypeVec128), sys.ARM64)
    76  	addF(simdPackage, "Uint64x2.ConcatEven", opLen2(ssa.OpConcatEvenUint64x2, types.TypeVec128), sys.ARM64)
    77  	addF(simdPackage, "Int8x16.ConcatOdd", opLen2(ssa.OpConcatOddInt8x16, types.TypeVec128), sys.ARM64)
    78  	addF(simdPackage, "Int16x8.ConcatOdd", opLen2(ssa.OpConcatOddInt16x8, types.TypeVec128), sys.ARM64)
    79  	addF(simdPackage, "Int32x4.ConcatOdd", opLen2(ssa.OpConcatOddInt32x4, types.TypeVec128), sys.ARM64)
    80  	addF(simdPackage, "Int64x2.ConcatOdd", opLen2(ssa.OpConcatOddInt64x2, types.TypeVec128), sys.ARM64)
    81  	addF(simdPackage, "Uint8x16.ConcatOdd", opLen2(ssa.OpConcatOddUint8x16, types.TypeVec128), sys.ARM64)
    82  	addF(simdPackage, "Uint16x8.ConcatOdd", opLen2(ssa.OpConcatOddUint16x8, types.TypeVec128), sys.ARM64)
    83  	addF(simdPackage, "Uint32x4.ConcatOdd", opLen2(ssa.OpConcatOddUint32x4, types.TypeVec128), sys.ARM64)
    84  	addF(simdPackage, "Uint64x2.ConcatOdd", opLen2(ssa.OpConcatOddUint64x2, types.TypeVec128), sys.ARM64)
    85  	addF(simdPackage, "Uint8x16.ConcatShiftBytesRight", opLen2Imm_2I(ssa.OpConcatShiftBytesRightUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
    86  	addF(simdPackage, "Float32x4.ConvertLo2ToFloat64", opLen1(ssa.OpConvertLo2ToFloat64Float32x4, types.TypeVec128), sys.ARM64)
    87  	addF(simdPackage, "Float64x2.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Float64x2, types.TypeVec128), sys.ARM64)
    88  	addF(simdPackage, "Int32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Int32x4, types.TypeVec128), sys.ARM64)
    89  	addF(simdPackage, "Uint32x4.ConvertToFloat32", opLen1(ssa.OpConvertToFloat32Uint32x4, types.TypeVec128), sys.ARM64)
    90  	addF(simdPackage, "Int64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Int64x2, types.TypeVec128), sys.ARM64)
    91  	addF(simdPackage, "Uint64x2.ConvertToFloat64", opLen1(ssa.OpConvertToFloat64Uint64x2, types.TypeVec128), sys.ARM64)
    92  	addF(simdPackage, "Float32x4.ConvertToInt32", opLen1(ssa.OpConvertToInt32Float32x4, types.TypeVec128), sys.ARM64)
    93  	addF(simdPackage, "Float64x2.ConvertToInt64", opLen1(ssa.OpConvertToInt64Float64x2, types.TypeVec128), sys.ARM64)
    94  	addF(simdPackage, "Float32x4.ConvertToUint32", opLen1(ssa.OpConvertToUint32Float32x4, types.TypeVec128), sys.ARM64)
    95  	addF(simdPackage, "Float64x2.ConvertToUint64", opLen1(ssa.OpConvertToUint64Float64x2, 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.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt8x16, types.TypeVec128), sys.ARM64)
   147  	addF(simdPackage, "Int16x8.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt16x8, types.TypeVec128), sys.ARM64)
   148  	addF(simdPackage, "Int32x4.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt32x4, types.TypeVec128), sys.ARM64)
   149  	addF(simdPackage, "Int64x2.InterleaveEven", opLen2(ssa.OpInterleaveEvenInt64x2, types.TypeVec128), sys.ARM64)
   150  	addF(simdPackage, "Uint8x16.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint8x16, types.TypeVec128), sys.ARM64)
   151  	addF(simdPackage, "Uint16x8.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint16x8, types.TypeVec128), sys.ARM64)
   152  	addF(simdPackage, "Uint32x4.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint32x4, types.TypeVec128), sys.ARM64)
   153  	addF(simdPackage, "Uint64x2.InterleaveEven", opLen2(ssa.OpInterleaveEvenUint64x2, types.TypeVec128), sys.ARM64)
   154  	addF(simdPackage, "Int8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiInt8x16, types.TypeVec128), sys.ARM64)
   155  	addF(simdPackage, "Int16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiInt16x8, types.TypeVec128), sys.ARM64)
   156  	addF(simdPackage, "Int32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiInt32x4, types.TypeVec128), sys.ARM64)
   157  	addF(simdPackage, "Int64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiInt64x2, types.TypeVec128), sys.ARM64)
   158  	addF(simdPackage, "Uint8x16.InterleaveHi", opLen2(ssa.OpInterleaveHiUint8x16, types.TypeVec128), sys.ARM64)
   159  	addF(simdPackage, "Uint16x8.InterleaveHi", opLen2(ssa.OpInterleaveHiUint16x8, types.TypeVec128), sys.ARM64)
   160  	addF(simdPackage, "Uint32x4.InterleaveHi", opLen2(ssa.OpInterleaveHiUint32x4, types.TypeVec128), sys.ARM64)
   161  	addF(simdPackage, "Uint64x2.InterleaveHi", opLen2(ssa.OpInterleaveHiUint64x2, types.TypeVec128), sys.ARM64)
   162  	addF(simdPackage, "Int8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoInt8x16, types.TypeVec128), sys.ARM64)
   163  	addF(simdPackage, "Int16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoInt16x8, types.TypeVec128), sys.ARM64)
   164  	addF(simdPackage, "Int32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoInt32x4, types.TypeVec128), sys.ARM64)
   165  	addF(simdPackage, "Int64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoInt64x2, types.TypeVec128), sys.ARM64)
   166  	addF(simdPackage, "Uint8x16.InterleaveLo", opLen2(ssa.OpInterleaveLoUint8x16, types.TypeVec128), sys.ARM64)
   167  	addF(simdPackage, "Uint16x8.InterleaveLo", opLen2(ssa.OpInterleaveLoUint16x8, types.TypeVec128), sys.ARM64)
   168  	addF(simdPackage, "Uint32x4.InterleaveLo", opLen2(ssa.OpInterleaveLoUint32x4, types.TypeVec128), sys.ARM64)
   169  	addF(simdPackage, "Uint64x2.InterleaveLo", opLen2(ssa.OpInterleaveLoUint64x2, types.TypeVec128), sys.ARM64)
   170  	addF(simdPackage, "Int8x16.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt8x16, types.TypeVec128), sys.ARM64)
   171  	addF(simdPackage, "Int16x8.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt16x8, types.TypeVec128), sys.ARM64)
   172  	addF(simdPackage, "Int32x4.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt32x4, types.TypeVec128), sys.ARM64)
   173  	addF(simdPackage, "Int64x2.InterleaveOdd", opLen2(ssa.OpInterleaveOddInt64x2, types.TypeVec128), sys.ARM64)
   174  	addF(simdPackage, "Uint8x16.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint8x16, types.TypeVec128), sys.ARM64)
   175  	addF(simdPackage, "Uint16x8.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint16x8, types.TypeVec128), sys.ARM64)
   176  	addF(simdPackage, "Uint32x4.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint32x4, types.TypeVec128), sys.ARM64)
   177  	addF(simdPackage, "Uint64x2.InterleaveOdd", opLen2(ssa.OpInterleaveOddUint64x2, types.TypeVec128), sys.ARM64)
   178  	addF(simdPackage, "Int8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt8x16, types.TypeVec128), sys.ARM64)
   179  	addF(simdPackage, "Int16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt16x8, types.TypeVec128), sys.ARM64)
   180  	addF(simdPackage, "Int32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsInt32x4, types.TypeVec128), sys.ARM64)
   181  	addF(simdPackage, "Uint8x16.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint8x16, types.TypeVec128), sys.ARM64)
   182  	addF(simdPackage, "Uint16x8.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint16x8, types.TypeVec128), sys.ARM64)
   183  	addF(simdPackage, "Uint32x4.LeadingSignBits", opLen1(ssa.OpLeadingSignBitsUint32x4, types.TypeVec128), sys.ARM64)
   184  	addF(simdPackage, "Int8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosInt8x16, types.TypeVec128), sys.ARM64)
   185  	addF(simdPackage, "Int16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosInt16x8, types.TypeVec128), sys.ARM64)
   186  	addF(simdPackage, "Int32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosInt32x4, types.TypeVec128), sys.ARM64)
   187  	addF(simdPackage, "Uint8x16.LeadingZeros", opLen1(ssa.OpLeadingZerosUint8x16, types.TypeVec128), sys.ARM64)
   188  	addF(simdPackage, "Uint16x8.LeadingZeros", opLen1(ssa.OpLeadingZerosUint16x8, types.TypeVec128), sys.ARM64)
   189  	addF(simdPackage, "Uint32x4.LeadingZeros", opLen1(ssa.OpLeadingZerosUint32x4, types.TypeVec128), sys.ARM64)
   190  	addF(simdPackage, "Int8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroInt8x16, types.TypeVec128), sys.ARM64)
   191  	addF(simdPackage, "Uint8x16.LookupOrZero", opLen2(ssa.OpLookupOrZeroUint8x16, types.TypeVec128), sys.ARM64)
   192  	addF(simdPackage, "Float32x4.Max", opLen2(ssa.OpMaxFloat32x4, types.TypeVec128), sys.ARM64)
   193  	addF(simdPackage, "Float64x2.Max", opLen2(ssa.OpMaxFloat64x2, types.TypeVec128), sys.ARM64)
   194  	addF(simdPackage, "Int8x16.Max", opLen2(ssa.OpMaxInt8x16, types.TypeVec128), sys.ARM64)
   195  	addF(simdPackage, "Int16x8.Max", opLen2(ssa.OpMaxInt16x8, types.TypeVec128), sys.ARM64)
   196  	addF(simdPackage, "Int32x4.Max", opLen2(ssa.OpMaxInt32x4, types.TypeVec128), sys.ARM64)
   197  	addF(simdPackage, "Uint8x16.Max", opLen2(ssa.OpMaxUint8x16, types.TypeVec128), sys.ARM64)
   198  	addF(simdPackage, "Uint16x8.Max", opLen2(ssa.OpMaxUint16x8, types.TypeVec128), sys.ARM64)
   199  	addF(simdPackage, "Uint32x4.Max", opLen2(ssa.OpMaxUint32x4, types.TypeVec128), sys.ARM64)
   200  	addF(simdPackage, "Float32x4.Min", opLen2(ssa.OpMinFloat32x4, types.TypeVec128), sys.ARM64)
   201  	addF(simdPackage, "Float64x2.Min", opLen2(ssa.OpMinFloat64x2, types.TypeVec128), sys.ARM64)
   202  	addF(simdPackage, "Int8x16.Min", opLen2(ssa.OpMinInt8x16, types.TypeVec128), sys.ARM64)
   203  	addF(simdPackage, "Int16x8.Min", opLen2(ssa.OpMinInt16x8, types.TypeVec128), sys.ARM64)
   204  	addF(simdPackage, "Int32x4.Min", opLen2(ssa.OpMinInt32x4, types.TypeVec128), sys.ARM64)
   205  	addF(simdPackage, "Uint8x16.Min", opLen2(ssa.OpMinUint8x16, types.TypeVec128), sys.ARM64)
   206  	addF(simdPackage, "Uint16x8.Min", opLen2(ssa.OpMinUint16x8, types.TypeVec128), sys.ARM64)
   207  	addF(simdPackage, "Uint32x4.Min", opLen2(ssa.OpMinUint32x4, types.TypeVec128), sys.ARM64)
   208  	addF(simdPackage, "Float32x4.Mul", opLen2(ssa.OpMulFloat32x4, types.TypeVec128), sys.ARM64)
   209  	addF(simdPackage, "Float64x2.Mul", opLen2(ssa.OpMulFloat64x2, types.TypeVec128), sys.ARM64)
   210  	addF(simdPackage, "Int8x16.Mul", opLen2(ssa.OpMulInt8x16, types.TypeVec128), sys.ARM64)
   211  	addF(simdPackage, "Int16x8.Mul", opLen2(ssa.OpMulInt16x8, types.TypeVec128), sys.ARM64)
   212  	addF(simdPackage, "Int32x4.Mul", opLen2(ssa.OpMulInt32x4, types.TypeVec128), sys.ARM64)
   213  	addF(simdPackage, "Uint8x16.Mul", opLen2(ssa.OpMulUint8x16, types.TypeVec128), sys.ARM64)
   214  	addF(simdPackage, "Uint16x8.Mul", opLen2(ssa.OpMulUint16x8, types.TypeVec128), sys.ARM64)
   215  	addF(simdPackage, "Uint32x4.Mul", opLen2(ssa.OpMulUint32x4, types.TypeVec128), sys.ARM64)
   216  	addF(simdPackage, "Float32x4.MulAdd", opLen3(ssa.OpMulAddFloat32x4, types.TypeVec128), sys.ARM64)
   217  	addF(simdPackage, "Float64x2.MulAdd", opLen3(ssa.OpMulAddFloat64x2, types.TypeVec128), sys.ARM64)
   218  	addF(simdPackage, "Int8x16.MulAdd", opLen3(ssa.OpMulAddInt8x16, types.TypeVec128), sys.ARM64)
   219  	addF(simdPackage, "Int16x8.MulAdd", opLen3(ssa.OpMulAddInt16x8, types.TypeVec128), sys.ARM64)
   220  	addF(simdPackage, "Int32x4.MulAdd", opLen3(ssa.OpMulAddInt32x4, types.TypeVec128), sys.ARM64)
   221  	addF(simdPackage, "Uint8x16.MulAdd", opLen3(ssa.OpMulAddUint8x16, types.TypeVec128), sys.ARM64)
   222  	addF(simdPackage, "Uint16x8.MulAdd", opLen3(ssa.OpMulAddUint16x8, types.TypeVec128), sys.ARM64)
   223  	addF(simdPackage, "Uint32x4.MulAdd", opLen3(ssa.OpMulAddUint32x4, types.TypeVec128), sys.ARM64)
   224  	addF(simdPackage, "Int8x16.MulWidenLo", opLen2(ssa.OpMulWidenLoInt8x16, types.TypeVec128), sys.ARM64)
   225  	addF(simdPackage, "Int16x8.MulWidenLo", opLen2(ssa.OpMulWidenLoInt16x8, types.TypeVec128), sys.ARM64)
   226  	addF(simdPackage, "Int32x4.MulWidenLo", opLen2(ssa.OpMulWidenLoInt32x4, types.TypeVec128), sys.ARM64)
   227  	addF(simdPackage, "Uint8x16.MulWidenLo", opLen2(ssa.OpMulWidenLoUint8x16, types.TypeVec128), sys.ARM64)
   228  	addF(simdPackage, "Uint16x8.MulWidenLo", opLen2(ssa.OpMulWidenLoUint16x8, types.TypeVec128), sys.ARM64)
   229  	addF(simdPackage, "Uint32x4.MulWidenLo", opLen2(ssa.OpMulWidenLoUint32x4, types.TypeVec128), sys.ARM64)
   230  	addF(simdPackage, "Float32x4.Neg", opLen1(ssa.OpNegFloat32x4, types.TypeVec128), sys.ARM64)
   231  	addF(simdPackage, "Float64x2.Neg", opLen1(ssa.OpNegFloat64x2, types.TypeVec128), sys.ARM64)
   232  	addF(simdPackage, "Int8x16.Neg", opLen1(ssa.OpNegInt8x16, types.TypeVec128), sys.ARM64)
   233  	addF(simdPackage, "Int16x8.Neg", opLen1(ssa.OpNegInt16x8, types.TypeVec128), sys.ARM64)
   234  	addF(simdPackage, "Int32x4.Neg", opLen1(ssa.OpNegInt32x4, types.TypeVec128), sys.ARM64)
   235  	addF(simdPackage, "Int64x2.Neg", opLen1(ssa.OpNegInt64x2, types.TypeVec128), sys.ARM64)
   236  	addF(simdPackage, "Int8x16.Not", opLen1(ssa.OpNotInt8x16, types.TypeVec128), sys.ARM64)
   237  	addF(simdPackage, "Int16x8.Not", opLen1(ssa.OpNotInt16x8, types.TypeVec128), sys.ARM64)
   238  	addF(simdPackage, "Int32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   239  	addF(simdPackage, "Int64x2.Not", opLen1(ssa.OpNotInt64x2, types.TypeVec128), sys.ARM64)
   240  	addF(simdPackage, "Uint8x16.Not", opLen1(ssa.OpNotUint8x16, types.TypeVec128), sys.ARM64)
   241  	addF(simdPackage, "Uint16x8.Not", opLen1(ssa.OpNotUint16x8, types.TypeVec128), sys.ARM64)
   242  	addF(simdPackage, "Uint32x4.Not", opLen1(ssa.OpNotUint32x4, types.TypeVec128), sys.ARM64)
   243  	addF(simdPackage, "Uint64x2.Not", opLen1(ssa.OpNotUint64x2, types.TypeVec128), sys.ARM64)
   244  	addF(simdPackage, "Int8x16.OnesCount", opLen1(ssa.OpOnesCountInt8x16, types.TypeVec128), sys.ARM64)
   245  	addF(simdPackage, "Uint8x16.OnesCount", opLen1(ssa.OpOnesCountUint8x16, types.TypeVec128), sys.ARM64)
   246  	addF(simdPackage, "Int8x16.Or", opLen2(ssa.OpOrInt8x16, types.TypeVec128), sys.ARM64)
   247  	addF(simdPackage, "Int16x8.Or", opLen2(ssa.OpOrInt16x8, types.TypeVec128), sys.ARM64)
   248  	addF(simdPackage, "Int32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   249  	addF(simdPackage, "Int64x2.Or", opLen2(ssa.OpOrInt64x2, types.TypeVec128), sys.ARM64)
   250  	addF(simdPackage, "Uint8x16.Or", opLen2(ssa.OpOrUint8x16, types.TypeVec128), sys.ARM64)
   251  	addF(simdPackage, "Uint16x8.Or", opLen2(ssa.OpOrUint16x8, types.TypeVec128), sys.ARM64)
   252  	addF(simdPackage, "Uint32x4.Or", opLen2(ssa.OpOrUint32x4, types.TypeVec128), sys.ARM64)
   253  	addF(simdPackage, "Uint64x2.Or", opLen2(ssa.OpOrUint64x2, types.TypeVec128), sys.ARM64)
   254  	addF(simdPackage, "Int8x16.OrNot", opLen2(ssa.OpOrNotInt8x16, types.TypeVec128), sys.ARM64)
   255  	addF(simdPackage, "Int16x8.OrNot", opLen2(ssa.OpOrNotInt16x8, types.TypeVec128), sys.ARM64)
   256  	addF(simdPackage, "Int32x4.OrNot", opLen2(ssa.OpOrNotInt32x4, types.TypeVec128), sys.ARM64)
   257  	addF(simdPackage, "Int64x2.OrNot", opLen2(ssa.OpOrNotInt64x2, types.TypeVec128), sys.ARM64)
   258  	addF(simdPackage, "Uint8x16.OrNot", opLen2(ssa.OpOrNotUint8x16, types.TypeVec128), sys.ARM64)
   259  	addF(simdPackage, "Uint16x8.OrNot", opLen2(ssa.OpOrNotUint16x8, types.TypeVec128), sys.ARM64)
   260  	addF(simdPackage, "Uint32x4.OrNot", opLen2(ssa.OpOrNotUint32x4, types.TypeVec128), sys.ARM64)
   261  	addF(simdPackage, "Uint64x2.OrNot", opLen2(ssa.OpOrNotUint64x2, types.TypeVec128), sys.ARM64)
   262  	addF(simdPackage, "Float32x4.Round", opLen1(ssa.OpRoundFloat32x4, types.TypeVec128), sys.ARM64)
   263  	addF(simdPackage, "Float64x2.Round", opLen1(ssa.OpRoundFloat64x2, types.TypeVec128), sys.ARM64)
   264  	addF(simdPackage, "Int16x8.SaturateToInt8", opLen1(ssa.OpSaturateToInt8Int16x8, types.TypeVec128), sys.ARM64)
   265  	addF(simdPackage, "Int32x4.SaturateToInt16", opLen1(ssa.OpSaturateToInt16Int32x4, types.TypeVec128), sys.ARM64)
   266  	addF(simdPackage, "Int64x2.SaturateToInt32", opLen1(ssa.OpSaturateToInt32Int64x2, types.TypeVec128), sys.ARM64)
   267  	addF(simdPackage, "Int16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Int16x8, types.TypeVec128), sys.ARM64)
   268  	addF(simdPackage, "Uint16x8.SaturateToUint8", opLen1(ssa.OpSaturateToUint8Uint16x8, types.TypeVec128), sys.ARM64)
   269  	addF(simdPackage, "Int32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Int32x4, types.TypeVec128), sys.ARM64)
   270  	addF(simdPackage, "Uint32x4.SaturateToUint16", opLen1(ssa.OpSaturateToUint16Uint32x4, types.TypeVec128), sys.ARM64)
   271  	addF(simdPackage, "Int64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Int64x2, types.TypeVec128), sys.ARM64)
   272  	addF(simdPackage, "Uint64x2.SaturateToUint32", opLen1(ssa.OpSaturateToUint32Uint64x2, types.TypeVec128), sys.ARM64)
   273  	addF(simdPackage, "Int8x16.SetElem", opLen2Imm(ssa.OpSetElemInt8x16, types.TypeVec128, 0, 15), sys.ARM64)
   274  	addF(simdPackage, "Int16x8.SetElem", opLen2Imm(ssa.OpSetElemInt16x8, types.TypeVec128, 0, 7), sys.ARM64)
   275  	addF(simdPackage, "Int32x4.SetElem", opLen2Imm(ssa.OpSetElemInt32x4, types.TypeVec128, 0, 3), sys.ARM64)
   276  	addF(simdPackage, "Int64x2.SetElem", opLen2Imm(ssa.OpSetElemInt64x2, types.TypeVec128, 0, 1), sys.ARM64)
   277  	addF(simdPackage, "Uint8x16.SetElem", opLen2Imm(ssa.OpSetElemUint8x16, types.TypeVec128, 0, 15), sys.ARM64)
   278  	addF(simdPackage, "Uint16x8.SetElem", opLen2Imm(ssa.OpSetElemUint16x8, types.TypeVec128, 0, 7), sys.ARM64)
   279  	addF(simdPackage, "Uint32x4.SetElem", opLen2Imm(ssa.OpSetElemUint32x4, types.TypeVec128, 0, 3), sys.ARM64)
   280  	addF(simdPackage, "Uint64x2.SetElem", opLen2Imm(ssa.OpSetElemUint64x2, types.TypeVec128, 0, 1), sys.ARM64)
   281  	addF(simdPackage, "Float32x4.SetElem", opLen2Imm(ssa.OpSetElemFloat32x4, types.TypeVec128, 0, 3), sys.ARM64)
   282  	addF(simdPackage, "Float64x2.SetElem", opLen2Imm(ssa.OpSetElemFloat64x2, types.TypeVec128, 0, 1), sys.ARM64)
   283  	addF(simdPackage, "Int8x16.Shift", opLen2(ssa.OpShiftInt8x16, types.TypeVec128), sys.ARM64)
   284  	addF(simdPackage, "Int16x8.Shift", opLen2(ssa.OpShiftInt16x8, types.TypeVec128), sys.ARM64)
   285  	addF(simdPackage, "Int32x4.Shift", opLen2(ssa.OpShiftInt32x4, types.TypeVec128), sys.ARM64)
   286  	addF(simdPackage, "Int64x2.Shift", opLen2(ssa.OpShiftInt64x2, types.TypeVec128), sys.ARM64)
   287  	addF(simdPackage, "Uint8x16.Shift", opLen2(ssa.OpShiftUint8x16, types.TypeVec128), sys.ARM64)
   288  	addF(simdPackage, "Uint16x8.Shift", opLen2(ssa.OpShiftUint16x8, types.TypeVec128), sys.ARM64)
   289  	addF(simdPackage, "Uint32x4.Shift", opLen2(ssa.OpShiftUint32x4, types.TypeVec128), sys.ARM64)
   290  	addF(simdPackage, "Uint64x2.Shift", opLen2(ssa.OpShiftUint64x2, types.TypeVec128), sys.ARM64)
   291  	addF(simdPackage, "Int8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt8x16, types.TypeVec128), sys.ARM64)
   292  	addF(simdPackage, "Int16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt16x8, types.TypeVec128), sys.ARM64)
   293  	addF(simdPackage, "Int32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt32x4, types.TypeVec128), sys.ARM64)
   294  	addF(simdPackage, "Int64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftInt64x2, types.TypeVec128), sys.ARM64)
   295  	addF(simdPackage, "Uint8x16.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint8x16, types.TypeVec128), sys.ARM64)
   296  	addF(simdPackage, "Uint16x8.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint16x8, types.TypeVec128), sys.ARM64)
   297  	addF(simdPackage, "Uint32x4.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint32x4, types.TypeVec128), sys.ARM64)
   298  	addF(simdPackage, "Uint64x2.ShiftAllLeft", opLen2(ssa.OpShiftAllLeftUint64x2, types.TypeVec128), sys.ARM64)
   299  	addF(simdPackage, "Int8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt8x16, types.TypeVec128), sys.ARM64)
   300  	addF(simdPackage, "Int16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt16x8, types.TypeVec128), sys.ARM64)
   301  	addF(simdPackage, "Int32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt32x4, types.TypeVec128), sys.ARM64)
   302  	addF(simdPackage, "Int64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightInt64x2, types.TypeVec128), sys.ARM64)
   303  	addF(simdPackage, "Uint8x16.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint8x16, types.TypeVec128), sys.ARM64)
   304  	addF(simdPackage, "Uint16x8.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint16x8, types.TypeVec128), sys.ARM64)
   305  	addF(simdPackage, "Uint32x4.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint32x4, types.TypeVec128), sys.ARM64)
   306  	addF(simdPackage, "Uint64x2.ShiftAllRight", opLen2(ssa.OpShiftAllRightUint64x2, types.TypeVec128), sys.ARM64)
   307  	addF(simdPackage, "Int8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt8x16, types.TypeVec128), sys.ARM64)
   308  	addF(simdPackage, "Int16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt16x8, types.TypeVec128), sys.ARM64)
   309  	addF(simdPackage, "Int32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt32x4, types.TypeVec128), sys.ARM64)
   310  	addF(simdPackage, "Int64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedInt64x2, types.TypeVec128), sys.ARM64)
   311  	addF(simdPackage, "Uint8x16.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint8x16, types.TypeVec128), sys.ARM64)
   312  	addF(simdPackage, "Uint16x8.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint16x8, types.TypeVec128), sys.ARM64)
   313  	addF(simdPackage, "Uint32x4.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint32x4, types.TypeVec128), sys.ARM64)
   314  	addF(simdPackage, "Uint64x2.ShiftSaturated", opLen2(ssa.OpShiftSaturatedUint64x2, types.TypeVec128), sys.ARM64)
   315  	addF(simdPackage, "Float32x4.Sqrt", opLen1(ssa.OpSqrtFloat32x4, types.TypeVec128), sys.ARM64)
   316  	addF(simdPackage, "Float64x2.Sqrt", opLen1(ssa.OpSqrtFloat64x2, types.TypeVec128), sys.ARM64)
   317  	addF(simdPackage, "Float32x4.Sub", opLen2(ssa.OpSubFloat32x4, types.TypeVec128), sys.ARM64)
   318  	addF(simdPackage, "Float64x2.Sub", opLen2(ssa.OpSubFloat64x2, types.TypeVec128), sys.ARM64)
   319  	addF(simdPackage, "Int8x16.Sub", opLen2(ssa.OpSubInt8x16, types.TypeVec128), sys.ARM64)
   320  	addF(simdPackage, "Int16x8.Sub", opLen2(ssa.OpSubInt16x8, types.TypeVec128), sys.ARM64)
   321  	addF(simdPackage, "Int32x4.Sub", opLen2(ssa.OpSubInt32x4, types.TypeVec128), sys.ARM64)
   322  	addF(simdPackage, "Int64x2.Sub", opLen2(ssa.OpSubInt64x2, types.TypeVec128), sys.ARM64)
   323  	addF(simdPackage, "Uint8x16.Sub", opLen2(ssa.OpSubUint8x16, types.TypeVec128), sys.ARM64)
   324  	addF(simdPackage, "Uint16x8.Sub", opLen2(ssa.OpSubUint16x8, types.TypeVec128), sys.ARM64)
   325  	addF(simdPackage, "Uint32x4.Sub", opLen2(ssa.OpSubUint32x4, types.TypeVec128), sys.ARM64)
   326  	addF(simdPackage, "Uint64x2.Sub", opLen2(ssa.OpSubUint64x2, types.TypeVec128), sys.ARM64)
   327  	addF(simdPackage, "Int8x16.SubSaturated", opLen2(ssa.OpSubSaturatedInt8x16, types.TypeVec128), sys.ARM64)
   328  	addF(simdPackage, "Int16x8.SubSaturated", opLen2(ssa.OpSubSaturatedInt16x8, types.TypeVec128), sys.ARM64)
   329  	addF(simdPackage, "Int32x4.SubSaturated", opLen2(ssa.OpSubSaturatedInt32x4, types.TypeVec128), sys.ARM64)
   330  	addF(simdPackage, "Int64x2.SubSaturated", opLen2(ssa.OpSubSaturatedInt64x2, types.TypeVec128), sys.ARM64)
   331  	addF(simdPackage, "Uint8x16.SubSaturated", opLen2(ssa.OpSubSaturatedUint8x16, types.TypeVec128), sys.ARM64)
   332  	addF(simdPackage, "Uint16x8.SubSaturated", opLen2(ssa.OpSubSaturatedUint16x8, types.TypeVec128), sys.ARM64)
   333  	addF(simdPackage, "Uint32x4.SubSaturated", opLen2(ssa.OpSubSaturatedUint32x4, types.TypeVec128), sys.ARM64)
   334  	addF(simdPackage, "Uint64x2.SubSaturated", opLen2(ssa.OpSubSaturatedUint64x2, types.TypeVec128), sys.ARM64)
   335  	addF(simdPackage, "Float32x4.Trunc", opLen1(ssa.OpTruncFloat32x4, types.TypeVec128), sys.ARM64)
   336  	addF(simdPackage, "Float64x2.Trunc", opLen1(ssa.OpTruncFloat64x2, types.TypeVec128), sys.ARM64)
   337  	addF(simdPackage, "Int16x8.TruncToInt8", opLen1(ssa.OpTruncToInt8Int16x8, types.TypeVec128), sys.ARM64)
   338  	addF(simdPackage, "Int32x4.TruncToInt16", opLen1(ssa.OpTruncToInt16Int32x4, types.TypeVec128), sys.ARM64)
   339  	addF(simdPackage, "Int64x2.TruncToInt32", opLen1(ssa.OpTruncToInt32Int64x2, types.TypeVec128), sys.ARM64)
   340  	addF(simdPackage, "Uint16x8.TruncToUint8", opLen1(ssa.OpTruncToUint8Uint16x8, types.TypeVec128), sys.ARM64)
   341  	addF(simdPackage, "Uint32x4.TruncToUint16", opLen1(ssa.OpTruncToUint16Uint32x4, types.TypeVec128), sys.ARM64)
   342  	addF(simdPackage, "Uint64x2.TruncToUint32", opLen1(ssa.OpTruncToUint32Uint64x2, types.TypeVec128), sys.ARM64)
   343  	addF(simdPackage, "Int8x16.Xor", opLen2(ssa.OpXorInt8x16, types.TypeVec128), sys.ARM64)
   344  	addF(simdPackage, "Int16x8.Xor", opLen2(ssa.OpXorInt16x8, types.TypeVec128), sys.ARM64)
   345  	addF(simdPackage, "Int32x4.Xor", opLen2(ssa.OpXorInt32x4, types.TypeVec128), sys.ARM64)
   346  	addF(simdPackage, "Int64x2.Xor", opLen2(ssa.OpXorInt64x2, types.TypeVec128), sys.ARM64)
   347  	addF(simdPackage, "Uint8x16.Xor", opLen2(ssa.OpXorUint8x16, types.TypeVec128), sys.ARM64)
   348  	addF(simdPackage, "Uint16x8.Xor", opLen2(ssa.OpXorUint16x8, types.TypeVec128), sys.ARM64)
   349  	addF(simdPackage, "Uint32x4.Xor", opLen2(ssa.OpXorUint32x4, types.TypeVec128), sys.ARM64)
   350  	addF(simdPackage, "Uint64x2.Xor", opLen2(ssa.OpXorUint64x2, types.TypeVec128), sys.ARM64)
   351  	addF(simdPackage, "Int8x16.bitSelect", opLen3(ssa.OpbitSelectInt8x16, types.TypeVec128), sys.ARM64)
   352  	addF(simdPackage, "Int8x16.bitSelectNot", opLen3(ssa.OpbitSelectNotInt8x16, types.TypeVec128), sys.ARM64)
   353  	addF(simdPackage, "Float64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Float64x2, types.TypeVec128), sys.ARM64)
   354  	addF(simdPackage, "Int64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Int64x2, types.TypeVec128), sys.ARM64)
   355  	addF(simdPackage, "Uint64x2.broadcast1To2", opLen1(ssa.Opbroadcast1To2Uint64x2, types.TypeVec128), sys.ARM64)
   356  	addF(simdPackage, "Float32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Float32x4, types.TypeVec128), sys.ARM64)
   357  	addF(simdPackage, "Int32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Int32x4, types.TypeVec128), sys.ARM64)
   358  	addF(simdPackage, "Uint32x4.broadcast1To4", opLen1(ssa.Opbroadcast1To4Uint32x4, types.TypeVec128), sys.ARM64)
   359  	addF(simdPackage, "Int16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Int16x8, types.TypeVec128), sys.ARM64)
   360  	addF(simdPackage, "Uint16x8.broadcast1To8", opLen1(ssa.Opbroadcast1To8Uint16x8, types.TypeVec128), sys.ARM64)
   361  	addF(simdPackage, "Int8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Int8x16, types.TypeVec128), sys.ARM64)
   362  	addF(simdPackage, "Uint8x16.broadcast1To16", opLen1(ssa.Opbroadcast1To16Uint8x16, types.TypeVec128), sys.ARM64)
   363  	addF(simdPackage, "Uint64x2.carrylessMultiplyWidenLo", opLen2(ssa.OpcarrylessMultiplyWidenLoUint64x2, types.TypeVec128), sys.ARM64)
   364  	addF(simdPackage, "Float32x4.reduceMax", opLen1(ssa.OpreduceMaxFloat32x4, types.TypeVec128), sys.ARM64)
   365  	addF(simdPackage, "Int8x16.reduceMax", opLen1(ssa.OpreduceMaxInt8x16, types.TypeVec128), sys.ARM64)
   366  	addF(simdPackage, "Int16x8.reduceMax", opLen1(ssa.OpreduceMaxInt16x8, types.TypeVec128), sys.ARM64)
   367  	addF(simdPackage, "Int32x4.reduceMax", opLen1(ssa.OpreduceMaxInt32x4, types.TypeVec128), sys.ARM64)
   368  	addF(simdPackage, "Uint8x16.reduceMax", opLen1(ssa.OpreduceMaxUint8x16, types.TypeVec128), sys.ARM64)
   369  	addF(simdPackage, "Uint16x8.reduceMax", opLen1(ssa.OpreduceMaxUint16x8, types.TypeVec128), sys.ARM64)
   370  	addF(simdPackage, "Uint32x4.reduceMax", opLen1(ssa.OpreduceMaxUint32x4, types.TypeVec128), sys.ARM64)
   371  	addF(simdPackage, "Float32x4.reduceMin", opLen1(ssa.OpreduceMinFloat32x4, types.TypeVec128), sys.ARM64)
   372  	addF(simdPackage, "Int8x16.reduceMin", opLen1(ssa.OpreduceMinInt8x16, types.TypeVec128), sys.ARM64)
   373  	addF(simdPackage, "Int16x8.reduceMin", opLen1(ssa.OpreduceMinInt16x8, types.TypeVec128), sys.ARM64)
   374  	addF(simdPackage, "Int32x4.reduceMin", opLen1(ssa.OpreduceMinInt32x4, types.TypeVec128), sys.ARM64)
   375  	addF(simdPackage, "Uint8x16.reduceMin", opLen1(ssa.OpreduceMinUint8x16, types.TypeVec128), sys.ARM64)
   376  	addF(simdPackage, "Uint16x8.reduceMin", opLen1(ssa.OpreduceMinUint16x8, types.TypeVec128), sys.ARM64)
   377  	addF(simdPackage, "Uint32x4.reduceMin", opLen1(ssa.OpreduceMinUint32x4, types.TypeVec128), sys.ARM64)
   378  	addF(simdPackage, "Int8x16.reduceSum", opLen1(ssa.OpreduceSumInt8x16, types.TypeVec128), sys.ARM64)
   379  	addF(simdPackage, "Int16x8.reduceSum", opLen1(ssa.OpreduceSumInt16x8, types.TypeVec128), sys.ARM64)
   380  	addF(simdPackage, "Int32x4.reduceSum", opLen1(ssa.OpreduceSumInt32x4, types.TypeVec128), sys.ARM64)
   381  	addF(simdPackage, "Uint8x16.reduceSum", opLen1(ssa.OpreduceSumUint8x16, types.TypeVec128), sys.ARM64)
   382  	addF(simdPackage, "Uint16x8.reduceSum", opLen1(ssa.OpreduceSumUint16x8, types.TypeVec128), sys.ARM64)
   383  	addF(simdPackage, "Uint32x4.reduceSum", opLen1(ssa.OpreduceSumUint32x4, types.TypeVec128), sys.ARM64)
   384  	addF(simdPackage, "Float32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   385  	addF(simdPackage, "Float32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   386  	addF(simdPackage, "Float32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   387  	addF(simdPackage, "Float32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   388  	addF(simdPackage, "Float32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   389  	addF(simdPackage, "Float32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   390  	addF(simdPackage, "Float32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   391  	addF(simdPackage, "Float32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   392  	addF(simdPackage, "Float32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   393  	addF(simdPackage, "Float64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   394  	addF(simdPackage, "Float64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   395  	addF(simdPackage, "Float64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   396  	addF(simdPackage, "Float64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   397  	addF(simdPackage, "Float64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   398  	addF(simdPackage, "Float64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   399  	addF(simdPackage, "Float64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   400  	addF(simdPackage, "Float64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   401  	addF(simdPackage, "Float64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   402  	addF(simdPackage, "Int8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   403  	addF(simdPackage, "Int8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   404  	addF(simdPackage, "Int8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   405  	addF(simdPackage, "Int8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   406  	addF(simdPackage, "Int8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   407  	addF(simdPackage, "Int8x16.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   408  	addF(simdPackage, "Int8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   409  	addF(simdPackage, "Int8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   410  	addF(simdPackage, "Int8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   411  	addF(simdPackage, "Int16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   412  	addF(simdPackage, "Int16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   413  	addF(simdPackage, "Int16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   414  	addF(simdPackage, "Int16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   415  	addF(simdPackage, "Int16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   416  	addF(simdPackage, "Int16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   417  	addF(simdPackage, "Int16x8.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   418  	addF(simdPackage, "Int16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   419  	addF(simdPackage, "Int16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   420  	addF(simdPackage, "Int32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   421  	addF(simdPackage, "Int32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   422  	addF(simdPackage, "Int32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   423  	addF(simdPackage, "Int32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   424  	addF(simdPackage, "Int32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   425  	addF(simdPackage, "Int32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   426  	addF(simdPackage, "Int32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   427  	addF(simdPackage, "Int32x4.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   428  	addF(simdPackage, "Int32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   429  	addF(simdPackage, "Int64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   430  	addF(simdPackage, "Int64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   431  	addF(simdPackage, "Int64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   432  	addF(simdPackage, "Int64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   433  	addF(simdPackage, "Int64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   434  	addF(simdPackage, "Int64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   435  	addF(simdPackage, "Int64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   436  	addF(simdPackage, "Int64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   437  	addF(simdPackage, "Int64x2.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   438  	addF(simdPackage, "Uint8x16.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   439  	addF(simdPackage, "Uint8x16.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   440  	addF(simdPackage, "Uint8x16.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   441  	addF(simdPackage, "Uint8x16.BitsToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   442  	addF(simdPackage, "Uint8x16.ConvertToInt8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   443  	addF(simdPackage, "Int8x16.ConvertToUint8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   444  	addF(simdPackage, "Int8x16.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   445  	addF(simdPackage, "Uint8x16.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   446  	addF(simdPackage, "Uint8x16.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   447  	addF(simdPackage, "Uint8x16.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   448  	addF(simdPackage, "Uint8x16.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   449  	addF(simdPackage, "Uint8x16.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   450  	addF(simdPackage, "Uint8x16.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   451  	addF(simdPackage, "Uint8x16.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   452  	addF(simdPackage, "Uint8x16.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   453  	addF(simdPackage, "Uint8x16.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   454  	addF(simdPackage, "Uint16x8.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   455  	addF(simdPackage, "Uint16x8.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   456  	addF(simdPackage, "Uint16x8.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   457  	addF(simdPackage, "Uint16x8.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   458  	addF(simdPackage, "Uint16x8.BitsToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   459  	addF(simdPackage, "Uint16x8.ConvertToInt16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   460  	addF(simdPackage, "Int16x8.ConvertToUint16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   461  	addF(simdPackage, "Int16x8.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   462  	addF(simdPackage, "Uint16x8.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   463  	addF(simdPackage, "Uint16x8.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   464  	addF(simdPackage, "Uint16x8.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   465  	addF(simdPackage, "Uint16x8.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   466  	addF(simdPackage, "Uint16x8.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   467  	addF(simdPackage, "Uint16x8.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   468  	addF(simdPackage, "Uint16x8.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   469  	addF(simdPackage, "Uint16x8.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   470  	addF(simdPackage, "Uint32x4.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   471  	addF(simdPackage, "Uint32x4.BitsToFloat32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   472  	addF(simdPackage, "Float32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   473  	addF(simdPackage, "Uint32x4.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   474  	addF(simdPackage, "Uint32x4.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   475  	addF(simdPackage, "Uint32x4.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   476  	addF(simdPackage, "Uint32x4.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   477  	addF(simdPackage, "Uint32x4.BitsToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   478  	addF(simdPackage, "Uint32x4.ConvertToInt32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   479  	addF(simdPackage, "Int32x4.ConvertToUint32", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   480  	addF(simdPackage, "Int32x4.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   481  	addF(simdPackage, "Uint32x4.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   482  	addF(simdPackage, "Uint32x4.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   483  	addF(simdPackage, "Uint32x4.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   484  	addF(simdPackage, "Uint32x4.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   485  	addF(simdPackage, "Uint32x4.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   486  	addF(simdPackage, "Uint32x4.AsUint64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   487  	addF(simdPackage, "Uint32x4.ReshapeToUint64s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   488  	addF(simdPackage, "Uint64x2.AsFloat32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   489  	addF(simdPackage, "Uint64x2.AsFloat64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   490  	addF(simdPackage, "Uint64x2.BitsToFloat64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   491  	addF(simdPackage, "Float64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   492  	addF(simdPackage, "Uint64x2.AsInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   493  	addF(simdPackage, "Uint64x2.AsInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   494  	addF(simdPackage, "Uint64x2.AsInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   495  	addF(simdPackage, "Uint64x2.AsInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   496  	addF(simdPackage, "Uint64x2.BitsToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   497  	addF(simdPackage, "Uint64x2.ConvertToInt64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   498  	addF(simdPackage, "Int64x2.ConvertToUint64", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   499  	addF(simdPackage, "Int64x2.ToBits", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   500  	addF(simdPackage, "Uint64x2.AsUint8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   501  	addF(simdPackage, "Uint64x2.ReshapeToUint8s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   502  	addF(simdPackage, "Uint64x2.AsUint16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   503  	addF(simdPackage, "Uint64x2.ReshapeToUint16s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   504  	addF(simdPackage, "Uint64x2.AsUint32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   505  	addF(simdPackage, "Uint64x2.ReshapeToUint32s", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   506  	addF(simdPackage, "LoadFloat32x4Array", simdLoad(), sys.ARM64)
   507  	addF(simdPackage, "Float32x4.StoreArray", simdStore(), sys.ARM64)
   508  	addF(simdPackage, "LoadFloat64x2Array", simdLoad(), sys.ARM64)
   509  	addF(simdPackage, "Float64x2.StoreArray", simdStore(), sys.ARM64)
   510  	addF(simdPackage, "LoadInt8x16Array", simdLoad(), sys.ARM64)
   511  	addF(simdPackage, "Int8x16.StoreArray", simdStore(), sys.ARM64)
   512  	addF(simdPackage, "LoadInt16x8Array", simdLoad(), sys.ARM64)
   513  	addF(simdPackage, "Int16x8.StoreArray", simdStore(), sys.ARM64)
   514  	addF(simdPackage, "LoadInt32x4Array", simdLoad(), sys.ARM64)
   515  	addF(simdPackage, "Int32x4.StoreArray", simdStore(), sys.ARM64)
   516  	addF(simdPackage, "LoadInt64x2Array", simdLoad(), sys.ARM64)
   517  	addF(simdPackage, "Int64x2.StoreArray", simdStore(), sys.ARM64)
   518  	addF(simdPackage, "LoadUint8x16Array", simdLoad(), sys.ARM64)
   519  	addF(simdPackage, "Uint8x16.StoreArray", simdStore(), sys.ARM64)
   520  	addF(simdPackage, "LoadUint16x8Array", simdLoad(), sys.ARM64)
   521  	addF(simdPackage, "Uint16x8.StoreArray", simdStore(), sys.ARM64)
   522  	addF(simdPackage, "LoadUint32x4Array", simdLoad(), sys.ARM64)
   523  	addF(simdPackage, "Uint32x4.StoreArray", simdStore(), sys.ARM64)
   524  	addF(simdPackage, "LoadUint64x2Array", simdLoad(), sys.ARM64)
   525  	addF(simdPackage, "Uint64x2.StoreArray", simdStore(), sys.ARM64)
   526  	addF(simdPackage, "Mask8x16.ToInt8x16", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   527  	addF(simdPackage, "Int8x16.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   528  	addF(simdPackage, "Mask8x16.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   529  	addF(simdPackage, "Mask8x16.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   530  	addF(simdPackage, "Mask8x16.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   531  	addF(simdPackage, "Mask16x8.ToInt16x8", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   532  	addF(simdPackage, "Int16x8.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   533  	addF(simdPackage, "Mask16x8.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   534  	addF(simdPackage, "Mask16x8.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   535  	addF(simdPackage, "Mask16x8.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   536  	addF(simdPackage, "Mask32x4.ToInt32x4", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   537  	addF(simdPackage, "Int32x4.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   538  	addF(simdPackage, "Mask32x4.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   539  	addF(simdPackage, "Mask32x4.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   540  	addF(simdPackage, "Mask32x4.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   541  	addF(simdPackage, "Mask64x2.ToInt64x2", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   542  	addF(simdPackage, "Int64x2.asMask", func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value { return args[0] }, sys.ARM64)
   543  	addF(simdPackage, "Mask64x2.And", opLen2(ssa.OpAndInt32x4, types.TypeVec128), sys.ARM64)
   544  	addF(simdPackage, "Mask64x2.Or", opLen2(ssa.OpOrInt32x4, types.TypeVec128), sys.ARM64)
   545  	addF(simdPackage, "Mask64x2.Not", opLen1(ssa.OpNotInt32x4, types.TypeVec128), sys.ARM64)
   546  }
   547  

View as plain text