|
166 | 166 | ;; - (add (sub x k1) k2) -> (add x (sub k2 k1)) |
167 | 167 | ;; - (add (sub k1 x) k2) -> (sub (add k1 k2) x) |
168 | 168 | (rule (simplify (isub ty |
169 | | - (isub ty x (iconst ty (u64_from_imm64 k1))) |
170 | | - (iconst ty (u64_from_imm64 k2)))) |
171 | | - (isub ty x (iconst ty (imm64_masked ty (u64_wrapping_add k1 k2))))) |
| 169 | + (isub ty x (iconst ty k1)) |
| 170 | + (iconst ty k2))) |
| 171 | + (isub ty x (iconst ty (imm64_add ty k1 k2)))) |
172 | 172 | (rule (simplify (isub ty |
173 | | - (isub ty (iconst ty (u64_from_imm64 k1)) x) |
174 | | - (iconst ty (u64_from_imm64 k2)))) |
175 | | - (isub ty (iconst ty (imm64_masked ty (u64_wrapping_sub k1 k2))) x)) |
| 173 | + (isub ty (iconst ty k1) x) |
| 174 | + (iconst ty k2))) |
| 175 | + (isub ty (iconst ty (imm64_sub ty k1 k2)) x)) |
176 | 176 | (rule (simplify (isub ty |
177 | | - (iadd ty x (iconst ty (u64_from_imm64 k1))) |
178 | | - (iconst ty (u64_from_imm64 k2)))) |
179 | | - (isub ty x (iconst ty (imm64_masked ty (u64_wrapping_sub k2 k1))))) |
| 177 | + (iadd ty x (iconst ty k1)) |
| 178 | + (iconst ty k2))) |
| 179 | + (isub ty x (iconst ty (imm64_sub ty k2 k1)))) |
180 | 180 | (rule (simplify (iadd ty |
181 | | - (isub ty x (iconst ty (u64_from_imm64 k1))) |
182 | | - (iconst ty (u64_from_imm64 k2)))) |
183 | | - (iadd ty x (iconst ty (imm64_masked ty (u64_wrapping_sub k2 k1))))) |
| 181 | + (isub ty x (iconst ty k1)) |
| 182 | + (iconst ty k2))) |
| 183 | + (iadd ty x (iconst ty (imm64_sub ty k2 k1)))) |
184 | 184 | (rule (simplify (iadd ty |
185 | | - (isub ty (iconst ty (u64_from_imm64 k1)) x) |
186 | | - (iconst ty (u64_from_imm64 k2)))) |
187 | | - (isub ty (iconst ty (imm64_masked ty (u64_wrapping_add k1 k2))) x)) |
| 185 | + (isub ty (iconst ty k1) x) |
| 186 | + (iconst ty k2))) |
| 187 | + (isub ty (iconst ty (imm64_add ty k1 k2)) x)) |
188 | 188 |
|
189 | 189 | (rule (simplify |
190 | 190 | (imul ty (imul ty x k1 @ (iconst ty _)) k2 @ (iconst ty _))) |
|
231 | 231 | (rule (simplify (isub ty x (iconst_s ty k))) |
232 | 232 | (if-let true (u64_lt (i64_cast_unsigned (i64_wrapping_neg k)) |
233 | 233 | (i64_cast_unsigned k))) |
234 | | - (iadd ty x (iconst ty (imm64_masked ty (i64_cast_unsigned (i64_wrapping_neg k)))))) |
| 234 | + (iadd ty x (iconst ty (imm64_neg ty (imm64 (i64_cast_unsigned k)))))) |
235 | 235 |
|
236 | 236 | ;; A splat of a constant can become a direct `vconst` with the appropriate bit |
237 | 237 | ;; pattern. |
|
0 commit comments