On Mon, Aug 14, 2017 at 06:02:51PM -0500, Peter Bergner wrote: > The undocumented option -mvsx-timode was added because there were reload > bugs we couldn't fix when we tried allowing TImode values in VSX registers. > We used the option to allow TImode values in VSX registers when LRA was > being used, but not when reload was being used. Now that GCC 8 has removed > the option of using reload, the TARGET_VSX_TIMODE flag is now logically the > same as TARGET_VSX. This patch replaces the TARGET_VSX_TIMODE flag with > uses of TARGET_VSX and removes the ability of using -mno-vsx-timode. > The option -mvsx-timode is now just a dummy stub similar to what we did > with -mlra.
> Index: gcc/config/rs6000/altivec.md > =================================================================== > --- gcc/config/rs6000/altivec.md (revision 251056) > +++ gcc/config/rs6000/altivec.md (working copy) > @@ -218,7 +218,7 @@ (define_mode_attr VS_sxwsp [(V4SI "sxw") > (define_mode_iterator VParity [V4SI > V2DI > V1TI > - (TI "TARGET_VSX_TIMODE")]) > + (TI "TARGET_VSX")]) You can completely remove the condition here as far as I see. > --- gcc/config/rs6000/rs6000.md (revision 251056) > +++ gcc/config/rs6000/rs6000.md (working copy) > @@ -399,7 +399,7 @@ (define_mode_iterator FMOVE128_FPR [(TF > (TD "TARGET_HARD_FLOAT")]) > > ; Iterators for 128 bit types for direct move > -(define_mode_iterator FMOVE128_GPR [(TI "TARGET_VSX_TIMODE") > +(define_mode_iterator FMOVE128_GPR [(TI "TARGET_VSX") > (V16QI "") > (V8HI "") > (V4SI "") Same here I think (less sure). > --- gcc/config/rs6000/vector.md (revision 251056) > +++ gcc/config/rs6000/vector.md (working copy) > @@ -31,7 +31,7 @@ (define_mode_iterator VEC_IP [V8HI > V4SI > V2DI > V1TI > - (TI "TARGET_VSX_TIMODE")]) > + (TI "TARGET_VSX")]) This one, too. > --- gcc/config/rs6000/vsx.md (revision 251056) > +++ gcc/config/rs6000/vsx.md (working copy) > @@ -34,11 +34,11 @@ (define_mode_iterator VSX_D [V2DF V2DI]) > ;; types that goes in a single vector register. > (define_mode_iterator VSX_LE_128 [(KF "FLOAT128_VECTOR_P (KFmode)") > (TF "FLOAT128_VECTOR_P (TFmode)") > - (TI "TARGET_VSX_TIMODE") > + (TI "TARGET_VSX") > V1TI]) And this. > ;; Iterator for 128-bit integer types that go in a single vector register. > -(define_mode_iterator VSX_TI [(TI "TARGET_VSX_TIMODE") V1TI]) > +(define_mode_iterator VSX_TI [(TI "TARGET_VSX") V1TI]) More :-) > @@ -71,7 +71,7 @@ (define_mode_iterator VSX_M [V16QI > V1TI > (KF "FLOAT128_VECTOR_P (KFmode)") > (TF "FLOAT128_VECTOR_P (TFmode)") > - (TI "TARGET_VSX_TIMODE")]) > + (TI "TARGET_VSX")]) And the last. (In most of those cases we have V1TI without condition already). Okay for trunk with that simplification. Thanks! Segher