https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97521
--- Comment #23 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:605c2a393d3a2db86454a70fd7c9467db434060c commit r11-4381-g605c2a393d3a2db86454a70fd7c9467db434060c Author: Richard Biener <rguent...@suse.de> Date: Fri Oct 23 08:40:15 2020 +0200 middle-end/97521 - always use single-bit bools in mask vector types This makes us always use a single-bit boolean type component type for integer mode mask VECTOR_BOOLEAN_TYPE_P to match the RTL and target representation. This aovids the need for magic translation and the inconsistencies from the translation requirement now that we expose temporaries of those types on the GIMPLE level. 2020-10-23 Richard Biener <rguent...@suse.de> PR middle-end/97521 * expr.c (const_scalar_mask_from_tree): Remove. (expand_expr_real_1): Always VIEW_CONVERT integer mode vector constants to an integer type. * tree.c (build_truth_vector_type_for_mode): Use a single-bit boolean component type for non-vector-mode mask_mode. * gcc.target/i386/pr97521.c: New testcase.