Skip to content

x86: Removed redundant AND/CMP/J(c) -> AND/J(~c) optimisation

Related to an issue.

This branch removes the x86-specific "AND/CMP/J(c) -> AND/J(~c)" optimisation because it is now performed at the node level and hence the peephole optimisation never executes:

commit 6a3f32ba Author: Yuriy Sydorov jura@cp-lab.com Date: Mon Aug 9 18:38:31 2021 +0300

* optimize tests for a single bit "(a and one_bit_mask_const) = <> one_bit_mask_const" into "(a and one_bit_mask_const) <> = 0" to enable further CPU specific optimizations.

redundant-strip.patch

Criteria

Confirm correct compilation and no change in generated binaries or assembly dumps.

Notes

Should provide a minor speed boost and size reduction to the compiler.

Merge request reports