Hi! Please don't send patches as replies.
On Sat, Apr 23, 2022 at 10:33:35AM -0300, Alexandre Oliva wrote: > On Apr 14, 2022, Alexandre Oliva <ol...@adacore.com> wrote: > > > * gcc.target/powerpr/pr79004.c: Add -mlong-double-128. > > Just like pr79004, float128-hw.c requires -mlong-double-128 for some > the expected asm opcodes to be output on target variants that have > 64-bit long doubles. That's because their expanders, > e.g. floatsi<mode>2 for FLOAT128 modes, are conditioned on > TARGET_LONG_DOUBLE_128, which is not set on target variants that use > 64-bit long double. > > float128-hw4.c doesn't even compile without -mlong-double-128, on > 64-bit long double target variants. The error is "invalid parameter > combination for AltiVec intrinsic" in get_float128_exponent, > get_float128_mantissa, and set_float128_exponent_float128, presumably > caused by rs6000_builtin_type_compatible's refusal to consider > _Float128 compatible when TARGET_LONG_DOUBLE_128 is not set. > > Since these are compile tests, -mlong-double-128 doesn't hurt even on > target variants that use 64-bit long double, and enables both tests to > pass. This is not okay, sorry. The testcase uses _Float128, what code that generates should not depend on your long double setting. Please file a PR instead? Segher