[X86] Use lock add/sub for cases that we only care about the EFLAGS
authorPhoebe Wang <phoebe.wang@intel.com>
Fri, 18 Nov 2022 13:08:01 +0000 (21:08 +0800)
committerPhoebe Wang <phoebe.wang@intel.com>
Fri, 18 Nov 2022 13:43:47 +0000 (21:43 +0800)
commitd55825565070cd36fa6a41fe8a3bfdec8751e790
treeaa1e7fe44374cb834028639400f881929ba70eca
parentd856e5feacd56e01e713323e534c8dba52766b73
[X86] Use lock add/sub for cases that we only care about the EFLAGS

This fixes #36373, #36905 and partial of #58685.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D137711
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/include/llvm/IR/IntrinsicsX86.td
llvm/lib/CodeGen/AtomicExpandPass.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/test/CodeGen/X86/pr37025.ll
llvm/test/CodeGen/X86/pr58685.ll