https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111002
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>: https://gcc.gnu.org/g:47b833a9abe19d862a773d20dd6f961dcf811a11 commit r14-3350-g47b833a9abe19d862a773d20dd6f961dcf811a11 Author: Andrew Pinski <apin...@marvell.com> Date: Sun Aug 20 17:22:27 2023 -0700 MATCH: [PR111002] Sink view_convert for vec_cond Like convert we can sink view_convert into vec_cond but we can only do it if the element types are nop_conversions. This is to allow conversion between signed and unsigned types only. Rather than between integer and float types which mess up the vec_cond so that isel does not understand `a?-1:0` is still that. OK? Bootstrapped and tested on x86_64-linux-gnu and aarch64-linux-gnu. PR tree-optimization/111002 gcc/ChangeLog: * match.pd (view_convert(vec_cond(a,b,c))): New pattern. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sve/cond_convert_8.c: New test.