Am 03.02.21 um 22:14 schrieb J. Gareth Moreton via fpc-devel:
Rats, I might have messed up with some of the arithmetic, as well as the
dangers of crossing bitwise with logical Boolean operations, although
some combinations still work - if the conditions are "x = 0" rather than
"x <> 0" in the example:
testq %rbx,%rbx
seteb %al
testq %rsi,%rsi
seteb %dl
andb %dl,%al
Then this would equate to:
orq %rbx,%rsi
seteb %al
Indeed:
# [6] b:=(x=0) and (y=0);
orl %edx,%eax
# Var b located in register al
seteb %al
:)
Mistake aside, I'm looking for acceptable solutions for a
platform-dependent node transformation, like a flag of some kind ($if
defined etc. might get untidy, although is an option).
This depends on the transformation. Most transformations are beneficial
for all platforms.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel