...

Text file src/cmd/compile/internal/ssa/_gen/simdWasm.rules

Documentation: cmd/compile/internal/ssa/_gen

     1// Code generated by 'wasmgen'; DO NOT EDIT.
     2
     3(AbsInt8x16 ...) => (I8x16Abs ...)
     4(AbsInt16x8 ...) => (I16x8Abs ...)
     5(AbsInt32x4 ...) => (I32x4Abs ...)
     6(AbsFloat32x4 ...) => (F32x4Abs ...)
     7(AbsInt64x2 ...) => (I64x2Abs ...)
     8(AbsFloat64x2 ...) => (F64x2Abs ...)
     9(AddInt8x16 ...) => (I8x16Add ...)
    10(AddInt16x8 ...) => (I16x8Add ...)
    11(AddInt32x4 ...) => (I32x4Add ...)
    12(AddFloat32x4 ...) => (F32x4Add ...)
    13(AddInt64x2 ...) => (I64x2Add ...)
    14(AddFloat64x2 ...) => (F64x2Add ...)
    15(AddSaturatedInt8x16 ...) => (I8x16AddSatS ...)
    16(AddSaturatedUint8x16 ...) => (I8x16AddSatU ...)
    17(AddSaturatedInt16x8 ...) => (I16x8AddSatS ...)
    18(AddSaturatedUint16x8 ...) => (I16x8AddSatU ...)
    19(AndInt8x16 ...) => (V128And ...)
    20(AndUint8x16 ...) => (V128And ...)
    21(AndInt16x8 ...) => (V128And ...)
    22(AndUint16x8 ...) => (V128And ...)
    23(AndInt32x4 ...) => (V128And ...)
    24(AndUint32x4 ...) => (V128And ...)
    25(AndInt64x2 ...) => (V128And ...)
    26(AndUint64x2 ...) => (V128And ...)
    27(AndNotInt8x16 ...) => (V128Andnot ...)
    28(AndNotUint8x16 ...) => (V128Andnot ...)
    29(AndNotInt16x8 ...) => (V128Andnot ...)
    30(AndNotUint16x8 ...) => (V128Andnot ...)
    31(AndNotInt32x4 ...) => (V128Andnot ...)
    32(AndNotUint32x4 ...) => (V128Andnot ...)
    33(AndNotInt64x2 ...) => (V128Andnot ...)
    34(AndNotUint64x2 ...) => (V128Andnot ...)
    35(AverageUint8x16 ...) => (I8x16AvgrU ...)
    36(AverageUint16x8 ...) => (I16x8AvgrU ...)
    37(BitSelectInt8x16 ...) => (V128Bitselect ...)
    38(BitSelectUint8x16 ...) => (V128Bitselect ...)
    39(BitSelectInt16x8 ...) => (V128Bitselect ...)
    40(BitSelectUint16x8 ...) => (V128Bitselect ...)
    41(BitSelectInt32x4 ...) => (V128Bitselect ...)
    42(BitSelectUint32x4 ...) => (V128Bitselect ...)
    43(BitSelectInt64x2 ...) => (V128Bitselect ...)
    44(BitSelectUint64x2 ...) => (V128Bitselect ...)
    45(BroadcastInt8x16 ...) => (I8x16Splat ...)
    46(BroadcastInt16x8 ...) => (I16x8Splat ...)
    47(BroadcastInt32x4 ...) => (I32x4Splat ...)
    48(BroadcastFloat32x4 ...) => (F32x4Splat ...)
    49(BroadcastInt64x2 ...) => (I64x2Splat ...)
    50(BroadcastFloat64x2 ...) => (F64x2Splat ...)
    51(CeilFloat32x4 ...) => (F32x4Ceil ...)
    52(CeilFloat64x2 ...) => (F64x2Ceil ...)
    53(ConvertLo2ToFloat64Int32x4 ...) => (F64x2ConvertLowI32x4S ...)
    54(ConvertLo2ToFloat64Uint32x4 ...) => (F64x2ConvertLowI32x4U ...)
    55(ConvertToFloat32Int32x4 ...) => (F32x4ConvertI32x4S ...)
    56(ConvertToFloat32Uint32x4 ...) => (F32x4ConvertI32x4U ...)
    57(ConvertToInt32Float32x4 ...) => (I32x4TruncSatF32x4S ...)
    58(ConvertToUint32Float32x4 ...) => (I32x4TruncSatF32x4U ...)
    59(DivFloat32x4 ...) => (F32x4Div ...)
    60(DivFloat64x2 ...) => (F64x2Div ...)
    61(EqualInt8x16 ...) => (I8x16Eq ...)
    62(EqualUint8x16 ...) => (I8x16Eq ...)
    63(EqualInt16x8 ...) => (I16x8Eq ...)
    64(EqualUint16x8 ...) => (I16x8Eq ...)
    65(EqualInt32x4 ...) => (I32x4Eq ...)
    66(EqualUint32x4 ...) => (I32x4Eq ...)
    67(EqualFloat32x4 ...) => (F32x4Eq ...)
    68(EqualInt64x2 ...) => (I64x2Eq ...)
    69(EqualUint64x2 ...) => (I64x2Eq ...)
    70(EqualFloat64x2 ...) => (F64x2Eq ...)
    71(ExtendHi2ToInt64Int32x4 ...) => (I64x2ExtendHighI32x4S ...)
    72(ExtendHi2ToUint64Uint32x4 ...) => (I64x2ExtendHighI32x4U ...)
    73(ExtendHi4ToInt32Int16x8 ...) => (I32x4ExtendHighI16x8S ...)
    74(ExtendHi4ToUint32Uint16x8 ...) => (I32x4ExtendHighI16x8U ...)
    75(ExtendHi8ToInt16Int8x16 ...) => (I16x8ExtendHighI8x16S ...)
    76(ExtendHi8ToUint16Uint8x16 ...) => (I16x8ExtendHighI8x16U ...)
    77(ExtendLo2ToInt64Int32x4 ...) => (I64x2ExtendLowI32x4S ...)
    78(ExtendLo2ToUint64Uint32x4 ...) => (I64x2ExtendLowI32x4U ...)
    79(ExtendLo4ToInt32Int16x8 ...) => (I32x4ExtendLowI16x8S ...)
    80(ExtendLo4ToUint32Uint16x8 ...) => (I32x4ExtendLowI16x8U ...)
    81(ExtendLo8ToInt16Int8x16 ...) => (I16x8ExtendLowI8x16S ...)
    82(ExtendLo8ToUint16Uint8x16 ...) => (I16x8ExtendLowI8x16U ...)
    83(FloorFloat32x4 ...) => (F32x4Floor ...)
    84(FloorFloat64x2 ...) => (F64x2Floor ...)
    85(GetElemInt8x16 ...) => (I8x16ExtractLaneS ...)
    86(GetElemUint8x16 ...) => (I8x16ExtractLaneU ...)
    87(GetElemInt16x8 ...) => (I16x8ExtractLaneS ...)
    88(GetElemUint16x8 ...) => (I16x8ExtractLaneU ...)
    89(GetElemInt32x4 ...) => (I32x4ExtractLane ...)
    90(GetElemUint32x4 ...) => (I32x4ExtractLane ...)
    91(GetElemFloat32x4 ...) => (F32x4ExtractLane ...)
    92(GetElemInt64x2 ...) => (I64x2ExtractLane ...)
    93(GetElemUint64x2 ...) => (I64x2ExtractLane ...)
    94(GetElemFloat64x2 ...) => (F64x2ExtractLane ...)
    95(GreaterInt8x16 ...) => (I8x16GtS ...)
    96(GreaterUint8x16 ...) => (I8x16GtU ...)
    97(GreaterInt16x8 ...) => (I16x8GtS ...)
    98(GreaterUint16x8 ...) => (I16x8GtU ...)
    99(GreaterInt32x4 ...) => (I32x4GtS ...)
   100(GreaterUint32x4 ...) => (I32x4GtU ...)
   101(GreaterFloat32x4 ...) => (F32x4Gt ...)
   102(GreaterInt64x2 ...) => (I64x2GtS ...)
   103(GreaterFloat64x2 ...) => (F64x2Gt ...)
   104(GreaterEqualInt8x16 ...) => (I8x16GeS ...)
   105(GreaterEqualUint8x16 ...) => (I8x16GeU ...)
   106(GreaterEqualInt16x8 ...) => (I16x8GeS ...)
   107(GreaterEqualUint16x8 ...) => (I16x8GeU ...)
   108(GreaterEqualInt32x4 ...) => (I32x4GeS ...)
   109(GreaterEqualUint32x4 ...) => (I32x4GeU ...)
   110(GreaterEqualFloat32x4 ...) => (F32x4Ge ...)
   111(GreaterEqualInt64x2 ...) => (I64x2GeS ...)
   112(GreaterEqualFloat64x2 ...) => (F64x2Ge ...)
   113(LessInt8x16 ...) => (I8x16LtS ...)
   114(LessUint8x16 ...) => (I8x16LtU ...)
   115(LessInt16x8 ...) => (I16x8LtS ...)
   116(LessUint16x8 ...) => (I16x8LtU ...)
   117(LessInt32x4 ...) => (I32x4LtS ...)
   118(LessUint32x4 ...) => (I32x4LtU ...)
   119(LessFloat32x4 ...) => (F32x4Lt ...)
   120(LessInt64x2 ...) => (I64x2LtS ...)
   121(LessFloat64x2 ...) => (F64x2Lt ...)
   122(LessEqualInt8x16 ...) => (I8x16LeS ...)
   123(LessEqualUint8x16 ...) => (I8x16LeU ...)
   124(LessEqualInt16x8 ...) => (I16x8LeS ...)
   125(LessEqualUint16x8 ...) => (I16x8LeU ...)
   126(LessEqualInt32x4 ...) => (I32x4LeS ...)
   127(LessEqualUint32x4 ...) => (I32x4LeU ...)
   128(LessEqualFloat32x4 ...) => (F32x4Le ...)
   129(LessEqualInt64x2 ...) => (I64x2LeS ...)
   130(LessEqualFloat64x2 ...) => (F64x2Le ...)
   131(LookupOrZeroInt8x16 ...) => (I8x16Swizzle ...)
   132(MaxInt8x16 ...) => (I8x16MaxS ...)
   133(MaxUint8x16 ...) => (I8x16MaxU ...)
   134(MaxInt16x8 ...) => (I16x8MaxS ...)
   135(MaxUint16x8 ...) => (I16x8MaxU ...)
   136(MaxInt32x4 ...) => (I32x4MaxS ...)
   137(MaxUint32x4 ...) => (I32x4MaxU ...)
   138(MaxFloat32x4 ...) => (F32x4Max ...)
   139(MaxFloat64x2 ...) => (F64x2Max ...)
   140(MinInt8x16 ...) => (I8x16MinS ...)
   141(MinUint8x16 ...) => (I8x16MinU ...)
   142(MinInt16x8 ...) => (I16x8MinS ...)
   143(MinUint16x8 ...) => (I16x8MinU ...)
   144(MinInt32x4 ...) => (I32x4MinS ...)
   145(MinUint32x4 ...) => (I32x4MinU ...)
   146(MinFloat32x4 ...) => (F32x4Min ...)
   147(MinFloat64x2 ...) => (F64x2Min ...)
   148(MulInt16x8 ...) => (I16x8Mul ...)
   149(MulUint16x8 ...) => (I16x8Mul ...)
   150(MulInt32x4 ...) => (I32x4Mul ...)
   151(MulUint32x4 ...) => (I32x4Mul ...)
   152(MulFloat32x4 ...) => (F32x4Mul ...)
   153(MulInt64x2 ...) => (I64x2Mul ...)
   154(MulUint64x2 ...) => (I64x2Mul ...)
   155(MulFloat64x2 ...) => (F64x2Mul ...)
   156(MulWidenHiInt8x16 ...) => (I16x8ExtmulHighI8x16S ...)
   157(MulWidenHiUint8x16 ...) => (I16x8ExtmulHighI8x16U ...)
   158(MulWidenHiInt16x8 ...) => (I32x4ExtmulHighI16x8S ...)
   159(MulWidenHiUint16x8 ...) => (I32x4ExtmulHighI16x8U ...)
   160(MulWidenHiInt32x4 ...) => (I64x2ExtmulHighI32x4S ...)
   161(MulWidenHiUint32x4 ...) => (I64x2ExtmulHighI32x4U ...)
   162(MulWidenLoInt8x16 ...) => (I16x8ExtmulLowI8x16S ...)
   163(MulWidenLoUint8x16 ...) => (I16x8ExtmulLowI8x16U ...)
   164(MulWidenLoInt16x8 ...) => (I32x4ExtmulLowI16x8S ...)
   165(MulWidenLoUint16x8 ...) => (I32x4ExtmulLowI16x8U ...)
   166(MulWidenLoInt32x4 ...) => (I64x2ExtmulLowI32x4S ...)
   167(MulWidenLoUint32x4 ...) => (I64x2ExtmulLowI32x4U ...)
   168(NegInt8x16 ...) => (I8x16Neg ...)
   169(NegInt16x8 ...) => (I16x8Neg ...)
   170(NegInt32x4 ...) => (I32x4Neg ...)
   171(NegFloat32x4 ...) => (F32x4Neg ...)
   172(NegInt64x2 ...) => (I64x2Neg ...)
   173(NegFloat64x2 ...) => (F64x2Neg ...)
   174(NotInt8x16 ...) => (V128Not ...)
   175(NotUint8x16 ...) => (V128Not ...)
   176(NotInt16x8 ...) => (V128Not ...)
   177(NotUint16x8 ...) => (V128Not ...)
   178(NotInt32x4 ...) => (V128Not ...)
   179(NotUint32x4 ...) => (V128Not ...)
   180(NotInt64x2 ...) => (V128Not ...)
   181(NotUint64x2 ...) => (V128Not ...)
   182(NotEqualInt8x16 ...) => (I8x16Ne ...)
   183(NotEqualUint8x16 ...) => (I8x16Ne ...)
   184(NotEqualInt16x8 ...) => (I16x8Ne ...)
   185(NotEqualUint16x8 ...) => (I16x8Ne ...)
   186(NotEqualInt32x4 ...) => (I32x4Ne ...)
   187(NotEqualUint32x4 ...) => (I32x4Ne ...)
   188(NotEqualFloat32x4 ...) => (F32x4Ne ...)
   189(NotEqualInt64x2 ...) => (I64x2Ne ...)
   190(NotEqualUint64x2 ...) => (I64x2Ne ...)
   191(NotEqualFloat64x2 ...) => (F64x2Ne ...)
   192(OnesCountInt8x16 ...) => (I8x16Popcnt ...)
   193(OrInt8x16 ...) => (V128Or ...)
   194(OrUint8x16 ...) => (V128Or ...)
   195(OrInt16x8 ...) => (V128Or ...)
   196(OrUint16x8 ...) => (V128Or ...)
   197(OrInt32x4 ...) => (V128Or ...)
   198(OrUint32x4 ...) => (V128Or ...)
   199(OrInt64x2 ...) => (V128Or ...)
   200(OrUint64x2 ...) => (V128Or ...)
   201(RotateAllLeftVarInt8x16 x y) => (V128Or (I8x16Shl x y) (I8x16ShrU x (I64Sub (I64Const [8]) y)))
   202(RotateAllLeftVarUint8x16 x y) => (V128Or (I8x16Shl x y) (I8x16ShrU x (I64Sub (I64Const [8]) y)))
   203(RotateAllLeftVarInt16x8 x y) => (V128Or (I16x8Shl x y) (I16x8ShrU x (I64Sub (I64Const [16]) y)))
   204(RotateAllLeftVarUint16x8 x y) => (V128Or (I16x8Shl x y) (I16x8ShrU x (I64Sub (I64Const [16]) y)))
   205(RotateAllLeftVarInt32x4 x y) => (V128Or (I32x4Shl x y) (I32x4ShrU x (I64Sub (I64Const [32]) y)))
   206(RotateAllLeftVarUint32x4 x y) => (V128Or (I32x4Shl x y) (I32x4ShrU x (I64Sub (I64Const [32]) y)))
   207(RotateAllLeftVarInt64x2 x y) => (V128Or (I64x2Shl x y) (I64x2ShrU x (I64Sub (I64Const [64]) y)))
   208(RotateAllLeftVarUint64x2 x y) => (V128Or (I64x2Shl x y) (I64x2ShrU x (I64Sub (I64Const [64]) y)))
   209(RotateAllRightVarInt8x16 x y) => (V128Or (I8x16ShrU x y) (I8x16Shl x (I64Sub (I64Const [8]) y)))
   210(RotateAllRightVarUint8x16 x y) => (V128Or (I8x16ShrU x y) (I8x16Shl x (I64Sub (I64Const [8]) y)))
   211(RotateAllRightVarInt16x8 x y) => (V128Or (I16x8ShrU x y) (I16x8Shl x (I64Sub (I64Const [16]) y)))
   212(RotateAllRightVarUint16x8 x y) => (V128Or (I16x8ShrU x y) (I16x8Shl x (I64Sub (I64Const [16]) y)))
   213(RotateAllRightVarInt32x4 x y) => (V128Or (I32x4ShrU x y) (I32x4Shl x (I64Sub (I64Const [32]) y)))
   214(RotateAllRightVarUint32x4 x y) => (V128Or (I32x4ShrU x y) (I32x4Shl x (I64Sub (I64Const [32]) y)))
   215(RotateAllRightVarInt64x2 x y) => (V128Or (I64x2ShrU x y) (I64x2Shl x (I64Sub (I64Const [64]) y)))
   216(RotateAllRightVarUint64x2 x y) => (V128Or (I64x2ShrU x y) (I64x2Shl x (I64Sub (I64Const [64]) y)))
   217(RoundFloat32x4 ...) => (F32x4Nearest ...)
   218(RoundFloat64x2 ...) => (F64x2Nearest ...)
   219(SetElemInt8x16 ...) => (I8x16ReplaceLane ...)
   220(SetElemUint8x16 ...) => (I8x16ReplaceLane ...)
   221(SetElemInt16x8 ...) => (I16x8ReplaceLane ...)
   222(SetElemUint16x8 ...) => (I16x8ReplaceLane ...)
   223(SetElemInt32x4 ...) => (I32x4ReplaceLane ...)
   224(SetElemUint32x4 ...) => (I32x4ReplaceLane ...)
   225(SetElemFloat32x4 ...) => (F32x4ReplaceLane ...)
   226(SetElemInt64x2 ...) => (I64x2ReplaceLane ...)
   227(SetElemUint64x2 ...) => (I64x2ReplaceLane ...)
   228(SetElemFloat64x2 ...) => (F64x2ReplaceLane ...)
   229(ShiftAllLeftInt8x16 x d:(Const64 [c])) && uint64(c) < 8 => (I8x16Shl x (I64Const [c]))
   230(ShiftAllLeftInt8x16 x d:(I64Const [c])) && uint64(c) < 8 => (I8x16Shl x d)
   231// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   232(ShiftAllLeftInt8x16 x y) => (SelectV (I8x16Shl x y) (V128Xor x x) (I64LtU y (I64Const [8])))
   233(ShiftAllLeftUint8x16 x d:(Const64 [c])) && uint64(c) < 8 => (I8x16Shl x (I64Const [c]))
   234(ShiftAllLeftUint8x16 x d:(I64Const [c])) && uint64(c) < 8 => (I8x16Shl x d)
   235// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   236(ShiftAllLeftUint8x16 x y) => (SelectV (I8x16Shl x y) (V128Xor x x) (I64LtU y (I64Const [8])))
   237(ShiftAllLeftInt16x8 x d:(Const64 [c])) && uint64(c) < 16 => (I16x8Shl x (I64Const [c]))
   238(ShiftAllLeftInt16x8 x d:(I64Const [c])) && uint64(c) < 16 => (I16x8Shl x d)
   239// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   240(ShiftAllLeftInt16x8 x y) => (SelectV (I16x8Shl x y) (V128Xor x x) (I64LtU y (I64Const [16])))
   241(ShiftAllLeftUint16x8 x d:(Const64 [c])) && uint64(c) < 16 => (I16x8Shl x (I64Const [c]))
   242(ShiftAllLeftUint16x8 x d:(I64Const [c])) && uint64(c) < 16 => (I16x8Shl x d)
   243// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   244(ShiftAllLeftUint16x8 x y) => (SelectV (I16x8Shl x y) (V128Xor x x) (I64LtU y (I64Const [16])))
   245(ShiftAllLeftInt32x4 x d:(Const64 [c])) && uint64(c) < 32 => (I32x4Shl x (I64Const [c]))
   246(ShiftAllLeftInt32x4 x d:(I64Const [c])) && uint64(c) < 32 => (I32x4Shl x d)
   247// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   248(ShiftAllLeftInt32x4 x y) => (SelectV (I32x4Shl x y) (V128Xor x x) (I64LtU y (I64Const [32])))
   249(ShiftAllLeftUint32x4 x d:(Const64 [c])) && uint64(c) < 32 => (I32x4Shl x (I64Const [c]))
   250(ShiftAllLeftUint32x4 x d:(I64Const [c])) && uint64(c) < 32 => (I32x4Shl x d)
   251// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   252(ShiftAllLeftUint32x4 x y) => (SelectV (I32x4Shl x y) (V128Xor x x) (I64LtU y (I64Const [32])))
   253(ShiftAllLeftInt64x2 x d:(Const64 [c])) && uint64(c) < 64 => (I64x2Shl x (I64Const [c]))
   254(ShiftAllLeftInt64x2 x d:(I64Const [c])) && uint64(c) < 64 => (I64x2Shl x d)
   255// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   256(ShiftAllLeftInt64x2 x y) => (SelectV (I64x2Shl x y) (V128Xor x x) (I64LtU y (I64Const [64])))
   257(ShiftAllLeftUint64x2 x d:(Const64 [c])) && uint64(c) < 64 => (I64x2Shl x (I64Const [c]))
   258(ShiftAllLeftUint64x2 x d:(I64Const [c])) && uint64(c) < 64 => (I64x2Shl x d)
   259// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   260(ShiftAllLeftUint64x2 x y) => (SelectV (I64x2Shl x y) (V128Xor x x) (I64LtU y (I64Const [64])))
   261(ShiftAllRightInt8x16 x d:(Const64 [c])) && uint64(c) < 8 => (I8x16ShrS x (I64Const [c]))
   262(ShiftAllRightInt8x16 x d:(I64Const [c])) && uint64(c) < 8 => (I8x16ShrS x d)
   263// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   264(ShiftAllRightInt8x16 x y) => (SelectV (I8x16ShrS x y) (I8x16ShrS x (I64Const [7])) (I64LtU y (I64Const [8])))
   265(ShiftAllRightUint8x16 x d:(Const64 [c])) && uint64(c) < 8 => (I8x16ShrU x (I64Const [c]))
   266(ShiftAllRightUint8x16 x d:(I64Const [c])) && uint64(c) < 8 => (I8x16ShrU x d)
   267// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   268(ShiftAllRightUint8x16 x y) => (SelectV (I8x16ShrU x y) (V128Xor x x) (I64LtU y (I64Const [8])))
   269(ShiftAllRightInt16x8 x d:(Const64 [c])) && uint64(c) < 16 => (I16x8ShrS x (I64Const [c]))
   270(ShiftAllRightInt16x8 x d:(I64Const [c])) && uint64(c) < 16 => (I16x8ShrS x d)
   271// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   272(ShiftAllRightInt16x8 x y) => (SelectV (I16x8ShrS x y) (I16x8ShrS x (I64Const [15])) (I64LtU y (I64Const [16])))
   273(ShiftAllRightUint16x8 x d:(Const64 [c])) && uint64(c) < 16 => (I16x8ShrU x (I64Const [c]))
   274(ShiftAllRightUint16x8 x d:(I64Const [c])) && uint64(c) < 16 => (I16x8ShrU x d)
   275// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   276(ShiftAllRightUint16x8 x y) => (SelectV (I16x8ShrU x y) (V128Xor x x) (I64LtU y (I64Const [16])))
   277(ShiftAllRightInt32x4 x d:(Const64 [c])) && uint64(c) < 32 => (I32x4ShrS x (I64Const [c]))
   278(ShiftAllRightInt32x4 x d:(I64Const [c])) && uint64(c) < 32 => (I32x4ShrS x d)
   279// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   280(ShiftAllRightInt32x4 x y) => (SelectV (I32x4ShrS x y) (I32x4ShrS x (I64Const [31])) (I64LtU y (I64Const [32])))
   281(ShiftAllRightUint32x4 x d:(Const64 [c])) && uint64(c) < 32 => (I32x4ShrU x (I64Const [c]))
   282(ShiftAllRightUint32x4 x d:(I64Const [c])) && uint64(c) < 32 => (I32x4ShrU x d)
   283// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   284(ShiftAllRightUint32x4 x y) => (SelectV (I32x4ShrU x y) (V128Xor x x) (I64LtU y (I64Const [32])))
   285(ShiftAllRightInt64x2 x d:(Const64 [c])) && uint64(c) < 64 => (I64x2ShrS x (I64Const [c]))
   286(ShiftAllRightInt64x2 x d:(I64Const [c])) && uint64(c) < 64 => (I64x2ShrS x d)
   287// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   288(ShiftAllRightInt64x2 x y) => (SelectV (I64x2ShrS x y) (I64x2ShrS x (I64Const [63])) (I64LtU y (I64Const [64])))
   289(ShiftAllRightUint64x2 x d:(Const64 [c])) && uint64(c) < 64 => (I64x2ShrU x (I64Const [c]))
   290(ShiftAllRightUint64x2 x d:(I64Const [c])) && uint64(c) < 64 => (I64x2ShrU x d)
   291// TODO need to do 'shiftIsBounded' for WASM SIMD Shifts
   292(ShiftAllRightUint64x2 x y) => (SelectV (I64x2ShrU x y) (V128Xor x x) (I64LtU y (I64Const [64])))
   293(SqrtFloat32x4 ...) => (F32x4Sqrt ...)
   294(SqrtFloat64x2 ...) => (F64x2Sqrt ...)
   295(SubInt8x16 ...) => (I8x16Sub ...)
   296(SubInt16x8 ...) => (I16x8Sub ...)
   297(SubInt32x4 ...) => (I32x4Sub ...)
   298(SubFloat32x4 ...) => (F32x4Sub ...)
   299(SubInt64x2 ...) => (I64x2Sub ...)
   300(SubFloat64x2 ...) => (F64x2Sub ...)
   301(SubSaturatedInt8x16 ...) => (I8x16SubSatS ...)
   302(SubSaturatedUint8x16 ...) => (I8x16SubSatU ...)
   303(SubSaturatedInt16x8 ...) => (I16x8SubSatS ...)
   304(SubSaturatedUint16x8 ...) => (I16x8SubSatU ...)
   305(TruncFloat32x4 ...) => (F32x4Trunc ...)
   306(TruncFloat64x2 ...) => (F64x2Trunc ...)
   307(XorInt8x16 ...) => (V128Xor ...)
   308(XorUint8x16 ...) => (V128Xor ...)
   309(XorInt16x8 ...) => (V128Xor ...)
   310(XorUint16x8 ...) => (V128Xor ...)
   311(XorInt32x4 ...) => (V128Xor ...)
   312(XorUint32x4 ...) => (V128Xor ...)
   313(XorInt64x2 ...) => (V128Xor ...)
   314(XorUint64x2 ...) => (V128Xor ...)

View as plain text