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

Reply via email to