diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-25 22:46:22 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-27 22:17:37 +0100 |
| commit | 2eb69efa7f912e604092b46d7b12a9bce3ea9995 (patch) | |
| tree | d7e4de407a26032c8e5d514b28402d9320bf9c68 /validation/optim | |
| parent | 3aaa16eac7f07302bcf3d733aeee901d378b7e9d (diff) | |
| download | sparse-dev-2eb69efa7f912e604092b46d7b12a9bce3ea9995.tar.gz | |
factorize SEL(x, OP(y,z), y) into OP(SEL(x, z, 0), y)
'Factorize' and expression like:
x ? (y | z) : y;
into
(x ? z : 0) | y;
and some positional variants as well as replacing '|' by '+' or '^'.
Note: it's not very clear if this is really an improvement but it
allows some very nice simplification of 'bits translations'.
Note: the same can be done for others operations, for example it can
be done for '&' if '0' (the neuter value for '|', '+' and '^')
by '~0' (same with '*' and '1').
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/optim')
| -rw-r--r-- | validation/optim/fact-select01.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/validation/optim/fact-select01.c b/validation/optim/fact-select01.c index ef4e5e89..9232fc90 100644 --- a/validation/optim/fact-select01.c +++ b/validation/optim/fact-select01.c @@ -19,7 +19,6 @@ int xor_y_yx(int p, int x, int y) { return (p ? y : (y^x)) == ((p ? 0 : x) ^ y); /* * check-name: fact-select01 * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-returns: 1 |
