https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98772
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Joel Hutton <jo...@gcc.gnu.org>: https://gcc.gnu.org/g:4af29981ab57ad7ef4467e371e4145cce9c16eaa commit r11-7189-g4af29981ab57ad7ef4467e371e4145cce9c16eaa Author: Joel Hutton <joel.hut...@arm.com> Date: Thu Feb 11 14:59:26 2021 +0000 [aarch64][vect] Support V8QI->V8HI WIDEN_ patterns In the case where 8 out of every 16 elements are widened using a widening pattern and the next 8 are skipped, the patterns are not recognized. This is because they are normally used in a pair, such as VEC_WIDEN_MINUS_HI/LO, to achieve a v16qi->v16hi conversion for example. This patch adds support for V8QI->V8HI patterns. gcc/ChangeLog: PR tree-optimization/98772 * optabs-tree.c (supportable_half_widening_operation): New function to check for supportable V8QI->V8HI widening patterns. * optabs-tree.h (supportable_half_widening_operation): New function. * tree-vect-stmts.c (vect_create_half_widening_stmts): New function to create promotion stmts for V8QI->V8HI widening patterns. (vectorizable_conversion): Add case for V8QI->V8HI. gcc/testsuite/ChangeLog: PR tree-optimization/98772 * gcc.target/aarch64/pr98772.c: New test.
