Many thanks to Segher Boessenkool for the speedy review. The following patch has been committed after testing on x86_64-pc-linux-gnu. In the recent patch to simplify-rtx.c I had incorrectly extrapolated from AND distributing over AND, and IOR distributing over IOR, that XOR distributes over XOR. Possibly a typo. The following "obvious" one line change fixes the breakage. My apologies.
2020-07-23 Roger Sayle <ro...@nextmovesoftware.com> PR rtl-optimization/96298 * simplify-rtx.c (simplify_binary_operation_1) [XOR]: Xor doesn't distribute over xor, so (a^b)^(c^b) is not the same as (a^c)^b. Sorry again, Roger -- Roger Sayle NextMove Software Cambridge, UK
pr96298.patch
Description: Binary data