https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85758
Alexander Monakov changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85758
--- Comment #3 from Alexander Monakov ---
Author: amonakov
Date: Mon Aug 27 14:08:50 2018
New Revision: 263887
URL: https://gcc.gnu.org/viewcvs?rev=263887=gcc=rev
Log:
match.pd: add single-use check for (x & y) ^ y -> ~x & y (PR 85758)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85758
--- Comment #2 from Richard Biener ---
(In reply to Alexander Monakov from comment #0)
> However since m_3 is used, this is more costly. Shouldn't this folding check
> for single use of the intermediate expr? From a quick look, this is probably
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85758
--- Comment #1 from Marc Glisse ---
Direct translation would be (from clang):
andl%ecx, %edx
addl%edx, %edi
xorl%ecx, %edx
addl%edx, %esi
With -mbmi, I get
andn%ecx, %edx, %eax