https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103771
--- Comment #45 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>: https://gcc.gnu.org/g:e3385fed3fc61ac505fb5c1ffa09758a6f2489eb commit r16-605-ge3385fed3fc61ac505fb5c1ffa09758a6f2489eb Author: liuhongt <hongtao....@intel.com> Date: Mon Apr 7 20:12:00 2025 -0700 Extend vect_recog_cond_expr_convert_pattern to handle floating point type. For floating point, !flag_trapping_math is needed for the pattern which transforms 2 conversions to 1 conversion, and may lose 1 potential trap. There shouldn't be any accuracy issue. gcc/ChangeLog: PR tree-optimization/103771 * match.pd (cond_expr_convert_p): Extend the match to handle scalar floating point type. * tree-vect-patterns.cc (vect_recog_cond_expr_convert_pattern): Handle floating point type. gcc/testsuite/ChangeLog: * gcc.target/i386/pr103771-4.c: New test.