]> git.ipfire.org Git - thirdparty/gcc.git/commit
vect: allow using inbranch simdclones for masked loops
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 3 Nov 2023 19:09:07 +0000 (19:09 +0000)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 3 Nov 2023 19:09:07 +0000 (19:09 +0000)
commitaed00696a01ac065e9ed327434ec29d1cf50179e
tree0a57b9a8842e77c3acd4667607f9c31f1721e694
parentae8abcb81ed81456c0fe5ff8e0c060c9fb9c82d7
vect: allow using inbranch simdclones for masked loops

In a previous patch I did most of the work for this, but forgot to change the
check for number of arguments matching between call and simdclone.  This check
should accept calls without a mask to be matched against simdclones with mask
arguments.  I also added tests to verify this feature actually works.

gcc/ChangeLog:

* tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow unmasked
calls to use masked simdclones.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/vect-simd-clone-20.c: New file.
* gfortran.dg/simd-builtins-1.h: Adapt.
* gfortran.dg/simd-builtins-6.f90: Adapt.
gcc/testsuite/gcc.dg/vect/vect-simd-clone-20.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/simd-builtins-1.h
gcc/testsuite/gfortran.dg/simd-builtins-6.f90
gcc/tree-vect-stmts.cc