JuliaLang/julia — pull request #7719 by ArchRobison (2014-07-24 22:06:38+00:00)
Title: Fix issue #7687, by revising original fix for issue #41

This change restricts the volatile store/load hack (for fixing issue #41) to 32-bit x86, thus enabling vectorization of the example in issue #7687 on 64-bit x86.

For 32-bit x86, I would have liked to do the determination dynamically based on whether the ```TargetMachine``` has SSE2. But I could not find a way to do it without calling low-level LLVM interfaces that are not defined in ```llvm-3.3/include/```, i.e. breaking abstraction barriers. E.g., ```X86Targetmachine::hasSSE2()``` provides the bit of interest. I also entertained the notion of calling the regression test for issue #41 during startup, but that seemed baroque.