Displaying 3 results from an estimated 3 matches for "module_h7ktw0".
2014 Aug 07
2
[LLVMdev] MCJIT generates MOVAPS on unaligned address
...ot have a data layout. Opt will not initialize the DataLayoutPass. The SLP vectorizer will not vectorize because there is no DataLayoutPass.
>
> debug-cmake/bin/opt -default-data-layout="e-m:e-i64:64-f80:128-n8:16:32:64-S128" -basicaa -slp-vectorizer -S </Users/arnold/Downloads/module_H7ktW0.ll | grep "<4 x" | grep store
> store <4 x float> %198, <4 x float>* %204, align 8
>
> There is a bug in the SLPVectorizer however - it should be “align 4” - we get the alignment of the pointer type which is not what we want we want the alignment of the stored/...
2014 Aug 07
3
[LLVMdev] MCJIT generates MOVAPS on unaligned address
...gnment = DL->getABITypeAlignment(SI->getPointerOperand()->getType()); // << Get the 4byte alignment for the scalar float store from the data layout string.
> S->setAlignment(Alignment);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: module_H7ktW0.ll.gz
Type: application/x-gzip
Size: 65781 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140807/a42fe088/attachment.bin>
2014 Aug 07
3
[LLVMdev] MCJIT generates MOVAPS on unaligned address
MCJIT when lowering to x86-64 generates a MOVAPS (Move Aligned Packed
Single-Precision Floating-Point Values) on a non-aligned memory address:
movaps 88(%rdx), %xmm0
where %rdx comes in as a function argument with only natural alignment
(float*). This x86 instruction requires the memory address to be 16 byte
aligned which 88 plus something aligned to 4 byte isn't.
Here the