Skip to content

Commit a04de21

Browse files
committed
[Cranelift] C * (-X) = X * (-C)
1 parent 150cc9d commit a04de21

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

cranelift/codegen/src/opts/arithmetic.isle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,4 +560,7 @@
560560
(rule (simplify (ugt ty x (umax ty x y))) (iconst_u ty 0))
561561
(rule (simplify (ugt ty x (umax ty y x))) (iconst_u ty 0))
562562
(rule (simplify (ult ty (umax ty x y) x)) (iconst_u ty 0))
563-
(rule (simplify (ult ty (umax ty y x) x)) (iconst_u ty 0))
563+
(rule (simplify (ult ty (umax ty y x) x)) (iconst_u ty 0))
564+
565+
;; C * (-X) = X * (-C)
566+
(rule (simplify (imul (fits_in_64 ty) (ineg ty x) (iconst ty y))) (imul ty x (iconst ty (imm64_neg ty y))))

0 commit comments

Comments
 (0)