Check mask argument's type when vectorising conditional functions
We can't yet vectorise conditional internal functions whose boolean condition is fed by a data access (or more generally, by a tree of logic ops in which all the leaves are data accesses). Although we should add that eventually, we'd need further work to generate good-quality code. Unlike vectorizable_load and vectorizalbe_store, vectorizable_call wasn't checking whether the mask had a suitable type, leading to an ICE on the testcases. 2020-01-06 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-stmts.c (vect_check_load_store_mask): Rename to... (vect_check_scalar_mask): ...this. (vectorizable_store, vectorizable_load): Update call accordingly. (vectorizable_call): Use vect_check_scalar_mask to check the mask argument in calls to conditional internal functions. gcc/testsuite/ * gcc.dg/vect/vect-cond-arith-8.c: New test. * gcc.target/aarch64/sve/cond_fmul_5.c: Likewise. From-SVN: r279907
Showing
Please
register
or
sign in
to comment