// RUN: %clang_cc1 -O3 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
// Is FP_CONTRACT honored in a simple case?
float
// Is FP_CONTRACT state cleared on exiting compound statements?
float
// Does FP_CONTRACT survive template instantiation?
;
Foo ;
T
float
;
;
// CHECK: _ZN13fp_contract_4IiE6methodEfff
// CHECK: tail call float @llvm.fmuladd
// Check file-scoped FP_CONTRACT
float
float
// If the multiply has multiple uses, don't produce fmuladd.
// This used to assert (PR25719):
// https://llvm.org/bugs/show_bug.cgi?id=25719
float