On Thu, Nov 03, 2016 at 04:05:59PM -0400, Michael Meissner wrote: > --- gcc/config/rs6000/rs6000.md (revision 241715) > +++ gcc/config/rs6000/rs6000.md (working copy) > @@ -376,7 +376,7 @@ > (TF "TARGET_HARD_FLOAT > && (TARGET_FPRS || TARGET_E500_DOUBLE) > && TARGET_LONG_DOUBLE_128") > - (IF "TARGET_LONG_DOUBLE_128") > + (IF "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128") > (KF "TARGET_FLOAT128_TYPE") > (DD "TARGET_DFP") > (TD "TARGET_DFP")])
You might want to use FLOAT128_IBM_P here too, like you do below: > @@ -398,7 +398,7 @@ > (define_mode_iterator FMOVE64 [DF DD]) > (define_mode_iterator FMOVE64X [DI DF DD]) > (define_mode_iterator FMOVE128 [(TF "TARGET_LONG_DOUBLE_128") > - (IF "TARGET_LONG_DOUBLE_128") > + (IF "FLOAT128_IBM_P (IFmode)") > (TD "TARGET_HARD_FLOAT && TARGET_FPRS")]) > > (define_mode_iterator FMOVE128_FPR [(TF "FLOAT128_2REG_P (TFmode)") Okay for trunk with or without that. Thanks! Segher