> 
> This restores the vec_construct cost dependence on the vector element
> count.  Honza removed this (accidentially?) during the rework.
> 
> Bootstrap / regtest running on x86_64-unknown-linux-gnu, ok for trunk?

Hmm, the false parameter to ix86_vec_cost is supposed to do that.  It uses:

if (!parallel)                                                                
    return cost * GET_MODE_NUNITS (mode);                                       

Why it doesn't work?

Honza
> 
> Thanks,
> Richard.
> 
> 2017-12-08  Richard Biener  <rguent...@suse.de>
> 
>       PR target/83008
>       * config/i386/i386.c (ix86_builtin_vectorization_cost): Restore
>       vec_construct dependence on vector element count.
> 
> Index: gcc/config/i386/i386.c
> ===================================================================
> --- gcc/config/i386/i386.c    (revision 255499)
> +++ gcc/config/i386/i386.c    (working copy)
> @@ -44879,7 +44879,8 @@ ix86_builtin_vectorization_cost (enum ve
>                             ix86_cost->sse_op, true);
>  
>        case vec_construct:
> -     return ix86_vec_cost (mode, ix86_cost->sse_op, false);
> +     return (ix86_vec_cost (mode, ix86_cost->sse_op, false)
> +             * (TYPE_VECTOR_SUBPARTS (vectype) - 1));
>  
>        default:
>          gcc_unreachable ();

Reply via email to