aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-struct-field-expr.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-05-25 19:28:54 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2025-07-08 10:12:29 +0200
commitdf64d099faf843d90e8fe29aec17d84277986ee9 (patch)
tree79e35f6eeeab570836bb9227ad05af7e45547d1c /gcc/rust/backend/rust-compile-struct-field-expr.h
parentd1f05661fa6c8a6ea6f59ad365a84469100e425e (diff)
downloadgcc-df64d099faf843d90e8fe29aec17d84277986ee9.zip
gcc-df64d099faf843d90e8fe29aec17d84277986ee9.tar.gz
gcc-df64d099faf843d90e8fe29aec17d84277986ee9.tar.bz2
Allow the target to request a masked vector epilogue
Targets recently got the ability to request the vector mode to be used for a vector epilogue (or the epilogue of a vector epilogue). The following adds the ability for it to indicate the epilogue should use loop masking, irrespective of the --param vect-partial-vector-usage default setting. The patch below uses a separate flag from the epilogue mode, not addressing the issue that on x86 the vector_modes mode iteration hook would not allow for both masked and unmasked variants to be tried and costed given this doesn't naturally map to modes on that target. That's left for a future exercise - turning on cost comparison for the x86 backend would be a prerequesite there. * tree-vectorizer.h (vector_costs::suggested_epilogue_mode): Add masked output parameter and return m_masked_epilogue. (vector_costs::m_masked_epilogue): New tristate flag. (vector_costs::vector_costs): Initialize m_masked_epilogue. * tree-vect-loop.cc (vect_analyze_loop_1): Pass in masked flag to optionally initialize can_use_partial_vectors_p. (vect_analyze_loop): For epilogues also get whether to use a masked epilogue for this loop from the target and use that for the first epilogue mode we try.
Diffstat (limited to 'gcc/rust/backend/rust-compile-struct-field-expr.h')
0 files changed, 0 insertions, 0 deletions