SIMD/SSE support & alignment

Johan Tibell johan.tibell at
Tue Mar 12 16:12:02 CET 2013

On Tue, Mar 12, 2013 at 8:08 AM, Geoffrey Mainland <mainland at>wrote:

> LLVM needs to know statically whether or not an SSE move is aligned---it
> can't be computed at runtime. I don't think passing an extra Int#
> argument (or whatever) to a primop is going to work.

Ah, but sometimes optimization exposes that information statically (i.e. by
inlining). In my case I know Array# is word-aligned and if someone uses
memcpy with a 0 offset the compiler might spot this and use the right
alignment (this is what happens today). Now, if e.g. ByteArray# can never
allocated 16-byte aligned, this doesn't help us much.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list