10e2c34f92f00628d48968dfea096d36381f494cbStephen Hines// RUN: %clang_cc1 -ffinite-math-only -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK -check-prefix=FINITE 20e2c34f92f00628d48968dfea096d36381f494cbStephen Hines// RUN: %clang_cc1 -fno-signed-zeros -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK -check-prefix=NSZ 358878f85ab89b13e9eea4af3ccf055e42c557bc8Pirama Arumuga Nainar// RUN: %clang_cc1 -freciprocal-math -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK -check-prefix=RECIP 40e2c34f92f00628d48968dfea096d36381f494cbStephen Hines 523add332da632c3cee7638b9d72b4ba8df67541cMichael Ilsemanfloat f0, f1, f2; 6cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman 7cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilsemanvoid foo(void) { 887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar // CHECK-LABEL: define {{.*}}void @foo() 9cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman 100e2c34f92f00628d48968dfea096d36381f494cbStephen Hines // FINITE: fadd nnan ninf 110e2c34f92f00628d48968dfea096d36381f494cbStephen Hines // NSZ: fadd nsz 1258878f85ab89b13e9eea4af3ccf055e42c557bc8Pirama Arumuga Nainar // RECIP: fadd arcp 13cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman f0 = f1 + f2; 14cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman 15cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman // CHECK: ret 16cdeb7d57a4867c28e3e6a8c391cba6f13c781fa6Michael Ilseman} 170e2c34f92f00628d48968dfea096d36381f494cbStephen Hines 18