https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107275
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Andre Simoes Dias Vieira <avie...@gcc.gnu.org>: https://gcc.gnu.org/g:aae016f99b121b55fc1bcdfc2403fd22f04fa2df commit r13-3355-gaae016f99b121b55fc1bcdfc2403fd22f04fa2df Author: Andre Vieira <andre.simoesdiasvie...@arm.com> Date: Tue Oct 18 10:51:09 2022 +0100 ifcvt: Do not lower bitfields if we can't analyze dr's [PR107275] The ifcvt dead code elimination code was not built to deal with inline assembly, loops with such would never be if-converted in the past since we can't do data-reference analysis on them and vectorization would eventually fail. For this reason we now also do not lower bitfields if the data-reference analysis fails, as we would not end up vectorizing it. As a consequence this also fixes this PR as the dead code elimination will not run for such cases and wrongfully eliminate inline assembly statements. gcc/ChangeLog: PR tree-optimization/107275 * tree-if-conv.cc (if_convertible_loop_p_1): Move find_data_references_in_loop call from here... (if_convertible_loop_p): And move data-reference vector initialization from here... (tree_if_conversion):... to here. gcc/testsuite/ChangeLog: * gcc.dg/vect/pr107275.c: New test.