1;; Rematerialize ALU-op-with-imm and iconsts in each block where they're
2;; used. This is neutral (add-with-imm) or positive (iconst) for
3;; register pressure, and these ops are very cheap.
4(rule (simplify x @ (iadd _ (iconst _ _) _))
5      (remat x))
6(rule (simplify x @ (iadd _ _ (iconst _ _)))
7      (remat x))
8(rule (simplify x @ (isub _ (iconst _ _) _))
9      (remat x))
10(rule (simplify x @ (isub _ _ (iconst _ _)))
11      (remat x))
12(rule (simplify x @ (band _ (iconst _ _) _))
13      (remat x))
14(rule (simplify x @ (band _ _ (iconst _ _)))
15      (remat x))
16(rule (simplify x @ (bor _ (iconst _ _) _))
17      (remat x))
18(rule (simplify x @ (bor _ _ (iconst _ _)))
19      (remat x))
20(rule (simplify x @ (bxor _ (iconst _ _) _))
21      (remat x))
22(rule (simplify x @ (bxor _ _ (iconst _ _)))
23      (remat x))
24(rule (simplify x @ (bnot _ _))
25      (remat x))
26(rule (simplify x @ (iconst _ _))
27      (remat x))
28(rule (simplify x @ (f32const _ _))
29      (remat x))
30(rule (simplify x @ (f64const _ _))
31      (remat x))
32