t.p.northover added a comment. FWIW, I think both loads would have to be volatile to prohibit that if the underlying principle was sound. We're allowed to reorder volatile accesses with non-volatile, but not 2 volatile accesses. http://reviews.llvm.org/D14489