On 7/3/19 1:59 AM, Jakub Jelinek wrote: > Hi! > > This weird hink has been added by Alex in r228175, it isn't clear why > nor how it ever can be correct. While say for DECL_MODE we have the problem > that for global vars when switching between functions with different ISA > selections the mode might not be ok, TYPE_MODE is stored as a raw vector > mode that a function overrides to BLKmode if that particular vector mode is > not supported. This hunk breaks that assumption and leaks unsupported > vector modes in the IL of the functions which then have no way to handle > that, but even before that happens usually it breaks because we try to > convert_mode between BLKmode and the unsupported vector mode or vice versa > on PHI nodes. > > Alex, do you remember why this has been done? > > Patch has been bootstrapped/regtested on x86_64-linux and i686-linux (the > latter didn't have SSE enabled by default), Jeff said he'll test it on many > crosses. Ok for trunk if that testing succeeds? > > 2019-07-03 Jakub Jelinek <ja...@redhat.com> > > PR rtl-optimization/90756 > * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it > for VECTOR_TYPE_P. > > * gcc.dg/pr90756.c: New test. Nothing tripped related to this patch in the various targets in my tester.
jeff