[PATCH] - Improve widening of 3 element binary vector operations that don't trap

Redmond, Paul paul.redmond at intel.com
Mon Aug 19 11:30:31 PDT 2013


Hi Nadav,

On 2013-08-19 1:00 PM, "Nadav Rotem" <nrotem at apple.com> wrote:

>Hi Paul, 
>
>This patch looks good, but I am a little worried about denormals.  With
>this patch we will execute vector operations on garbage at the fourth
>vector element.  One possible solution would be to mask out the last
>element. Does that sound right to you ?

That's a good question. I don't have a good answer right now. What about
handling the floating point operations in WidenVecRes_BinaryCanTrap for
now? (only the integral types are widened)

paul

>
>Thanks,
>Nadav
>
>On Aug 19, 2013, at 8:14 AM, Redmond, Paul <paul.redmond at intel.com> wrote:
>
>> This patch improves the widening of non-div/rem binary vector operations
>> 
>> - split WidenVecRes_Binary into WidenVecRes_Binary and
>> WidenVecRes_BinaryCanTrap
>>  - WidenVecRes_BinaryCanTrap preserves the original behaviour for
>> operations that can trap
>>  - WidenVecRes_Binary simply widens the operation and improves codegen
>> for 3 element vectors
>>    by allowing widening and promotion on x86 (matches the behaviour of
>> unary and ternary
>>    operation widening)
>> 
>> Thanks
>> paul
>> 
>> <widenvecres_binary.diff>_______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>





More information about the llvm-commits mailing list