diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2024-09-21 18:32:51 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2024-09-21 18:32:51 +0200 |
commit | 5999d558e74b3531536c74976e8f05bb3ed31335 (patch) | |
tree | 43a2dea525dd9706305d610ba685b6664dac53d8 /gcc/tree-vectorizer.h | |
parent | dd5250384dc91b4db117c599095f47955b6dc124 (diff) | |
download | gcc-5999d558e74b3531536c74976e8f05bb3ed31335.zip gcc-5999d558e74b3531536c74976e8f05bb3ed31335.tar.gz gcc-5999d558e74b3531536c74976e8f05bb3ed31335.tar.bz2 |
fortran: Inline integral MINLOC/MAXLOC with no DIM and scalar MASK [PR90608]
Enable the generation of inline code for MINLOC/MAXLOC when argument ARRAY
is of integral type, DIM is not present, and MASK is present and is scalar
(only absent MASK or rank 1 ARRAY were inlined before).
Scalar masks are implemented with a wrapping condition around the code one
would generate if MASK wasn't present, so they are easy to support once
inline code without MASK is working.
PR fortran/90608
gcc/fortran/ChangeLog:
* trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate
variable initialization for each dimension in the else branch of
the toplevel condition.
(gfc_inline_intrinsic_function_p): Return TRUE for scalar MASK.
gcc/testsuite/ChangeLog:
* gfortran.dg/maxloc_bounds_7.f90: Additionally accept the error message
reported by the scalarizer.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions