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

Reply via email to