
12 Mar
2013
12 Mar
'13
11 a.m.
On 03/12/2013 02:52 PM, Austin Seipp wrote: > On Tue, Mar 12, 2013 at 9:09 AM, Geoffrey Mainlandwrote: >> On 03/10/2013 09:52 PM, Nicolas Trangez wrote: >>> ... snip ... >> ... >> 1) Get LLVM 3.2 working with GHC's LLVM back end. > > This should work fine in HEAD on OS X and Linux at least. David sorted > it out after I filed a lot of bugs and a few patches to fix it. > > However, I believe at one point or another (before SIMD landed) I > tried the new loop and basic block vectorizer in 3.2 with HEAD. I used > a simple loop like the one Nicholas posted - with the new code > generator, the resulting Cmm is very compact, so I figured it ideal > for vectorization. But I believe it made things slower. I don't > remember the details, but I'll have a copy of HEAD worth testing > soon... My stage2 compiler fails with LLVM 3.2 on Ubuntu 12.04 64-bit. If you know how to fix that, please tell me how. >> 2) Fix the stack alignment issue with LLVM. This will likely require a >> patch to LLVM. >> >> 3) Add support for aligned move primops. >> >> 4) Extend the current SIMD fusion framework to handle transitioning to >> aligned move instructions. As an alternative, only use aligned move >> instructions on memory that we know is aligned. >> >> These are all on my todo list, but my plate is quite full at the moment. >> >> Geoff