[LLVMdev] vector type legalization
Nadav Rotem
nrotem at apple.com
Mon Aug 12 09:59:34 PDT 2013
Hi Paul,
You can read about it here: http://blog.llvm.org/2011/12/llvm-31-vector-changes.html
> Hi,
>
> I am trying to understand how vector type legalization works. In particular, I'm looking at i8 vector types on x86 (with sse42 features)
>
> v3i8 gets widened to v4i8 and then operations get unrolled (scalarized) because v4i8 is not a legal type whereas v4i8 gets
This does not sound right. v3i8 -> v4i8 is okay. But the next step should be v4i8 -> v4i32. The operation nay be scalarized in the vector legalization phase.
> promoted to v4i32. Why doesn't v3i8 (or even v4i8) get widened to v16i8? Alternatively, v3i8 could be widened to v4i8 then promoted to v4i32 but this doesn't happen either.
>
> Can anyone provide some insight into why vector type legalization works the way it does?
>
> Thanks,
> paul
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list