1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ 2 /* { dg-require-effective-target powerpc_p9vector_ok } */ 3 /* { dg-options "-mpower9-vector -O2 -mabi=ibmlongdouble -Wno-psabi" } */ 4 5 /* Make sure the old 'q' builtin functions work correctly when the long double 6 default uses the IBM double-double format. */ 7 8 _Float128 do_fabs(_Float128 a)9do_fabs (_Float128 a) 10 { 11 return __builtin_fabsq (a); 12 } 13 14 _Float128 do_copysign(_Float128 a,_Float128 b)15do_copysign (_Float128 a, _Float128 b) 16 { 17 return __builtin_copysignq (a, b); 18 } 19 20 _Float128 do_inf(void)21do_inf (void) 22 { 23 return __builtin_infq (); 24 } 25 26 _Float128 do_nan(void)27do_nan (void) 28 { 29 return __builtin_nanq (""); 30 } 31 32 _Float128 do_nans(void)33do_nans (void) 34 { 35 return __builtin_nansq (""); 36 } 37 38 _Float128 do_huge_val(void)39do_huge_val (void) 40 { 41 return __builtin_huge_valq (); 42 } 43 44 /* { dg-final { scan-assembler {\mxsabsqp\M} } } */ 45 /* { dg-final { scan-assembler {\mxscpsgnqp\M} } } */ 46 /* { dg-final { scan-assembler-not {\mbl\M} } } */ 47