| // RUN: %clang_cc1 -menable-no-infs -menable-no-nans -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK -check-prefix=FINITE | 
 | // RUN: %clang_cc1 -fno-signed-zeros -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK  -check-prefix=NSZ | 
 | // RUN: %clang_cc1 -freciprocal-math -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK  -check-prefix=RECIP | 
 | // RUN: %clang_cc1 -mreassociate -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK  -check-prefix=REASSOC | 
 |  | 
 | float f0, f1, f2; | 
 |  | 
 | void foo(void) { | 
 |   // CHECK-LABEL: define {{.*}}void @foo() | 
 |  | 
 |   // FINITE: fadd nnan ninf | 
 |   // NSZ: fadd nsz | 
 |   // RECIP: fadd arcp | 
 |   // REASSOC: fadd reassoc | 
 |   f0 = f1 + f2; | 
 |  | 
 |   // CHECK: ret | 
 | } | 
 |  |