combine vec_perm_expr with constructor

Marc Glisse marc.glisse@inria.fr
Mon Sep 3 15:51:00 GMT 2012


On Mon, 3 Sep 2012, Richard Guenther wrote:

> On Mon, Sep 3, 2012 at 4:00 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
>> On Mon, 3 Sep 2012, Richard Guenther wrote:
>>
>>> You shouldn't need the VECTOR_CST handling - constant propagation should
>>> already ensure properly simplified code here (and is the more canonical
>>> place
>>> to handle this).
>>
>>
>> IIRC, I added VECTOR_CST because of mixed constructor/vector_cst shuffles
>> (and because it wasn't too hard). If I remove it (I can), I guess some of
>> the testcases won't work anymore.
>
> I see.  If you still have a testcase can you look if CCP does not do 
> something it should?

I think CCP is working fine, the fold_ternary patch you approved today 
tests some of that (without that patch, sometimes ccp1 does half the work 
and fre1 finishes it, and since forwprop1 is before fre1, I hit that 
case there). Is there a particular scenario you have in mind that might 
not be handled?

Here I was concerned with:
x={a,b}; // constructor
y={18,42}; // vector_cst
m={0,3};
__builtin_shuffle(x,y,m) // should be {a,42}

-- 
Marc Glisse



More information about the Gcc-patches mailing list