https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92645
--- Comment #26 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:285fa338b06b804e72997c4d876ecf08a9c083af commit r11-6649-g285fa338b06b804e72997c4d876ecf08a9c083af Author: Richard Biener <rguent...@suse.de> Date: Wed Jan 13 13:48:31 2021 +0100 tree-optimization/92645 - avoid harmful early BIT_FIELD_REF canonicalization This avoids canonicalizing BIT_FIELD_REF <T1> (a, <sz>, 0) to (T1)a on integer typed a. This confuses the vectorizer SLP matching. With this delayed to after vector lowering the testcase in PR92645 from Skia is now finally optimized to reasonable assembly. 2021-01-13 Richard Biener <rguent...@suse.de> PR tree-optimization/92645 * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization until after vector lowering. * gcc.target/i386/pr92645-7.c: New testcase. * gcc.dg/tree-ssa/ssa-fre-54.c: Adjust. * gcc.dg/pr69047.c: Likewise.