// { dg-do compile { target { powerpc*-*-linux* } } } // { dg-require-effective-target ppc_float128_sw } // { dg-options "-mvsx -mfloat128 -O2 -mabi=ibmlongdouble -Wno-psabi" } // PR 85657 // Check that __ibm128 and long double can be used in the same template, // even if long double uses the IBM extended double representation. template inline bool iszero (__T __val) { return __val == 0; } int use_template (void) { long double ld = 0.0; __ibm128 ibm = 0.0; __asm__ (" # %x0, %x1" : "+d" (ld), "+d" (ibm)); return iszero (ld) + iszero (ibm); }