On Tue, Jul 22, 2025, 6:09 AM Richard Biener <rguent...@suse.de> wrote:

> With a patch still in development we get NULL STMT_VINFO_VECTYPE.
> One side-effect is that during scalar stmt testing we no longer
> pass a vectype.  The following adjusts aarch64_vector_costs::add_stmt_cost
> to check for a non-NULL vectype before accessing it, like all the
> code surrounding it.  The other fix possibility would have been
> to re-orderr the check with the vect_mem_access_type one, but that
> one is not going to exist during scalar code costing either in the
> future.
>
> Built a aarch64 cross and verified the issue I ran into no longer
> appears.
>
> OK for trunk?
>


Ok

>
> Thanks,
> Richard.
>
>         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
>         Check vectype is non-NULL before accessing it.
> ---
>  gcc/config/aarch64/aarch64.cc | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
> index 72a691b8e2f..9e4a37bcaff 100644
> --- a/gcc/config/aarch64/aarch64.cc
> +++ b/gcc/config/aarch64/aarch64.cc
> @@ -17976,6 +17976,7 @@ aarch64_vector_costs::add_stmt_cost (int count,
> vect_cost_for_stmt kind,
>
>        /* Check if we've seen an SVE gather/scatter operation and which
> size.  */
>        if (kind == scalar_load
> +         && vectype
>           && aarch64_sve_mode_p (TYPE_MODE (vectype))
>           && vect_mem_access_type (stmt_info, node) == VMAT_GATHER_SCATTER)
>         {
> --
> 2.43.0
>

Reply via email to