diff options
author | Victor Do Nascimento <victor.donascimento@arm.com> | 2024-10-10 12:55:04 +0100 |
---|---|---|
committer | Victor Do Nascimento <victor.donascimento@arm.com> | 2024-10-14 10:11:13 +0100 |
commit | a6f4404689f12fa169540d94c0d06532c7152c2f (patch) | |
tree | bf7869c13bebf22bb873cc60d9c4cb64df655869 /gcc/tree-vectorizer.h | |
parent | 50e7c51b0a0e9dc1d93f829016ae743b4f2e5070 (diff) | |
download | gcc-a6f4404689f12fa169540d94c0d06532c7152c2f.zip gcc-a6f4404689f12fa169540d94c0d06532c7152c2f.tar.gz gcc-a6f4404689f12fa169540d94c0d06532c7152c2f.tar.bz2 |
middle-end: [PR middle-end/116926] Allow widening optabs for vec-mode -> scalar-mode
The recent refactoring of the dot_prod optab to convert-type exposed a
limitation in how `find_widening_optab_handler_and_mode' is currently
implemented, owing to the fact that, while the function expects the
GET_MODE_CLASS (from_mode) == GET_MODE_CLASS (to_mode)
condition to hold, the c6x backend implements a dot product from V2HI
to SI, which triggers an ICE.
Consequently, this patch adds some logic to allow widening optabs
which accumulate vector elements to a single scalar.
gcc/ChangeLog:
PR middle-end/116926
* optabs-query.cc (find_widening_optab_handler_and_mode): Add
handling of vector -> scalar optab handling.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions