File tree Expand file tree Collapse file tree 2 files changed +21
-6
lines changed
filetests/filetests/egraph Expand file tree Collapse file tree 2 files changed +21
-6
lines changed Original file line number Diff line number Diff line change 380380(rule (simplify (iadd ty (iadd ty (isub ty z x) y) x)) (iadd ty y z))
381381
382382;; (x + y) == (y + x) --> true
383- (rule (simplify (eq ty (iadd cty x y) (iadd cty y x))) (iconst_u ty 1))
384- (rule (simplify (eq ty (iadd cty y x) (iadd cty x y))) (iconst_u ty 1))
385- (rule (simplify (eq ty (iadd cty x y) (iadd cty x y))) (iconst_u ty 1))
386- (rule (simplify (eq ty (iadd cty y x) (iadd cty y x))) (iconst_u ty 1))
383+ (rule (simplify (eq (ty_int ty) (iadd cty x y) (iadd cty y x))) (iconst_u ty 1))
384+ (rule (simplify (eq (ty_int ty) (iadd cty y x) (iadd cty x y))) (iconst_u ty 1))
385+ (rule (simplify (eq (ty_int ty) (iadd cty x y) (iadd cty x y))) (iconst_u ty 1))
386+ (rule (simplify (eq (ty_int ty) (iadd cty y x) (iadd cty y x))) (iconst_u ty 1))
387387
388388;; (x - y) != x --> y != 0
389389(rule (simplify (ne cty (isub ty x y) x)) (ne cty y (iconst_u ty 0)))
390- (rule (simplify (ne cty x (isub ty x y))) (ne cty y (iconst_u ty 0)))
390+ (rule (simplify (ne cty x (isub ty x y))) (ne cty y (iconst_u ty 0)))
Original file line number Diff line number Diff line change @@ -234,6 +234,21 @@ block0(v0: i32, v1: i32):
234234; return v5 ; v5 = 1
235235; }
236236
237+ ;; (eq ty (iadd cty x y) (iadd cty y x)) -> 1
238+ function %simplify_vector_icmp_eq_iadd_commute(i32x4, i32x4) -> i32x4 fast {
239+ block0(v0: i32x4, v1: i32x4):
240+ v2 = iadd v0, v1
241+ v3 = iadd v1, v0
242+ v4 = icmp eq v2, v3
243+ return v4
244+ }
245+
246+ ; function %simplify_vector_icmp_eq_iadd_commute(i32x4, i32x4) -> i32x4 fast {
247+ ; block0(v0: i32x4, v1: i32x4):
248+ ; v5 = icmp eq v0, v0
249+ ; return v5
250+ ; }
251+
237252;; (x - y) != x --> y != 0
238253function %simplify_icmp_ne_isub_x(i32, i32) -> i8 fast {
239254block0(v0: i32, v1: i32):
@@ -247,4 +262,4 @@ block0(v0: i32, v1: i32):
247262; v4 = iconst.i32 0
248263; v5 = icmp ne v1, v4 ; v4 = 0
249264; return v5
250- ; }
265+ ; }
You can’t perform that action at this time.
0 commit comments