https://github.com/wenju-he updated https://github.com/llvm/llvm-project/pull/153137
>From 719a6914321afc04b44fda1a7ba38ecffa95d080 Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Tue, 12 Aug 2025 06:27:11 +0200 Subject: [PATCH 1/3] [libclc] Enable -ffp-contract=fast compile option for math native_* functions According to OpenCL spec, native_* functions have implementation-defined accuracy and typically have better performance. We can enable floating- point contraction optimizations for them. --- libclc/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt index 756e097dcf123..55072785e6f79 100644 --- a/libclc/CMakeLists.txt +++ b/libclc/CMakeLists.txt @@ -304,7 +304,7 @@ set_source_files_properties( ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_sin.cl ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_sqrt.cl ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_tan.cl - PROPERTIES COMPILE_OPTIONS -fapprox-func + PROPERTIES COMPILE_OPTIONS "-fapprox-func;-ffp-contract=fast" ) enable_testing() >From 5bff22270cb6e5ff62cf2275abdd5f5e871fde26 Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Tue, 12 Aug 2025 08:55:47 +0200 Subject: [PATCH 2/3] enable -ffp-contract=fast-honor-pragmas globally, add contract(off) to exponential/trigonometric/hyperbolic funcs --- libclc/CMakeLists.txt | 3 ++- libclc/clc/lib/generic/math/clc_acos.cl | 2 ++ libclc/clc/lib/generic/math/clc_acosh.cl | 2 ++ libclc/clc/lib/generic/math/clc_acospi.cl | 2 ++ libclc/clc/lib/generic/math/clc_asin.cl | 2 ++ libclc/clc/lib/generic/math/clc_asinh.cl | 2 ++ libclc/clc/lib/generic/math/clc_asinpi.cl | 2 ++ libclc/clc/lib/generic/math/clc_atan.cl | 2 ++ libclc/clc/lib/generic/math/clc_atan2.cl | 2 ++ libclc/clc/lib/generic/math/clc_atan2pi.cl | 2 ++ libclc/clc/lib/generic/math/clc_atanh.cl | 2 ++ libclc/clc/lib/generic/math/clc_atanpi.cl | 2 ++ libclc/clc/lib/generic/math/clc_cos.cl | 2 ++ libclc/clc/lib/generic/math/clc_cosh.cl | 2 ++ libclc/clc/lib/generic/math/clc_cospi.cl | 2 ++ libclc/clc/lib/generic/math/clc_exp.cl | 2 ++ libclc/clc/lib/generic/math/clc_exp10.cl | 2 ++ libclc/clc/lib/generic/math/clc_exp2.cl | 2 ++ libclc/clc/lib/generic/math/clc_exp_helper.cl | 2 ++ libclc/clc/lib/generic/math/clc_expm1.cl | 2 ++ libclc/clc/lib/generic/math/clc_sin.cl | 2 ++ libclc/clc/lib/generic/math/clc_sincos.cl | 2 ++ libclc/clc/lib/generic/math/clc_sincos_helpers.cl | 2 ++ libclc/clc/lib/generic/math/clc_sinh.cl | 2 ++ libclc/clc/lib/generic/math/clc_sinpi.cl | 2 ++ libclc/clc/lib/generic/math/clc_tan.cl | 2 ++ libclc/clc/lib/generic/math/clc_tanh.cl | 2 ++ libclc/clc/lib/generic/math/clc_tanpi.cl | 2 ++ 28 files changed, 56 insertions(+), 1 deletion(-) diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt index 55072785e6f79..bb7cd1aec3678 100644 --- a/libclc/CMakeLists.txt +++ b/libclc/CMakeLists.txt @@ -304,7 +304,7 @@ set_source_files_properties( ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_sin.cl ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_sqrt.cl ${CMAKE_CURRENT_SOURCE_DIR}/opencl/lib/generic/math/native_tan.cl - PROPERTIES COMPILE_OPTIONS "-fapprox-func;-ffp-contract=fast" + PROPERTIES COMPILE_OPTIONS -fapprox-func ) enable_testing() @@ -429,6 +429,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} ) # Error on undefined macros -Werror=undef -fdiscard-value-names + -ffp-contract=fast-honor-pragmas ) if( NOT "${cpu}" STREQUAL "" ) diff --git a/libclc/clc/lib/generic/math/clc_acos.cl b/libclc/clc/lib/generic/math/clc_acos.cl index 822c3f9f13e8e..50617baf0be64 100644 --- a/libclc/clc/lib/generic/math/clc_acos.cl +++ b/libclc/clc/lib/generic/math/clc_acos.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_acosh.cl b/libclc/clc/lib/generic/math/clc_acosh.cl index a46606be59333..700f10d1fe77e 100644 --- a/libclc/clc/lib/generic/math/clc_acosh.cl +++ b/libclc/clc/lib/generic/math/clc_acosh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_acospi.cl b/libclc/clc/lib/generic/math/clc_acospi.cl index 22134d3209e60..c7618fc9d415b 100644 --- a/libclc/clc/lib/generic/math/clc_acospi.cl +++ b/libclc/clc/lib/generic/math/clc_acospi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asin.cl b/libclc/clc/lib/generic/math/clc_asin.cl index 195ede3907f3c..158c960364715 100644 --- a/libclc/clc/lib/generic/math/clc_asin.cl +++ b/libclc/clc/lib/generic/math/clc_asin.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asinh.cl b/libclc/clc/lib/generic/math/clc_asinh.cl index 763efb4e76aca..9231d59eaca7c 100644 --- a/libclc/clc/lib/generic/math/clc_asinh.cl +++ b/libclc/clc/lib/generic/math/clc_asinh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asinpi.cl b/libclc/clc/lib/generic/math/clc_asinpi.cl index bc680df5f9b23..35472b3eaadf7 100644 --- a/libclc/clc/lib/generic/math/clc_asinpi.cl +++ b/libclc/clc/lib/generic/math/clc_asinpi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan.cl b/libclc/clc/lib/generic/math/clc_atan.cl index d960f75baca2b..86bb56f26091a 100644 --- a/libclc/clc/lib/generic/math/clc_atan.cl +++ b/libclc/clc/lib/generic/math/clc_atan.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan2.cl b/libclc/clc/lib/generic/math/clc_atan2.cl index b10bf32333a32..d05c2d2eb7103 100644 --- a/libclc/clc/lib/generic/math/clc_atan2.cl +++ b/libclc/clc/lib/generic/math/clc_atan2.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan2pi.cl b/libclc/clc/lib/generic/math/clc_atan2pi.cl index 7f75c11d15d7b..bb7838c884ee6 100644 --- a/libclc/clc/lib/generic/math/clc_atan2pi.cl +++ b/libclc/clc/lib/generic/math/clc_atan2pi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atanh.cl b/libclc/clc/lib/generic/math/clc_atanh.cl index 485e72479bce4..59ccf1e1e6ff9 100644 --- a/libclc/clc/lib/generic/math/clc_atanh.cl +++ b/libclc/clc/lib/generic/math/clc_atanh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atanpi.cl b/libclc/clc/lib/generic/math/clc_atanpi.cl index fee72aa7efb47..1644823ba2cf8 100644 --- a/libclc/clc/lib/generic/math/clc_atanpi.cl +++ b/libclc/clc/lib/generic/math/clc_atanpi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_cos.cl b/libclc/clc/lib/generic/math/clc_cos.cl index 0c9dc287aa0b4..5ebf2deb0f9c6 100644 --- a/libclc/clc/lib/generic/math/clc_cos.cl +++ b/libclc/clc/lib/generic/math/clc_cos.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/float/definitions.h> diff --git a/libclc/clc/lib/generic/math/clc_cosh.cl b/libclc/clc/lib/generic/math/clc_cosh.cl index 4da78de2714e3..c786efd3ef6ed 100644 --- a/libclc/clc/lib/generic/math/clc_cosh.cl +++ b/libclc/clc/lib/generic/math/clc_cosh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_cospi.cl b/libclc/clc/lib/generic/math/clc_cospi.cl index 07e1b49cc9e02..e853ca5f5b1fa 100644 --- a/libclc/clc/lib/generic/math/clc_cospi.cl +++ b/libclc/clc/lib/generic/math/clc_cospi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp.cl b/libclc/clc/lib/generic/math/clc_exp.cl index 6ff452721881c..d3b839cde4aa7 100644 --- a/libclc/clc/lib/generic/math/clc_exp.cl +++ b/libclc/clc/lib/generic/math/clc_exp.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp10.cl b/libclc/clc/lib/generic/math/clc_exp10.cl index 04e912ed98885..2843d06d5f7da 100644 --- a/libclc/clc/lib/generic/math/clc_exp10.cl +++ b/libclc/clc/lib/generic/math/clc_exp10.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp2.cl b/libclc/clc/lib/generic/math/clc_exp2.cl index 9635f84e5a9a6..533a51289eaf9 100644 --- a/libclc/clc/lib/generic/math/clc_exp2.cl +++ b/libclc/clc/lib/generic/math/clc_exp2.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp_helper.cl b/libclc/clc/lib/generic/math/clc_exp_helper.cl index 92ff8f7fe4e6f..6496444a90c71 100644 --- a/libclc/clc/lib/generic/math/clc_exp_helper.cl +++ b/libclc/clc/lib/generic/math/clc_exp_helper.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_fma.h> diff --git a/libclc/clc/lib/generic/math/clc_expm1.cl b/libclc/clc/lib/generic/math/clc_expm1.cl index 8695b46eb90ea..6d60dca0da286 100644 --- a/libclc/clc/lib/generic/math/clc_expm1.cl +++ b/libclc/clc/lib/generic/math/clc_expm1.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_sin.cl b/libclc/clc/lib/generic/math/clc_sin.cl index 0ff9739c6a846..c0a53d73d5b50 100644 --- a/libclc/clc/lib/generic/math/clc_sin.cl +++ b/libclc/clc/lib/generic/math/clc_sin.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/float/definitions.h> diff --git a/libclc/clc/lib/generic/math/clc_sincos.cl b/libclc/clc/lib/generic/math/clc_sincos.cl index 2209a41593a2d..63d748214e67f 100644 --- a/libclc/clc/lib/generic/math/clc_sincos.cl +++ b/libclc/clc/lib/generic/math/clc_sincos.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/internal/clc.h> #include <clc/math/clc_cos.h> #include <clc/math/clc_sin.h> diff --git a/libclc/clc/lib/generic/math/clc_sincos_helpers.cl b/libclc/clc/lib/generic/math/clc_sincos_helpers.cl index 0ea1195fffa70..4fae4fcbf192a 100644 --- a/libclc/clc/lib/generic/math/clc_sincos_helpers.cl +++ b/libclc/clc/lib/generic/math/clc_sincos_helpers.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/integer/clc_clz.h> #include <clc/integer/clc_mul_hi.h> diff --git a/libclc/clc/lib/generic/math/clc_sinh.cl b/libclc/clc/lib/generic/math/clc_sinh.cl index bd0b488b16047..b44acfeea9eef 100644 --- a/libclc/clc/lib/generic/math/clc_sinh.cl +++ b/libclc/clc/lib/generic/math/clc_sinh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_copysign.h> diff --git a/libclc/clc/lib/generic/math/clc_sinpi.cl b/libclc/clc/lib/generic/math/clc_sinpi.cl index 6cff247707845..f20210f2a1c57 100644 --- a/libclc/clc/lib/generic/math/clc_sinpi.cl +++ b/libclc/clc/lib/generic/math/clc_sinpi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_tan.cl b/libclc/clc/lib/generic/math/clc_tan.cl index adf42c43d0484..6446d14947a32 100644 --- a/libclc/clc/lib/generic/math/clc_tan.cl +++ b/libclc/clc/lib/generic/math/clc_tan.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_tanh.cl b/libclc/clc/lib/generic/math/clc_tanh.cl index aedcb0c38d5e3..8e1f8d889c927 100644 --- a/libclc/clc/lib/generic/math/clc_tanh.cl +++ b/libclc/clc/lib/generic/math/clc_tanh.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_exp.h> diff --git a/libclc/clc/lib/generic/math/clc_tanpi.cl b/libclc/clc/lib/generic/math/clc_tanpi.cl index f1265892d107b..64fa6260b2119 100644 --- a/libclc/clc/lib/generic/math/clc_tanpi.cl +++ b/libclc/clc/lib/generic/math/clc_tanpi.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#pragma clang fp contract(off) + #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> >From 3f55ce9a525d8e7679a3ba31ed45fade6a1aef9c Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Fri, 13 Feb 2026 09:07:31 +0100 Subject: [PATCH 3/3] revert 'add contract(off) to exponential/trigonometric/hyperbolic funcs' --- libclc/clc/lib/generic/math/clc_acos.cl | 2 -- libclc/clc/lib/generic/math/clc_acosh.cl | 2 -- libclc/clc/lib/generic/math/clc_acospi.cl | 2 -- libclc/clc/lib/generic/math/clc_asin.cl | 2 -- libclc/clc/lib/generic/math/clc_asinh.cl | 2 -- libclc/clc/lib/generic/math/clc_asinpi.cl | 2 -- libclc/clc/lib/generic/math/clc_atan.cl | 2 -- libclc/clc/lib/generic/math/clc_atan2.cl | 2 -- libclc/clc/lib/generic/math/clc_atan2pi.cl | 2 -- libclc/clc/lib/generic/math/clc_atanh.cl | 2 -- libclc/clc/lib/generic/math/clc_atanpi.cl | 2 -- libclc/clc/lib/generic/math/clc_cos.cl | 2 -- libclc/clc/lib/generic/math/clc_cosh.cl | 2 -- libclc/clc/lib/generic/math/clc_cospi.cl | 2 -- libclc/clc/lib/generic/math/clc_exp.cl | 2 -- libclc/clc/lib/generic/math/clc_exp10.cl | 2 -- libclc/clc/lib/generic/math/clc_exp2.cl | 2 -- libclc/clc/lib/generic/math/clc_exp_helper.cl | 2 -- libclc/clc/lib/generic/math/clc_expm1.cl | 2 -- libclc/clc/lib/generic/math/clc_sin.cl | 2 -- libclc/clc/lib/generic/math/clc_sincos.cl | 2 -- libclc/clc/lib/generic/math/clc_sincos_helpers.cl | 2 -- libclc/clc/lib/generic/math/clc_sinh.cl | 2 -- libclc/clc/lib/generic/math/clc_sinpi.cl | 2 -- libclc/clc/lib/generic/math/clc_tan.cl | 2 -- libclc/clc/lib/generic/math/clc_tanh.cl | 2 -- libclc/clc/lib/generic/math/clc_tanpi.cl | 2 -- 27 files changed, 54 deletions(-) diff --git a/libclc/clc/lib/generic/math/clc_acos.cl b/libclc/clc/lib/generic/math/clc_acos.cl index 50617baf0be64..822c3f9f13e8e 100644 --- a/libclc/clc/lib/generic/math/clc_acos.cl +++ b/libclc/clc/lib/generic/math/clc_acos.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_acosh.cl b/libclc/clc/lib/generic/math/clc_acosh.cl index 700f10d1fe77e..a46606be59333 100644 --- a/libclc/clc/lib/generic/math/clc_acosh.cl +++ b/libclc/clc/lib/generic/math/clc_acosh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_acospi.cl b/libclc/clc/lib/generic/math/clc_acospi.cl index c7618fc9d415b..22134d3209e60 100644 --- a/libclc/clc/lib/generic/math/clc_acospi.cl +++ b/libclc/clc/lib/generic/math/clc_acospi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asin.cl b/libclc/clc/lib/generic/math/clc_asin.cl index 158c960364715..195ede3907f3c 100644 --- a/libclc/clc/lib/generic/math/clc_asin.cl +++ b/libclc/clc/lib/generic/math/clc_asin.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asinh.cl b/libclc/clc/lib/generic/math/clc_asinh.cl index 9231d59eaca7c..763efb4e76aca 100644 --- a/libclc/clc/lib/generic/math/clc_asinh.cl +++ b/libclc/clc/lib/generic/math/clc_asinh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_asinpi.cl b/libclc/clc/lib/generic/math/clc_asinpi.cl index 35472b3eaadf7..bc680df5f9b23 100644 --- a/libclc/clc/lib/generic/math/clc_asinpi.cl +++ b/libclc/clc/lib/generic/math/clc_asinpi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan.cl b/libclc/clc/lib/generic/math/clc_atan.cl index 86bb56f26091a..d960f75baca2b 100644 --- a/libclc/clc/lib/generic/math/clc_atan.cl +++ b/libclc/clc/lib/generic/math/clc_atan.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan2.cl b/libclc/clc/lib/generic/math/clc_atan2.cl index d05c2d2eb7103..b10bf32333a32 100644 --- a/libclc/clc/lib/generic/math/clc_atan2.cl +++ b/libclc/clc/lib/generic/math/clc_atan2.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atan2pi.cl b/libclc/clc/lib/generic/math/clc_atan2pi.cl index bb7838c884ee6..7f75c11d15d7b 100644 --- a/libclc/clc/lib/generic/math/clc_atan2pi.cl +++ b/libclc/clc/lib/generic/math/clc_atan2pi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atanh.cl b/libclc/clc/lib/generic/math/clc_atanh.cl index 59ccf1e1e6ff9..485e72479bce4 100644 --- a/libclc/clc/lib/generic/math/clc_atanh.cl +++ b/libclc/clc/lib/generic/math/clc_atanh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_atanpi.cl b/libclc/clc/lib/generic/math/clc_atanpi.cl index 1644823ba2cf8..fee72aa7efb47 100644 --- a/libclc/clc/lib/generic/math/clc_atanpi.cl +++ b/libclc/clc/lib/generic/math/clc_atanpi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_cos.cl b/libclc/clc/lib/generic/math/clc_cos.cl index 5ebf2deb0f9c6..0c9dc287aa0b4 100644 --- a/libclc/clc/lib/generic/math/clc_cos.cl +++ b/libclc/clc/lib/generic/math/clc_cos.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/float/definitions.h> diff --git a/libclc/clc/lib/generic/math/clc_cosh.cl b/libclc/clc/lib/generic/math/clc_cosh.cl index c786efd3ef6ed..4da78de2714e3 100644 --- a/libclc/clc/lib/generic/math/clc_cosh.cl +++ b/libclc/clc/lib/generic/math/clc_cosh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_cospi.cl b/libclc/clc/lib/generic/math/clc_cospi.cl index e853ca5f5b1fa..07e1b49cc9e02 100644 --- a/libclc/clc/lib/generic/math/clc_cospi.cl +++ b/libclc/clc/lib/generic/math/clc_cospi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp.cl b/libclc/clc/lib/generic/math/clc_exp.cl index d3b839cde4aa7..6ff452721881c 100644 --- a/libclc/clc/lib/generic/math/clc_exp.cl +++ b/libclc/clc/lib/generic/math/clc_exp.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp10.cl b/libclc/clc/lib/generic/math/clc_exp10.cl index 2843d06d5f7da..04e912ed98885 100644 --- a/libclc/clc/lib/generic/math/clc_exp10.cl +++ b/libclc/clc/lib/generic/math/clc_exp10.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp2.cl b/libclc/clc/lib/generic/math/clc_exp2.cl index 533a51289eaf9..9635f84e5a9a6 100644 --- a/libclc/clc/lib/generic/math/clc_exp2.cl +++ b/libclc/clc/lib/generic/math/clc_exp2.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_exp_helper.cl b/libclc/clc/lib/generic/math/clc_exp_helper.cl index 6496444a90c71..92ff8f7fe4e6f 100644 --- a/libclc/clc/lib/generic/math/clc_exp_helper.cl +++ b/libclc/clc/lib/generic/math/clc_exp_helper.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_fma.h> diff --git a/libclc/clc/lib/generic/math/clc_expm1.cl b/libclc/clc/lib/generic/math/clc_expm1.cl index 6d60dca0da286..8695b46eb90ea 100644 --- a/libclc/clc/lib/generic/math/clc_expm1.cl +++ b/libclc/clc/lib/generic/math/clc_expm1.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_sin.cl b/libclc/clc/lib/generic/math/clc_sin.cl index c0a53d73d5b50..0ff9739c6a846 100644 --- a/libclc/clc/lib/generic/math/clc_sin.cl +++ b/libclc/clc/lib/generic/math/clc_sin.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/clcmacro.h> #include <clc/float/definitions.h> diff --git a/libclc/clc/lib/generic/math/clc_sincos.cl b/libclc/clc/lib/generic/math/clc_sincos.cl index 63d748214e67f..2209a41593a2d 100644 --- a/libclc/clc/lib/generic/math/clc_sincos.cl +++ b/libclc/clc/lib/generic/math/clc_sincos.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/internal/clc.h> #include <clc/math/clc_cos.h> #include <clc/math/clc_sin.h> diff --git a/libclc/clc/lib/generic/math/clc_sincos_helpers.cl b/libclc/clc/lib/generic/math/clc_sincos_helpers.cl index 4fae4fcbf192a..0ea1195fffa70 100644 --- a/libclc/clc/lib/generic/math/clc_sincos_helpers.cl +++ b/libclc/clc/lib/generic/math/clc_sincos_helpers.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/integer/clc_clz.h> #include <clc/integer/clc_mul_hi.h> diff --git a/libclc/clc/lib/generic/math/clc_sinh.cl b/libclc/clc/lib/generic/math/clc_sinh.cl index b44acfeea9eef..bd0b488b16047 100644 --- a/libclc/clc/lib/generic/math/clc_sinh.cl +++ b/libclc/clc/lib/generic/math/clc_sinh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_copysign.h> diff --git a/libclc/clc/lib/generic/math/clc_sinpi.cl b/libclc/clc/lib/generic/math/clc_sinpi.cl index f20210f2a1c57..6cff247707845 100644 --- a/libclc/clc/lib/generic/math/clc_sinpi.cl +++ b/libclc/clc/lib/generic/math/clc_sinpi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_tan.cl b/libclc/clc/lib/generic/math/clc_tan.cl index 6446d14947a32..adf42c43d0484 100644 --- a/libclc/clc/lib/generic/math/clc_tan.cl +++ b/libclc/clc/lib/generic/math/clc_tan.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> diff --git a/libclc/clc/lib/generic/math/clc_tanh.cl b/libclc/clc/lib/generic/math/clc_tanh.cl index 8e1f8d889c927..aedcb0c38d5e3 100644 --- a/libclc/clc/lib/generic/math/clc_tanh.cl +++ b/libclc/clc/lib/generic/math/clc_tanh.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/internal/clc.h> #include <clc/math/clc_exp.h> diff --git a/libclc/clc/lib/generic/math/clc_tanpi.cl b/libclc/clc/lib/generic/math/clc_tanpi.cl index 64fa6260b2119..f1265892d107b 100644 --- a/libclc/clc/lib/generic/math/clc_tanpi.cl +++ b/libclc/clc/lib/generic/math/clc_tanpi.cl @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -#pragma clang fp contract(off) - #include <clc/clc_convert.h> #include <clc/float/definitions.h> #include <clc/internal/clc.h> _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
