[PATCH] [X86] Make wide loads be managed by AtomicExpand

JF Bastien jfb at chromium.org
Mon Sep 22 13:10:48 PDT 2014


The tests all stay the same after this change? Were they actually sufficient? In particular, I want to make sure that the `lock` prefix remains where it should be.

================
Comment at: lib/Target/X86/X86ISelLowering.cpp:17360
@@ -17359,3 @@
-  //        (The only way to get a 16-byte load is cmpxchg16b)
-  // FIXME: 16-byte ATOMIC_CMP_SWAP isn't actually hooked up at the moment.
-  SDValue Zero = DAG.getConstant(0, VT);
----------------
These FIXMEs should probably be kept. How would they get fixed with this new infrastructure? `shouldExpandAtomicLoadInIR` would change to take that into account, and `ReplaceATOMIC_LOAD` would do the work?

http://reviews.llvm.org/D5404






More information about the llvm-commits mailing list