diff options
author | Lang Hames <lhames@gmail.com> | 2012-10-04 03:07:37 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2012-10-04 03:07:37 +0000 |
commit | 05a3e31a21d5dfe629dbb900c4fbd4fd17e1318c (patch) | |
tree | b72c86bd2255fd0725cae7d4ee95d701a25a3e1f | |
parent | 68be1649ee65d59468e01f69862b7709134ed423 (diff) | |
download | bcm5719-llvm-05a3e31a21d5dfe629dbb900c4fbd4fd17e1318c.tar.gz bcm5719-llvm-05a3e31a21d5dfe629dbb900c4fbd4fd17e1318c.zip |
Test file-scoped FP_CONTRACT pragma.
llvm-svn: 165196
-rw-r--r-- | clang/test/CodeGen/fp-contract-pragma.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGen/fp-contract-pragma.cpp b/clang/test/CodeGen/fp-contract-pragma.cpp index 9be9afc4c29..edb04d82ef5 100644 --- a/clang/test/CodeGen/fp-contract-pragma.cpp +++ b/clang/test/CodeGen/fp-contract-pragma.cpp @@ -46,3 +46,20 @@ template<typename T> class fp_contract_4 { template class fp_contract_4<int>; // CHECK: _ZN13fp_contract_4IiE6methodEfff // CHECK: tail call float @llvm.fmuladd + +// Check file-scoped FP_CONTRACT +#pragma STDC FP_CONTRACT ON +float fp_contract_5(float a, float b, float c) { +// CHECK: _Z13fp_contract_5fff +// CHECK: tail call float @llvm.fmuladd + return a * b + c; +} + +#pragma STDC FP_CONTRACT OFF +float fp_contract_6(float a, float b, float c) { +// CHECK: _Z13fp_contract_6fff +// CHECK: %[[M:.+]] = fmul float %a, %b +// CHECK-NEXT: fadd float %[[M]], %c + return a * b + c; +} + |