Lines Matching refs:lhs
27 defm _I32 : I<(outs I32:$dst), (ins I32:$lhs, I32:$rhs), (outs), (ins),
28 [(set I32:$dst, (node I32:$lhs, I32:$rhs))],
29 !strconcat("i32.", !strconcat(name, "\t$dst, $lhs, $rhs")),
31 defm _I64 : I<(outs I64:$dst), (ins I64:$lhs, I64:$rhs), (outs), (ins),
32 [(set I64:$dst, (node I64:$lhs, I64:$rhs))],
33 !strconcat("i64.", !strconcat(name, "\t$dst, $lhs, $rhs")),
37 defm _I32 : I<(outs I32:$dst), (ins I32:$lhs, I32:$rhs), (outs), (ins),
38 [(set I32:$dst, (setcc I32:$lhs, I32:$rhs, cond))],
39 !strconcat("i32.", !strconcat(name, "\t$dst, $lhs, $rhs")),
41 defm _I64 : I<(outs I32:$dst), (ins I64:$lhs, I64:$rhs), (outs), (ins),
42 [(set I32:$dst, (setcc I64:$lhs, I64:$rhs, cond))],
43 !strconcat("i64.", !strconcat(name, "\t$dst, $lhs, $rhs")),
97 def : Pat<(shl I32:$lhs, (and I32:$rhs, 31)), (SHL_I32 I32:$lhs, I32:$rhs)>;
98 def : Pat<(sra I32:$lhs, (and I32:$rhs, 31)), (SHR_S_I32 I32:$lhs, I32:$rhs)>;
99 def : Pat<(srl I32:$lhs, (and I32:$rhs, 31)), (SHR_U_I32 I32:$lhs, I32:$rhs)>;
100 def : Pat<(shl I64:$lhs, (and I64:$rhs, 63)), (SHL_I64 I64:$lhs, I64:$rhs)>;
101 def : Pat<(sra I64:$lhs, (and I64:$rhs, 63)), (SHR_S_I64 I64:$lhs, I64:$rhs)>;
102 def : Pat<(srl I64:$lhs, (and I64:$rhs, 63)), (SHR_U_I64 I64:$lhs, I64:$rhs)>;
105 def : Pat<(rotl I32:$lhs, (and I32:$rhs, 31)), (ROTL_I32 I32:$lhs, I32:$rhs)>;
106 def : Pat<(rotr I32:$lhs, (and I32:$rhs, 31)), (ROTR_I32 I32:$lhs, I32:$rhs)>;
107 def : Pat<(rotl I64:$lhs, (and I64:$rhs, 63)), (ROTL_I64 I64:$lhs, I64:$rhs)>;
108 def : Pat<(rotr I64:$lhs, (and I64:$rhs, 63)), (ROTR_I64 I64:$lhs, I64:$rhs)>;
110 defm SELECT_I32 : I<(outs I32:$dst), (ins I32:$lhs, I32:$rhs, I32:$cond),
112 [(set I32:$dst, (select I32:$cond, I32:$lhs, I32:$rhs))],
113 "i32.select\t$dst, $lhs, $rhs, $cond", "i32.select", 0x1b>;
114 defm SELECT_I64 : I<(outs I64:$dst), (ins I64:$lhs, I64:$rhs, I32:$cond),
116 [(set I64:$dst, (select I32:$cond, I64:$lhs, I64:$rhs))],
117 "i64.select\t$dst, $lhs, $rhs, $cond", "i64.select", 0x1b>;
122 def : Pat<(select (i32 (setne I32:$cond, 0)), I32:$lhs, I32:$rhs),
123 (SELECT_I32 I32:$lhs, I32:$rhs, I32:$cond)>;
124 def : Pat<(select (i32 (setne I32:$cond, 0)), I64:$lhs, I64:$rhs),
125 (SELECT_I64 I64:$lhs, I64:$rhs, I32:$cond)>;
128 def : Pat<(select (i32 (seteq I32:$cond, 0)), I32:$lhs, I32:$rhs),
129 (SELECT_I32 I32:$rhs, I32:$lhs, I32:$cond)>;
130 def : Pat<(select (i32 (seteq I32:$cond, 0)), I64:$lhs, I64:$rhs),
131 (SELECT_I64 I64:$rhs, I64:$lhs, I32:$cond)>;