Lines Matching refs:lhs

726     SIMD_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs), (outs), (ins),
728 (setcc (vec.vt V128:$lhs), (vec.vt V128:$rhs), cond))],
729 vec.prefix#"."#name#"\t$dst, $lhs, $rhs",
793 def : Pat<(v4i32 (nodes[0] (v4f32 V128:$lhs), (v4f32 V128:$rhs))),
794 (nodes[1] $lhs, $rhs)>;
798 def : Pat<(v2i64 (nodes[0] (v2f64 V128:$lhs), (v2f64 V128:$rhs))),
799 (nodes[1] $lhs, $rhs)>;
807 defm _#vec : SIMD_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs),
810 (node (vec.vt V128:$lhs), (vec.vt V128:$rhs)))],
811 vec.prefix#"."#name#"\t$dst, $lhs, $rhs",
823 defm "" : SIMD_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs),
825 "v128."#name#"\t$dst, $lhs, $rhs", "v128."#name, simdop>;
827 def : Pat<(node (vec.vt V128:$lhs), (vec.vt V128:$rhs)),
828 (!cast<NI>(NAME) $lhs, $rhs)>;
898 I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs, I32:$cond), (outs), (ins), [],
899 "v128.select\t$dst, $lhs, $rhs, $cond", "v128.select", 0x1b>;
902 def : Pat<(select I32:$cond, (vec.vt V128:$lhs), (vec.vt V128:$rhs)),
903 (SELECT_V128 $lhs, $rhs, $cond)>;
909 (i32 (setne I32:$cond, 0)), (vec.vt V128:$lhs), (vec.vt V128:$rhs)),
910 (SELECT_V128 $lhs, $rhs, $cond)>;
914 (i32 (seteq I32:$cond, 0)), (vec.vt V128:$lhs), (vec.vt V128:$rhs)),
915 (SELECT_V128 $rhs, $lhs, $cond)>;
1028 def : Pat<(wasm_shl (v16i8 V128:$lhs), (and I32:$rhs, 7)),
1029 (SHL_I8x16 V128:$lhs, I32:$rhs)>;
1030 def : Pat<(wasm_shr_s (v16i8 V128:$lhs), (and I32:$rhs, 7)),
1031 (SHR_S_I8x16 V128:$lhs, I32:$rhs)>;
1032 def : Pat<(wasm_shr_u (v16i8 V128:$lhs), (and I32:$rhs, 7)),
1033 (SHR_U_I8x16 V128:$lhs, I32:$rhs)>;
1035 def : Pat<(wasm_shl (v8i16 V128:$lhs), (and I32:$rhs, 15)),
1036 (SHL_I16x8 V128:$lhs, I32:$rhs)>;
1037 def : Pat<(wasm_shr_s (v8i16 V128:$lhs), (and I32:$rhs, 15)),
1038 (SHR_S_I16x8 V128:$lhs, I32:$rhs)>;
1039 def : Pat<(wasm_shr_u (v8i16 V128:$lhs), (and I32:$rhs, 15)),
1040 (SHR_U_I16x8 V128:$lhs, I32:$rhs)>;
1042 def : Pat<(wasm_shl (v4i32 V128:$lhs), (and I32:$rhs, 31)),
1043 (SHL_I32x4 V128:$lhs, I32:$rhs)>;
1044 def : Pat<(wasm_shr_s (v4i32 V128:$lhs), (and I32:$rhs, 31)),
1045 (SHR_S_I32x4 V128:$lhs, I32:$rhs)>;
1046 def : Pat<(wasm_shr_u (v4i32 V128:$lhs), (and I32:$rhs, 31)),
1047 (SHR_U_I32x4 V128:$lhs, I32:$rhs)>;
1049 def : Pat<(wasm_shl (v2i64 V128:$lhs), (and I32:$rhs, 63)),
1050 (SHL_I64x2 V128:$lhs, I32:$rhs)>;
1051 def : Pat<(wasm_shr_s (v2i64 V128:$lhs), (and I32:$rhs, 63)),
1052 (SHR_S_I64x2 V128:$lhs, I32:$rhs)>;
1053 def : Pat<(wasm_shr_u (v2i64 V128:$lhs), (and I32:$rhs, 63)),
1054 (SHR_U_I64x2 V128:$lhs, I32:$rhs)>;
1055 def : Pat<(wasm_shl (v2i64 V128:$lhs), (trunc (and I64:$rhs, 63))),
1056 (SHL_I64x2 V128:$lhs, (I32_WRAP_I64 I64:$rhs))>;
1057 def : Pat<(wasm_shr_s (v2i64 V128:$lhs), (trunc (and I64:$rhs, 63))),
1058 (SHR_S_I64x2 V128:$lhs, (I32_WRAP_I64 I64:$rhs))>;
1059 def : Pat<(wasm_shr_u (v2i64 V128:$lhs), (trunc (and I64:$rhs, 63))),
1060 (SHR_U_I64x2 V128:$lhs, (I32_WRAP_I64 I64:$rhs))>;
1119 def add_nuw : PatFrag<(ops node:$lhs, node:$rhs), (add $lhs, $rhs),
1126 (add_nuw (vec.vt V128:$lhs), (vec.vt V128:$rhs)),
1129 (inst $lhs, $rhs)>;
1134 defm DOT : SIMD_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs), (outs), (ins),
1135 [(set V128:$dst, (int_wasm_dot V128:$lhs, V128:$rhs))],
1136 "i32x4.dot_i16x8_s\t$dst, $lhs, $rhs", "i32x4.dot_i16x8_s",
1148 defm _#vec : SIMD_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs),
1151 (vec.split.vt V128:$lhs),(vec.split.vt V128:$rhs)))],
1152 vec.prefix#"."#name#"\t$dst, $lhs, $rhs",
1157 PatFrag<(ops node:$lhs, node:$rhs),
1158 (mul (extend $lhs), (extend $rhs))> {}
1269 def pmin : PatFrags<(ops node:$lhs, node:$rhs), [
1270 (vselect (setolt $rhs, $lhs), $rhs, $lhs),
1271 (vselect (setole $rhs, $lhs), $rhs, $lhs),
1272 (vselect (setogt $lhs, $rhs), $rhs, $lhs),
1273 (vselect (setoge $lhs, $rhs), $rhs, $lhs)
1278 def pmax : PatFrags<(ops node:$lhs, node:$rhs), [
1279 (vselect (setogt $rhs, $lhs), $rhs, $lhs),
1280 (vselect (setoge $rhs, $lhs), $rhs, $lhs),
1281 (vselect (setolt $lhs, $rhs), $rhs, $lhs),
1282 (vselect (setole $lhs, $rhs), $rhs, $lhs)
1294 (vec.vt (bitconvert V128:$lhs))),
1295 V128:$rhs, V128:$lhs)),
1296 (pmin $lhs, $rhs)>;
1298 (setolt (vec.vt (bitconvert V128:$lhs)),
1300 V128:$rhs, V128:$lhs)),
1301 (pmax $lhs, $rhs)>;
1305 def : Pat<(v4f32 (int_wasm_pmin (v4f32 V128:$lhs), (v4f32 V128:$rhs))),
1306 (PMIN_F32x4 V128:$lhs, V128:$rhs)>;
1307 def : Pat<(v4f32 (int_wasm_pmax (v4f32 V128:$lhs), (v4f32 V128:$rhs))),
1308 (PMAX_F32x4 V128:$lhs, V128:$rhs)>;
1309 def : Pat<(v2f64 (int_wasm_pmin (v2f64 V128:$lhs), (v2f64 V128:$rhs))),
1310 (PMIN_F64x2 V128:$lhs, V128:$rhs)>;
1311 def : Pat<(v2f64 (int_wasm_pmax (v2f64 V128:$lhs), (v2f64 V128:$rhs))),
1312 (PMAX_F64x2 V128:$lhs, V128:$rhs)>;
1313 def : Pat<(v8f16 (int_wasm_pmin (v8f16 V128:$lhs), (v8f16 V128:$rhs))),
1314 (PMIN_F16x8 V128:$lhs, V128:$rhs)>;
1315 def : Pat<(v8f16 (int_wasm_pmax (v8f16 V128:$lhs), (v8f16 V128:$rhs))),
1316 (PMAX_F16x8 V128:$lhs, V128:$rhs)>;
1535 defm _#vec : RELAXED_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs),
1538 (node (vec.vt V128:$lhs), (vec.vt V128:$rhs)))],
1539 vec.prefix#"."#name#"\t$dst, $lhs, $rhs",
1565 RELAXED_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs), (outs), (ins),
1567 (v16i8 V128:$lhs), (v16i8 V128:$rhs)))],
1568 "i16x8.relaxed_dot_i8x16_i7x16_s\t$dst, $lhs, $rhs",
1572 RELAXED_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs, V128:$acc),
1575 (v16i8 V128:$lhs), (v16i8 V128:$rhs), (v4i32 V128:$acc)))],
1576 "i32x4.relaxed_dot_i8x16_i7x16_add_s\t$dst, $lhs, $rhs, $acc",
1584 RELAXED_I<(outs V128:$dst), (ins V128:$lhs, V128:$rhs, V128:$acc),
1587 (v8i16 V128:$lhs), (v8i16 V128:$rhs), (v4f32 V128:$acc)))],
1588 "f32x4.relaxed_dot_bf16x8_add_f32\t$dst, $lhs, $rhs, $acc",