Displaying 7 results from an estimated 7 matches for "widenvecres_binari".
Did you mean:
widenvecres_binary
2013 Aug 12
2
[LLVMdev] vector type legalization
Hi Nadav,
From: Nadav Rotem <nrotem at apple.com<mailto:nrotem at apple.com>>
Date: Monday, 12 August, 2013 1:59 PM
To: Paul Redmond <paul.redmond at intel.com<mailto:paul.redmond at intel.com>>
Cc: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>>
Subject: Re: [LLVMdev] vector type legalization
This is a bug in the
2013 Aug 12
0
[LLVMdev] vector type legalization
On Aug 12, 2013, at 1:47 PM, Redmond, Paul <paul.redmond at intel.com> wrote:
> Thanks for the tip. I modified WidenVecRes_Binary match WidenVecRes_{Unary/Ternary} and it does the promotion and generates much better code. Why is WidenVecRes_Binary so much more complicated than the Unary/Binary functions? None of the operations in the cases for WidenVecRes_Binary seem any more special
2013 Aug 12
0
[LLVMdev] vector type legalization
This is a bug in the implementation of WidenVecRes_Binary. On line 1546 it assumes that “Widen” is the last phase of type-legalization and we check if the result is a legal type. But actually we want to continue and promote the elements of the vector. In other cases we may want to widen (to the next power of two) and later split in half because the vector is too big.
On Aug 12, 2013, at 10:46
2013 Aug 12
2
[LLVMdev] vector type legalization
Hi Nadav,
On 2013-08-12 12:59 PM, "Nadav Rotem" <nrotem at apple.com> wrote:
>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)
2013 Aug 13
1
[LLVMdev] vector type legalization
Hi Nadav, I believe the implementation to keep on widening the vector to
the next power of two must be in TargetLowering.h because that is where we
decide whether to Widen the vector or not, and the size to which we widen
it. In this case, we stop at 4xi8 and do not check if it is legal or not.
But the comment says ‘try to widen vector elements until a legal type is
found’.
Also, there is a
2013 Aug 12
0
[LLVMdev] vector type legalization
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
2013 Aug 12
2
[LLVMdev] vector type legalization
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 promoted to v4i32. Why doesn't v3i8 (or even v4i8) get widened to v16i8? Alternatively, v3i8 could be widened to v4i8 then