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

     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  (AddUint8x16 ...) => (I8x16Add ...)
    11  (AddInt16x8 ...) => (I16x8Add ...)
    12  (AddUint16x8 ...) => (I16x8Add ...)
    13  (AddInt32x4 ...) => (I32x4Add ...)
    14  (AddUint32x4 ...) => (I32x4Add ...)
    15  (AddFloat32x4 ...) => (F32x4Add ...)
    16  (AddInt64x2 ...) => (I64x2Add ...)
    17  (AddUint64x2 ...) => (I64x2Add ...)
    18  (AddFloat64x2 ...) => (F64x2Add ...)
    19  (AddSaturatedInt8x16 ...) => (I8x16AddSatS ...)
    20  (AddSaturatedUint8x16 ...) => (I8x16AddSatU ...)
    21  (AddSaturatedInt16x8 ...) => (I16x8AddSatS ...)
    22  (AddSaturatedUint16x8 ...) => (I16x8AddSatU ...)
    23  (AndInt8x16 ...) => (V128And ...)
    24  (AndUint8x16 ...) => (V128And ...)
    25  (AndInt16x8 ...) => (V128And ...)
    26  (AndUint16x8 ...) => (V128And ...)
    27  (AndInt32x4 ...) => (V128And ...)
    28  (AndUint32x4 ...) => (V128And ...)
    29  (AndInt64x2 ...) => (V128And ...)
    30  (AndUint64x2 ...) => (V128And ...)
    31  (AndNotInt8x16 ...) => (V128Andnot ...)
    32  (AndNotUint8x16 ...) => (V128Andnot ...)
    33  (AndNotInt16x8 ...) => (V128Andnot ...)
    34  (AndNotUint16x8 ...) => (V128Andnot ...)
    35  (AndNotInt32x4 ...) => (V128Andnot ...)
    36  (AndNotUint32x4 ...) => (V128Andnot ...)
    37  (AndNotInt64x2 ...) => (V128Andnot ...)
    38  (AndNotUint64x2 ...) => (V128Andnot ...)
    39  (AverageUint8x16 ...) => (I8x16AvgrU ...)
    40  (AverageUint16x8 ...) => (I16x8AvgrU ...)
    41  (BitSelectInt8x16 ...) => (V128Bitselect ...)
    42  (BitSelectUint8x16 ...) => (V128Bitselect ...)
    43  (BitSelectInt16x8 ...) => (V128Bitselect ...)
    44  (BitSelectUint16x8 ...) => (V128Bitselect ...)
    45  (BitSelectInt32x4 ...) => (V128Bitselect ...)
    46  (BitSelectUint32x4 ...) => (V128Bitselect ...)
    47  (BitSelectInt64x2 ...) => (V128Bitselect ...)
    48  (BitSelectUint64x2 ...) => (V128Bitselect ...)
    49  (CeilFloat32x4 ...) => (F32x4Ceil ...)
    50  (CeilFloat64x2 ...) => (F64x2Ceil ...)
    51  (ConvertLo2ToFloat64Int32x4 ...) => (F64x2ConvertLowI32x4S ...)
    52  (ConvertLo2ToFloat64Uint32x4 ...) => (F64x2ConvertLowI32x4U ...)
    53  (ConvertToFloat32Int32x4 ...) => (F32x4ConvertI32x4S ...)
    54  (ConvertToFloat32Uint32x4 ...) => (F32x4ConvertI32x4U ...)
    55  (ConvertToInt32Float32x4 ...) => (I32x4TruncSatF32x4S ...)
    56  (ConvertToUint32Float32x4 ...) => (I32x4TruncSatF32x4U ...)
    57  (DivFloat32x4 ...) => (F32x4Div ...)
    58  (DivFloat64x2 ...) => (F64x2Div ...)
    59  (EqualInt8x16 ...) => (I8x16Eq ...)
    60  (EqualUint8x16 ...) => (I8x16Eq ...)
    61  (EqualInt16x8 ...) => (I16x8Eq ...)
    62  (EqualUint16x8 ...) => (I16x8Eq ...)
    63  (EqualInt32x4 ...) => (I32x4Eq ...)
    64  (EqualUint32x4 ...) => (I32x4Eq ...)
    65  (EqualFloat32x4 ...) => (F32x4Eq ...)
    66  (EqualInt64x2 ...) => (I64x2Eq ...)
    67  (EqualUint64x2 ...) => (I64x2Eq ...)
    68  (EqualFloat64x2 ...) => (F64x2Eq ...)
    69  (ExtendHi2ToInt64Int32x4 ...) => (I64x2ExtendHighI32x4S ...)
    70  (ExtendHi2ToUint64Uint32x4 ...) => (I64x2ExtendHighI32x4U ...)
    71  (ExtendHi4ToInt32Int16x8 ...) => (I32x4ExtendHighI16x8S ...)
    72  (ExtendHi4ToUint32Uint16x8 ...) => (I32x4ExtendHighI16x8U ...)
    73  (ExtendHi8ToInt16Int8x16 ...) => (I16x8ExtendHighI8x16S ...)
    74  (ExtendHi8ToUint16Uint8x16 ...) => (I16x8ExtendHighI8x16U ...)
    75  (ExtendLo2ToInt64Int32x4 ...) => (I64x2ExtendLowI32x4S ...)
    76  (ExtendLo2ToUint64Uint32x4 ...) => (I64x2ExtendLowI32x4U ...)
    77  (ExtendLo4ToInt32Int16x8 ...) => (I32x4ExtendLowI16x8S ...)
    78  (ExtendLo4ToUint32Uint16x8 ...) => (I32x4ExtendLowI16x8U ...)
    79  (ExtendLo8ToInt16Int8x16 ...) => (I16x8ExtendLowI8x16S ...)
    80  (ExtendLo8ToUint16Uint8x16 ...) => (I16x8ExtendLowI8x16U ...)
    81  (FloorFloat32x4 ...) => (F32x4Floor ...)
    82  (FloorFloat64x2 ...) => (F64x2Floor ...)
    83  (GetElemInt8x16 ...) => (I8x16ExtractLaneS ...)
    84  (GetElemUint8x16 ...) => (I8x16ExtractLaneU ...)
    85  (GetElemInt16x8 ...) => (I16x8ExtractLaneS ...)
    86  (GetElemUint16x8 ...) => (I16x8ExtractLaneU ...)
    87  (GetElemInt32x4 ...) => (I32x4ExtractLane ...)
    88  (GetElemUint32x4 ...) => (I32x4ExtractLane ...)
    89  (GetElemFloat32x4 ...) => (F32x4ExtractLane ...)
    90  (GetElemInt64x2 ...) => (I64x2ExtractLane ...)
    91  (GetElemUint64x2 ...) => (I64x2ExtractLane ...)
    92  (GetElemFloat64x2 ...) => (F64x2ExtractLane ...)
    93  (GreaterInt8x16 ...) => (I8x16GtS ...)
    94  (GreaterUint8x16 ...) => (I8x16GtU ...)
    95  (GreaterInt16x8 ...) => (I16x8GtS ...)
    96  (GreaterUint16x8 ...) => (I16x8GtU ...)
    97  (GreaterInt32x4 ...) => (I32x4GtS ...)
    98  (GreaterUint32x4 ...) => (I32x4GtU ...)
    99  (GreaterFloat32x4 ...) => (F32x4Gt ...)
   100  (GreaterInt64x2 ...) => (I64x2GtS ...)
   101  (GreaterFloat64x2 ...) => (F64x2Gt ...)
   102  (GreaterEqualInt8x16 ...) => (I8x16GeS ...)
   103  (GreaterEqualUint8x16 ...) => (I8x16GeU ...)
   104  (GreaterEqualInt16x8 ...) => (I16x8GeS ...)
   105  (GreaterEqualUint16x8 ...) => (I16x8GeU ...)
   106  (GreaterEqualInt32x4 ...) => (I32x4GeS ...)
   107  (GreaterEqualUint32x4 ...) => (I32x4GeU ...)
   108  (GreaterEqualFloat32x4 ...) => (F32x4Ge ...)
   109  (GreaterEqualInt64x2 ...) => (I64x2GeS ...)
   110  (GreaterEqualFloat64x2 ...) => (F64x2Ge ...)
   111  (LessInt8x16 ...) => (I8x16LtS ...)
   112  (LessUint8x16 ...) => (I8x16LtU ...)
   113  (LessInt16x8 ...) => (I16x8LtS ...)
   114  (LessUint16x8 ...) => (I16x8LtU ...)
   115  (LessInt32x4 ...) => (I32x4LtS ...)
   116  (LessUint32x4 ...) => (I32x4LtU ...)
   117  (LessFloat32x4 ...) => (F32x4Lt ...)
   118  (LessInt64x2 ...) => (I64x2LtS ...)
   119  (LessFloat64x2 ...) => (F64x2Lt ...)
   120  (LessEqualInt8x16 ...) => (I8x16LeS ...)
   121  (LessEqualUint8x16 ...) => (I8x16LeU ...)
   122  (LessEqualInt16x8 ...) => (I16x8LeS ...)
   123  (LessEqualUint16x8 ...) => (I16x8LeU ...)
   124  (LessEqualInt32x4 ...) => (I32x4LeS ...)
   125  (LessEqualUint32x4 ...) => (I32x4LeU ...)
   126  (LessEqualFloat32x4 ...) => (F32x4Le ...)
   127  (LessEqualInt64x2 ...) => (I64x2LeS ...)
   128  (LessEqualFloat64x2 ...) => (F64x2Le ...)
   129  (LookupOrZeroInt8x16 ...) => (I8x16Swizzle ...)
   130  (MaxInt8x16 ...) => (I8x16MaxS ...)
   131  (MaxUint8x16 ...) => (I8x16MaxU ...)
   132  (MaxInt16x8 ...) => (I16x8MaxS ...)
   133  (MaxUint16x8 ...) => (I16x8MaxU ...)
   134  (MaxInt32x4 ...) => (I32x4MaxS ...)
   135  (MaxUint32x4 ...) => (I32x4MaxU ...)
   136  (MaxFloat32x4 ...) => (F32x4Max ...)
   137  (MaxFloat64x2 ...) => (F64x2Max ...)
   138  (MinInt8x16 ...) => (I8x16MinS ...)
   139  (MinUint8x16 ...) => (I8x16MinU ...)
   140  (MinInt16x8 ...) => (I16x8MinS ...)
   141  (MinUint16x8 ...) => (I16x8MinU ...)
   142  (MinInt32x4 ...) => (I32x4MinS ...)
   143  (MinUint32x4 ...) => (I32x4MinU ...)
   144  (MinFloat32x4 ...) => (F32x4Min ...)
   145  (MinFloat64x2 ...) => (F64x2Min ...)
   146  (MulInt16x8 ...) => (I16x8Mul ...)
   147  (MulUint16x8 ...) => (I16x8Mul ...)
   148  (MulInt32x4 ...) => (I32x4Mul ...)
   149  (MulUint32x4 ...) => (I32x4Mul ...)
   150  (MulFloat32x4 ...) => (F32x4Mul ...)
   151  (MulInt64x2 ...) => (I64x2Mul ...)
   152  (MulUint64x2 ...) => (I64x2Mul ...)
   153  (MulFloat64x2 ...) => (F64x2Mul ...)
   154  (MulAddFloat32x4 ...) => (F32x4RelaxedMadd ...)
   155  (MulAddFloat64x2 ...) => (F64x2RelaxedMadd ...)
   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  (SubUint8x16 ...) => (I8x16Sub ...)
   297  (SubInt16x8 ...) => (I16x8Sub ...)
   298  (SubUint16x8 ...) => (I16x8Sub ...)
   299  (SubInt32x4 ...) => (I32x4Sub ...)
   300  (SubUint32x4 ...) => (I32x4Sub ...)
   301  (SubFloat32x4 ...) => (F32x4Sub ...)
   302  (SubInt64x2 ...) => (I64x2Sub ...)
   303  (SubUint64x2 ...) => (I64x2Sub ...)
   304  (SubFloat64x2 ...) => (F64x2Sub ...)
   305  (SubSaturatedInt8x16 ...) => (I8x16SubSatS ...)
   306  (SubSaturatedUint8x16 ...) => (I8x16SubSatU ...)
   307  (SubSaturatedInt16x8 ...) => (I16x8SubSatS ...)
   308  (SubSaturatedUint16x8 ...) => (I16x8SubSatU ...)
   309  (TruncFloat32x4 ...) => (F32x4Trunc ...)
   310  (TruncFloat64x2 ...) => (F64x2Trunc ...)
   311  (XorInt8x16 ...) => (V128Xor ...)
   312  (XorUint8x16 ...) => (V128Xor ...)
   313  (XorInt16x8 ...) => (V128Xor ...)
   314  (XorUint16x8 ...) => (V128Xor ...)
   315  (XorInt32x4 ...) => (V128Xor ...)
   316  (XorUint32x4 ...) => (V128Xor ...)
   317  (XorInt64x2 ...) => (V128Xor ...)
   318  (XorUint64x2 ...) => (V128Xor ...)
   319  

View as plain text