emankov wrote:
Hello, @fodinabor and @blinkfrog
> the #ifdef _MSC_VER check may not be effective because _MSC_VER is specific
> to the MSVC compiler and is not defined when using Clang, even on Windows
Does it mean that this fix doesn't solve
rnk wrote:
> @rnk -- what's the best way to check for compilation with microsoft's
> stardard C++ library?
If Clang is compiling with the MSVC STL headers, it should be defining
`_MSC_VER`, usually `-fms-compatibilty` has to be enabled to compile MSVC STL
headers. However, I searched, and
Artem-B wrote:
I'm not familiar enough with MSVC.
@rnk -- what's the best way to check for compilation with microsoft's stardard
C++ library?
https://github.com/llvm/llvm-project/pull/73756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
blinkfrog wrote:
I would like to share some thoughts regarding the proposed fix involving the
#ifdef _MSC_VER check in the LLVM PR for the fma function ambiguity issue. I am
sorry if I say something stupid.
In the typical workflow with AdaptiveCpp and CUDA backend on Windows, MSVC is
used
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
https://github.com/Artem-B edited
https://github.com/llvm/llvm-project/pull/73756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -70,6 +70,9 @@ __DEVICE__ double floor(double);
__DEVICE__ float floor(float);
__DEVICE__ double fma(double, double, double);
__DEVICE__ float fma(float, float, float);
+#ifdef _MSC_VER
+__DEVICE__ long double fma(long double, long double, long double);
https://github.com/fodinabor edited
https://github.com/llvm/llvm-project/pull/73756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvmbot wrote:
@llvm/pr-subscribers-backend-x86
Author: None (fodinabor)
Changes
As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are missing
the `fma` long double variant for Cpp20 compact with MS-STL.
See also #49853.
- I'm wondering if we should include this for all
https://github.com/fodinabor created
https://github.com/llvm/llvm-project/pull/73756
As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are missing
the `fma` long double variant for Cpp20 compact with MS-STL.
See also #49853.
-> I'm wondering if we should include this for all
15 matches
Mail list logo