================ @@ -0,0 +1,76 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s | FileCheck %s + +// precise mode +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fmath-errno -ffp-contract=on \ +// RUN: -fno-rounding-math -emit-llvm -o - %s | FileCheck \ +// RUN: --check-prefix=CHECK-PRECISE %s + +// fast mode +// RUN: %clang_cc1 -triple x86_64-linux-gnu -ffast-math -ffp-contract=fast \ +// RUN: -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-FAST %s + +// Reproducer for issue #87758 +// The testcase below verifies that the "fast" flag are set on the calls. + +float sqrtf(float x); // unary fp builtin +float powf(float x, float y); // binary fp builtin +float fmaf(float x, float y, float z); // ternary fp builtin +char *rindex(const char *s, int c); // not a fp builtin + +#pragma float_control(push) +#pragma float_control(precise, off) +// CHECK: define dso_local float @fp_precise_off_libm_calls( +// CHECK: %{{.*}} = call fast float @llvm.sqrt.f32( ---------------- karka228 wrote:
I guess not any longer. I'll change the testcase. https://github.com/llvm/llvm-project/pull/90377 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits