================
Comment at: lib/Headers/Intrin.h:783
@@ +782,3 @@
+__faststorefence(void) {
+ __asm__ volatile ("lock orq $0,(%rsp)");
+}
----------------
I think this needs to have a memory constraint to avoid reordering non-volatile loads and stores across it.
http://llvm-reviews.chandlerc.com/D2600