On 12/15/2015 10:28 AM, Kyrill Tkachov wrote:
Hi all,

This converts the preprocessor check for WORD_REGISTER_OPERATIONS into a
runtime check
in reload1.c.

Since this one is used to guard part of a condition, I'd appreciate it
if someone
double-checks that the logic is still equivalent.

Bootstrapped and tested on arm, aarch64, x86_64.

Ok for trunk?

Thanks,
Kyrill

2015-12-15  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

    * reload1.c (eliminate_regs_1): Convert preprocessor check
    for WORD_REGISTER_OPERATIONS to runtime check.
In this one we had

#if FOO
 && !(condition)
#endif

And you changed it to

  && !(FOO && condition))

Which I think is wrong.

Original:

FOO  condition      result
0        0             0
0        1             0
1        0             1
1        1             0


New:

FOO  condition      result
0        0             1
0        1             1
1        0             1
1        1             0

I think you really wanted

&& (FOO
    && ! (condition))



Jeff

Reply via email to