Original pattern: (__builtin_parity(x) ^ __builtin_parity(y)) LLVM rewrites it as: (__builtin_popcount(x) ^ __builtin_popcount(y)) & 1 Optimized form: __builtin_popcount(X^Y) & 1 Alive proof: https://alive2.llvm.org/ce/z/-GdWFr Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D101802
61 KiB
61 KiB