[llvm-commits] [PATCH 2/2] fix issues similar to PR11334

Nadav Rotem nrotem at apple.com
Mon Sep 10 00:26:51 PDT 2012


Hi Michael, 

Like I wrote before, I still think that the handling of FP_ROUND and FP_EXT should happen as a DAGCombine before type-legalization. It is pretty easy to detect FP_ROUND and FP_EXT before they are being scalarized, but after scalarization you need lots of code to reassemble them.  

Thanks,
Nadav 


On Sep 6, 2012, at 1:00 AM, Michael Liao <michael.liao at intel.com> wrote:

> Ping.
> 
> Thanks for review
> - Michael
> 
> On Thu, 2012-08-30 at 10:49 -0700, Michael Liao wrote:
>> Patch is rebased after UseSSE commit. Thanks for your review!
>> 
>> Yours
>> - Michael
>> 
>> On Tue, 2012-08-28 at 00:20 -0700, Michael Liao wrote:
>>> Ping...
>>> 
>>> Thanks
>>> - Michael
>>> 
>>> On Sat, 2012-08-18 at 21:16 -0700, Michael Liao wrote:
>>>> Ping again.
>>>> 
>>>> Yours
>>>> - Michael
>>>> 
>>>> On Thu, 2012-08-16 at 10:48 -0700, Michael Liao wrote:
>>>>> revised again with special case (all operands in BUILD_VECTOR are
>>>>> undefined.).
>>>>> 
>>>>> Yours
>>>>> - Michael
>>>>> 
>>>>> On Wed, 2012-08-15 at 09:51 -0700, Michael Liao wrote:
>>>>>> Here is a revised patch reducing FP_ROUND DAG combination overhead.
>>>>>> 
>>>>>> Yours
>>>>>> - Michael
>>>>>> 
>>>>>> On Tue, 2012-08-14 at 15:32 -0700, Michael Liao wrote:
>>>>>>> Hi
>>>>>>> 
>>>>>>> Here're two patches fixing issues similar to but not the exactly same as
>>>>>>> PR11334. The second part fixes FPROUND from f64 vector to f32 vector.
>>>>>>> This patches add a lowering helper for BUILD_VECTOR to recognize the
>>>>>>> scalarized pattern due to FPROUND requires matching elements. A lower
>>>>>>> overhead DAG combination of FPROUND is added as well to handle a special
>>>>>>> case (v2f64 -> v2f32) in AVX, where it's converted to v4f64 -> v4f32
>>>>>>> after type legalization and, instead of vcvtpd2ps, use vcvtpd2psy and
>>>>>>> unnecessary 256-bit vector registers. Tests are added/revised as well.
>>>>>>> 
>>>>>>> Yours
>>>>>>> - Michael
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> llvm-commits mailing list
>>>>>>> llvm-commits at cs.uiuc.edu
>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>> 
>>>>>> _______________________________________________
>>>>>> llvm-commits mailing list
>>>>>> llvm-commits at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>> 
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>> 
>>>> 
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>> 
>>> 
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> _______________________________________________
> 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