// RUN: %clang_cc1 -triple x86_64-unknown-unknown -w -S -o - -emit-llvm %s \
// RUN:   -fmath-errno | FileCheck %s -check-prefix=F80
// RUN: %clang_cc1 -triple ppc64le-unknown-unknown -w -S -o - -emit-llvm %s \
// RUN:   -fmath-errno | FileCheck %s -check-prefix=PPC
// RUN: %clang_cc1 -triple x86_64-unknown-unknown -mlong-double-128 -w -S \
// RUN:   -o - -emit-llvm %s -fmath-errno | FileCheck %s -check-prefix=X86F128
// RUN: %clang_cc1 -triple ppc64le-unknown-unknown -mabi=ieeelongdouble -w -S \
// RUN:   -o - -emit-llvm %s -fmath-errno | FileCheck %s -check-prefix=PPCF128

void bar(long double);

void foo(long double f, long double *l, int *i, const char *c) {
  // F80: call x86_fp80 @fmodl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @fmodl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @fmodl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @fmodf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_fmodl(f,f);

  // F80: call x86_fp80 @atan2l(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @atan2l(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @atan2l(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @atan2f128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_atan2l(f,f);

  // F80: call x86_fp80 @llvm.copysign.f80(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.copysign.ppcf128(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.copysign.f128(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.copysign.f128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_copysignl(f,f);

  // F80: call x86_fp80 @llvm.fabs.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.fabs.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.fabs.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.fabs.f128(fp128 %{{.+}})
  __builtin_fabsl(f);

  // F80: call x86_fp80 @frexpl(x86_fp80 %{{.+}}, i32* %{{.+}})
  // PPC: call ppc_fp128 @frexpl(ppc_fp128 %{{.+}}, i32* %{{.+}})
  // X86F128: call fp128 @frexpl(fp128 %{{.+}}, i32* %{{.+}})
  // PPCF128: call fp128 @frexpf128(fp128 %{{.+}}, i32* %{{.+}})
  __builtin_frexpl(f,i);

  // F80: store x86_fp80 0xK7FFF8000000000000000, x86_fp80*
  // PPC: store ppc_fp128 0xM7FF00000000000000000000000000000, ppc_fp128*
  // X86F128: store fp128 0xL00000000000000007FFF000000000000, fp128*
  // PPCF128: store fp128 0xL00000000000000007FFF000000000000, fp128*
  *l = __builtin_huge_vall();

  // F80: store x86_fp80 0xK7FFF8000000000000000, x86_fp80*
  // PPC: store ppc_fp128 0xM7FF00000000000000000000000000000, ppc_fp128*
  // X86F128: store fp128 0xL00000000000000007FFF000000000000, fp128*
  // PPCF128: store fp128 0xL00000000000000007FFF000000000000, fp128*
  *l = __builtin_infl();

  // F80: call x86_fp80 @ldexpl(x86_fp80 %{{.+}}, i32 %{{.+}})
  // PPC: call ppc_fp128 @ldexpl(ppc_fp128 %{{.+}}, {{(signext)?.+}})
  // X86F128: call fp128 @ldexpl(fp128 %{{.+}}, {{(signext)?.+}})
  // PPCF128: call fp128 @ldexpf128(fp128 %{{.+}}, {{(signext)?.+}})
  __builtin_ldexpl(f,f);

  // F80: call x86_fp80 @modfl(x86_fp80 %{{.+}}, x86_fp80* %{{.+}})
  // PPC: call ppc_fp128 @modfl(ppc_fp128 %{{.+}}, ppc_fp128* %{{.+}})
  // X86F128: call fp128 @modfl(fp128 %{{.+}}, fp128* %{{.+}})
  // PPCF128: call fp128 @modff128(fp128 %{{.+}}, fp128* %{{.+}})
  __builtin_modfl(f,l);

  // F80: call x86_fp80 @nanl(i8* %{{.+}})
  // PPC: call ppc_fp128 @nanl(i8* %{{.+}})
  // X86F128: call fp128 @nanl(i8* %{{.+}})
  // PPCF128: call fp128 @nanf128(i8* %{{.+}})
  __builtin_nanl(c);

  // F80: call x86_fp80 @nansl(i8* %{{.+}})
  // PPC: call ppc_fp128 @nansl(i8* %{{.+}})
  // X86F128: call fp128 @nansl(i8* %{{.+}})
  // PPCF128: call fp128 @nansf128(i8* %{{.+}})
  __builtin_nansl(c);

  // F80: call x86_fp80 @powl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @powl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @powl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @powf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_powl(f,f);

  // F80: call x86_fp80 @acosl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @acosl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @acosl(fp128 %{{.+}})
  // PPCF128: call fp128 @acosf128(fp128 %{{.+}})
  __builtin_acosl(f);

  // F80: call x86_fp80 @acoshl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @acoshl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @acoshl(fp128 %{{.+}})
  // PPCF128: call fp128 @acoshf128(fp128 %{{.+}})
  __builtin_acoshl(f);

  // F80: call x86_fp80 @asinl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @asinl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @asinl(fp128 %{{.+}})
  // PPCF128: call fp128 @asinf128(fp128 %{{.+}})
  __builtin_asinl(f);

  // F80: call x86_fp80 @asinhl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @asinhl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @asinhl(fp128 %{{.+}})
  // PPCF128: call fp128 @asinhf128(fp128 %{{.+}})
  __builtin_asinhl(f);

  // F80: call x86_fp80 @atanl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @atanl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @atanl(fp128 %{{.+}})
  // PPCF128: call fp128 @atanf128(fp128 %{{.+}})
  __builtin_atanl(f);

  // F80: call x86_fp80 @atanhl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @atanhl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @atanhl(fp128 %{{.+}})
  // PPCF128: call fp128 @atanhf128(fp128 %{{.+}})
  __builtin_atanhl(f);

  // F80: call x86_fp80 @cbrtl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @cbrtl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @cbrtl(fp128 %{{.+}})
  // PPCF128: call fp128 @cbrtf128(fp128 %{{.+}})
  __builtin_cbrtl(f);

  // F80: call x86_fp80 @llvm.ceil.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.ceil.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.ceil.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.ceil.f128(fp128 %{{.+}})
  __builtin_ceill(f);

  // F80: call x86_fp80 @cosl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @cosl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @cosl(fp128 %{{.+}})
  // PPCF128: call fp128 @cosf128(fp128 %{{.+}})
  __builtin_cosl(f);

  // F80: call x86_fp80 @coshl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @coshl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @coshl(fp128 %{{.+}})
  // PPCF128: call fp128 @coshf128(fp128 %{{.+}})
  __builtin_coshl(f);

  // F80: call x86_fp80 @llvm.floor.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.floor.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.floor.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.floor.f128(fp128 %{{.+}})
  __builtin_floorl(f);

  // F80: call x86_fp80 @llvm.maxnum.f80(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.maxnum.ppcf128(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.maxnum.f128(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.maxnum.f128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_fmaxl(f,f);

  // F80: call x86_fp80 @llvm.minnum.f80(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.minnum.ppcf128(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.minnum.f128(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.minnum.f128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_fminl(f,f);

  // F80: call x86_fp80 @llvm.nearbyint.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.nearbyint.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.nearbyint.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.nearbyint.f128(fp128 %{{.+}})
  __builtin_nearbyintl(f);

  // F80: call x86_fp80 @llvm.trunc.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.trunc.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.trunc.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.trunc.f128(fp128 %{{.+}})
  __builtin_truncl(f);

  // F80: call x86_fp80 @llvm.rint.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.rint.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.rint.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.rint.f128(fp128 %{{.+}})
  __builtin_rintl(f);

  // F80: call x86_fp80 @llvm.round.f80(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @llvm.round.ppcf128(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @llvm.round.f128(fp128 %{{.+}})
  // PPCF128: call fp128 @llvm.round.f128(fp128 %{{.+}})
  __builtin_roundl(f);

  // F80: call x86_fp80 @erfl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @erfl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @erfl(fp128 %{{.+}})
  // PPCF128: call fp128 @erff128(fp128 %{{.+}})
  __builtin_erfl(f);

  // F80: call x86_fp80 @erfcl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @erfcl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @erfcl(fp128 %{{.+}})
  // PPCF128: call fp128 @erfcf128(fp128 %{{.+}})
  __builtin_erfcl(f);

  // F80: call x86_fp80 @expl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @expl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @expl(fp128 %{{.+}})
  // PPCF128: call fp128 @expf128(fp128 %{{.+}})
  __builtin_expl(f);

  // F80: call x86_fp80 @exp2l(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @exp2l(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @exp2l(fp128 %{{.+}})
  // PPCF128: call fp128 @exp2f128(fp128 %{{.+}})
  __builtin_exp2l(f);

  // F80: call x86_fp80 @expm1l(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @expm1l(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @expm1l(fp128 %{{.+}})
  // PPCF128: call fp128 @expm1f128(fp128 %{{.+}})
  __builtin_expm1l(f);

  // F80: call x86_fp80 @fdiml(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @fdiml(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @fdiml(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @fdimf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_fdiml(f,f);

  // F80: call x86_fp80 @fmal(x86_fp80 %{{.+}}, x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @fmal(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @fmal(fp128 %{{.+}}, fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @fmaf128(fp128 %{{.+}}, fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_fmal(f,f,f);

  // F80: call x86_fp80 @hypotl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @hypotl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @hypotl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @hypotf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_hypotl(f,f);

  // F80: call i32 @ilogbl(x86_fp80 %{{.+}})
  // PPC: call {{(i32)|(signext i32)}} @ilogbl(ppc_fp128 %{{.+}})
  // X86F128: call {{(i32)|(signext i32)}} @ilogbl(fp128 %{{.+}})
  // PPCF128: call {{(i32)|(signext i32)}} @ilogbf128(fp128 %{{.+}})
  __builtin_ilogbl(f);

  // F80: call x86_fp80 @lgammal(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @lgammal(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @lgammal(fp128 %{{.+}})
  // PPCF128: call fp128 @lgammaf128(fp128 %{{.+}})
  __builtin_lgammal(f);

  // F80: call i64 @llrintl(x86_fp80 %{{.+}})
  // PPC: call i64 @llrintl(ppc_fp128 %{{.+}})
  // X86F128: call i64 @llrintl(fp128 %{{.+}})
  // PPCF128: call i64 @llrintf128(fp128 %{{.+}})
  __builtin_llrintl(f);

  // F80: call i64 @llroundl(x86_fp80 %{{.+}})
  // PPC: call i64 @llroundl(ppc_fp128 %{{.+}})
  // X86F128: call i64 @llroundl(fp128 %{{.+}})
  // PPCF128: call i64 @llroundf128(fp128 %{{.+}})
  __builtin_llroundl(f);

  // F80: call x86_fp80 @logl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @logl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @logl(fp128 %{{.+}})
  // PPCF128: call fp128 @logf128(fp128 %{{.+}})
  __builtin_logl(f);

  // F80: call x86_fp80 @log10l(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @log10l(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @log10l(fp128 %{{.+}})
  // PPCF128: call fp128 @log10f128(fp128 %{{.+}})
  __builtin_log10l(f);

  // F80: call x86_fp80 @log1pl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @log1pl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @log1pl(fp128 %{{.+}})
  // PPCF128: call fp128 @log1pf128(fp128 %{{.+}})
  __builtin_log1pl(f);

  // F80: call x86_fp80 @log2l(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @log2l(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @log2l(fp128 %{{.+}})
  // PPCF128: call fp128 @log2f128(fp128 %{{.+}})
  __builtin_log2l(f);

  // F80: call x86_fp80 @logbl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @logbl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @logbl(fp128 %{{.+}})
  // PPCF128: call fp128 @logbf128(fp128 %{{.+}})
  __builtin_logbl(f);

  // F80: call i64 @lrintl(x86_fp80 %{{.+}})
  // PPC: call i64 @lrintl(ppc_fp128 %{{.+}})
  // X86F128: call i64 @lrintl(fp128 %{{.+}})
  // PPCF128: call i64 @lrintf128(fp128 %{{.+}})
  __builtin_lrintl(f);

  // F80: call i64 @lroundl(x86_fp80 %{{.+}})
  // PPC: call i64 @lroundl(ppc_fp128 %{{.+}})
  // X86F128: call i64 @lroundl(fp128 %{{.+}})
  // PPCF128: call i64 @lroundf128(fp128 %{{.+}})
  __builtin_lroundl(f);

  // F80: call x86_fp80 @nextafterl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @nextafterl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @nextafterl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @nextafterf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_nextafterl(f,f);

  // F80: call x86_fp80 @nexttowardl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @nexttowardl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @nexttowardl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @nexttowardf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_nexttowardl(f,f);

  // F80: call x86_fp80 @remainderl(x86_fp80 %{{.+}}, x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @remainderl(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}})
  // X86F128: call fp128 @remainderl(fp128 %{{.+}}, fp128 %{{.+}})
  // PPCF128: call fp128 @remainderf128(fp128 %{{.+}}, fp128 %{{.+}})
  __builtin_remainderl(f,f);

  // F80: call x86_fp80 @remquol(x86_fp80 %{{.+}}, x86_fp80 %{{.+}}, i32* %{{.+}})
  // PPC: call ppc_fp128 @remquol(ppc_fp128 %{{.+}}, ppc_fp128 %{{.+}}, i32* %{{.+}})
  // X86F128: call fp128 @remquol(fp128 %{{.+}}, fp128 %{{.+}}, i32* %{{.+}})
  // PPCF128: call fp128 @remquof128(fp128 %{{.+}}, fp128 %{{.+}}, i32* %{{.+}})
  __builtin_remquol(f,f,i);

  // F80: call x86_fp80 @scalblnl(x86_fp80 %{{.+}}, i64 %{{.+}})
  // PPC: call ppc_fp128 @scalblnl(ppc_fp128 %{{.+}}, i64 %{{.+}})
  // X86F128: call fp128 @scalblnl(fp128 %{{.+}}, i64 %{{.+}})
  // PPCF128: call fp128 @scalblnf128(fp128 %{{.+}}, i64 %{{.+}})
  __builtin_scalblnl(f,f);

  // F80: call x86_fp80 @scalbnl(x86_fp80 %{{.+}}, i32 %{{.+}})
  // PPC: call ppc_fp128 @scalbnl(ppc_fp128 %{{.+}}, {{(signext)?.+}})
  // X86F128: call fp128 @scalbnl(fp128 %{{.+}}, {{(signext)?.+}})
  // PPCF128: call fp128 @scalbnf128(fp128 %{{.+}}, {{(signext)?.+}})
  __builtin_scalbnl(f,f);

  // F80: call x86_fp80 @sinl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @sinl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @sinl(fp128 %{{.+}})
  // PPCF128: call fp128 @sinf128(fp128 %{{.+}})
  __builtin_sinl(f);

  // F80: call x86_fp80 @sinhl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @sinhl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @sinhl(fp128 %{{.+}})
  // PPCF128: call fp128 @sinhf128(fp128 %{{.+}})
  __builtin_sinhl(f);

  // F80: call x86_fp80 @sqrtl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @sqrtl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @sqrtl(fp128 %{{.+}})
  // PPCF128: call fp128 @sqrtf128(fp128 %{{.+}})
  __builtin_sqrtl(f);

  // F80: call x86_fp80 @tanl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @tanl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @tanl(fp128 %{{.+}})
  // PPCF128: call fp128 @tanf128(fp128 %{{.+}})
  __builtin_tanl(f);

  // F80: call x86_fp80 @tanhl(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @tanhl(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @tanhl(fp128 %{{.+}})
  // PPCF128: call fp128 @tanhf128(fp128 %{{.+}})
  __builtin_tanhl(f);

  // F80: call x86_fp80 @tgammal(x86_fp80 %{{.+}})
  // PPC: call ppc_fp128 @tgammal(ppc_fp128 %{{.+}})
  // X86F128: call fp128 @tgammal(fp128 %{{.+}})
  // PPCF128: call fp128 @tgammaf128(fp128 %{{.+}})
  __builtin_tgammal(f);
}
