diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-17 10:34:35 +0100 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-20 10:21:58 +0100 |
commit | f25a5b199a0ebd4695466e665e49041339f0c6a7 (patch) | |
tree | 2da9972bb2147ab80bc32d1c1e9147177102c861 /gcc/tree-vect-loop.cc | |
parent | 103a3966bc7b68f91b6cd3c5beb330c4b8570c90 (diff) | |
download | gcc-f25a5b199a0ebd4695466e665e49041339f0c6a7.zip gcc-f25a5b199a0ebd4695466e665e49041339f0c6a7.tar.gz gcc-f25a5b199a0ebd4695466e665e49041339f0c6a7.tar.bz2 |
vect: Add bool pattern handling for COND_OPs.
In order to handle masks properly for conditional operations this patch
teaches vect_recog_mask_conversion_pattern to also handle conditional
operations. Now we convert e.g.
_mask = *_6;
_ifc123 = COND_OP (_mask, ...);
into
_mask = *_6;
patt200 = (<signed-boolean:1>) _mask;
patt201 = COND_OP (patt200, ...);
This way the mask will be properly recognized as boolean mask and the
correct vector mask will be generated.
gcc/ChangeLog:
PR middle-end/112406
* tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
Convert masks for conditional operations as well.
gcc/testsuite/ChangeLog:
* gfortran.dg/pr112406.f90: New test.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions