|  | // RUN: %clang_cc1 -ffinite-math-only -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 | 
|  | } | 
|  |  |