myunbin opened PR #12799 from myunbin:add-rules-180326 to bytecodealliance:main:
This PR adds several simplification rules:
arithmetic.isle
((x + y) - (x + z)) --> (y - z)((x - z) - (y - z)) --> (x - y)((x - y) - (x - z)) --> (z - y)min(x, y) + max(x, y) --> x + y((x + z) - (y + z)) --> (x - y)((x - y) + (y + z)) --> (x + z)(x - (x + y)) --> -y(x + (y + (z - x))) --> (y + z)(x + y) == (y + x) --> true(x - y) != x --> y != 0
bitops.isle
((x & ~y) - (x & y)) --> ((x ^ y) - y)(x & ~y) | (~x & y) --> (x ^ y)(x & ~y) | (x ^ y) --> (x ^ y)(x & ~y) ^ ~x --> ~(x & y)(~x & y) ^ x --> x | y(x | y) & ~(x ^ y) --> x & yx | ~(x ^ y) --> x | ~yx | ((~x) ^ y) --> x | ~yx & ~(x ^ y) --> x & yx & ((~x) ^ y) --> x & y(x | y) | (x ^ y) --> (x | y)(x ^ y) & (x ^ (y ^ z)) --> (x ^ y) & ~z(~x & y) ^ z --> (x & y) ^ (z ^ y)~x - ~y --> y - x(~x & y) | ~(x | y) --> ~x(~x | y) & ~(x & y) --> ~x(x & y) | ~(x | y) --> ~(x ^ y)(~x | y) ^ (x ^ y) --> x | ~y
myunbin requested alexcrichton for a review on PR #12799.
myunbin requested wasmtime-compiler-reviewers for a review on PR #12799.
myunbin edited PR #12799:
This PR adds several simplification rules:
arithmetic.isle
((x + y) - (x + z)) --> (y - z)((x - z) - (y - z)) --> (x - y)((x - y) - (x - z)) --> (z - y)min(x, y) + max(x, y) --> x + y((x + z) - (y + z)) --> (x - y)((x - y) + (y + z)) --> (x + z)(x - (x + y)) --> -y(x + (y + (z - x))) --> (y + z)(x + y) == (y + x) --> true(x - y) != x --> y != 0
bitops.isle
((x & ~y) - (x & y)) --> ((x ^ y) - y)(x & ~y) | (~x & y) --> (x ^ y)(x & ~y) | (x ^ y) --> (x ^ y)(x & ~y) ^ ~x --> ~(x & y)(~x & y) ^ x --> x | y(x | y) & ~(x ^ y) --> x & yx | ~(x ^ y) --> x | ~yx | ((~x) ^ y) --> x | ~yx & ~(x ^ y) --> x & yx & ((~x) ^ y) --> x & y(x | y) | (x ^ y) --> (x | y)(x ^ y) & (x ^ (y ^ z)) --> (x ^ y) & ~z(~x & y) ^ z --> (x & y) ^ (z ^ y)~x - ~y --> y - x(~x & y) | ~(x | y) --> ~x(~x | y) & ~(x & y) --> ~x(x & y) | ~(x | y) --> ~(x ^ y)(~x | y) ^ (x ^ y) --> x | ~ycc @bongjunj
github-actions[bot] added the label cranelift on PR #12799.
github-actions[bot] added the label isle on PR #12799.
github-actions[bot] commented on PR #12799:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "cranelift", "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin commented on PR #12799:
I’m trying to identify the reason for the CI failure, but since it’s difficult to check on local environment, I will check various scenarios.
I would appreciate it if you could ignore this PR until it is completed.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin edited PR #12799:
This PR adds several simplification rules:
arithmetic.isle
((x + y) - (x + z)) --> (y - z)((x - z) - (y - z)) --> (x - y)((x - y) - (x - z)) --> (z - y)min(x, y) + max(x, y) --> x + y((x - y) + (y + z)) --> (x + z)(x - (x + y)) --> -y(x + (y + (z - x))) --> (y + z)(x + y) == (y + x) --> true(x - y) != x --> y != 0
bitops.isle
((x & ~y) - (x & y)) --> ((x ^ y) - y)(x & ~y) | (~x & y) --> (x ^ y)(x & ~y) | (x ^ y) --> (x ^ y)(x & ~y) ^ ~x --> ~(x & y)(~x & y) ^ x --> x | y(x | y) & ~(x ^ y) --> x & yx | ~(x ^ y) --> x | ~yx | ((~x) ^ y) --> x | ~yx & ~(x ^ y) --> x & yx & ((~x) ^ y) --> x & y(x | y) | (x ^ y) --> (x | y)(x ^ y) & (x ^ (y ^ z)) --> (x ^ y) & ~z(~x & y) ^ z --> (x & y) ^ (z ^ y)~x - ~y --> y - x(~x & y) | ~(x | y) --> ~x(~x | y) & ~(x & y) --> ~x(x & y) | ~(x | y) --> ~(x ^ y)(~x | y) ^ (x ^ y) --> x | ~ycc @bongjunj
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
alexcrichton unassigned alexcrichton from PR #12799 [Cranelift] add simplification rules.
alexcrichton requested fitzgen for a review on PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
myunbin updated PR #12799.
Last updated: Mar 23 2026 at 16:19 UTC