[PATCH] D142166: [X86] Make `shouldExpandLogicAtomicRMWInIR` able to match both operands.
Noah Goldstein via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 20 10:55:05 PST 2023
goldstein.w.n added inline comments.
================
Comment at: llvm/test/CodeGen/X86/atomic-rm-bit-test-64.ll:1474
%0 = atomicrmw xor ptr %v, i64 16 monotonic, align 8
- %and = and i64 %0, 16
+ %and = and i64 16, %0
%tobool.not = icmp eq i64 %and, 0
----------------
RKSimon wrote:
> I'd expect DAG canonicalization to commute this in DAGCombiner::visitAND?
> I'd expect DAG canonicalization to commute this in DAGCombiner::visitAND?
The version that had assertions for canonical constant/non-constant operands did hit them so I expect there is some sequence where we go to `shouldExpandLogicAtomicRMWInIR` before canonicalization.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142166/new/
https://reviews.llvm.org/D142166
More information about the llvm-commits
mailing list