[PATCH] D59576: [X86] Add CMPXCHG8B feature flag. Set it for all CPUs except i386/i486 including 'generic'. Disable use of CMPXCHG8B when this flag isn't set.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 20 13:05:03 PDT 2019


craig.topper marked 2 inline comments as done.
craig.topper added inline comments.


================
Comment at: lib/Target/X86/X86.td:1118
 def : Proc<"winchip2",        [FeatureX87, FeatureSlowUAMem16, Feature3DNow]>;
 def : Proc<"c3",              [FeatureX87, FeatureSlowUAMem16, Feature3DNow]>;
+def : Proc<"c3-2",            [FeatureX87, FeatureSlowUAMem16, FeatureCMPXCHG8B,
----------------
efriedma wrote:
> This looks a little weird; c3-2 but not c3?  Are you sure that's right?
I think its consistent with gcc. It's also consistent with the CPU enum in clang. c3 is below i586 but c3-2 is above i586.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:480
+    //if (VT == MVT::i64 && !Subtarget.hasCmpxchg8b())
+    //  continue;
+
----------------
efriedma wrote:
> ?
Oops. Leftover from before I changed the AtomicSizeInBits to 32 above.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59576/new/

https://reviews.llvm.org/D59576





More information about the llvm-commits mailing list