diff --git a/libc/src/math/amdgpu/fmax.cpp b/libc/src/math/amdgpu/fmax.cpp index 09624cc6f092a..09f0f942a042a 100644 --- a/libc/src/math/amdgpu/fmax.cpp +++ b/libc/src/math/amdgpu/fmax.cpp @@ -15,10 +15,6 @@ namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(double, fmax, (double x, double y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) & - cpp::bit_cast(y)); return __builtin_fmax(x, y); } diff --git a/libc/src/math/amdgpu/fmaxf.cpp b/libc/src/math/amdgpu/fmaxf.cpp index f6ed46699a049..5913a85df6370 100644 --- a/libc/src/math/amdgpu/fmaxf.cpp +++ b/libc/src/math/amdgpu/fmaxf.cpp @@ -8,17 +8,11 @@ #include "src/math/fmaxf.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(float, fmaxf, (float x, float y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) & - cpp::bit_cast(y)); return __builtin_fmaxf(x, y); } diff --git a/libc/src/math/amdgpu/fmin.cpp b/libc/src/math/amdgpu/fmin.cpp index 8977ff7a066c6..0d6f3521dcb70 100644 --- a/libc/src/math/amdgpu/fmin.cpp +++ b/libc/src/math/amdgpu/fmin.cpp @@ -8,17 +8,11 @@ #include "src/math/fmin.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(double, fmin, (double x, double y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) | - cpp::bit_cast(y)); return __builtin_fmin(x, y); } diff --git a/libc/src/math/amdgpu/fminf.cpp b/libc/src/math/amdgpu/fminf.cpp index 3be55257f6164..42744abfb3b02 100644 --- a/libc/src/math/amdgpu/fminf.cpp +++ b/libc/src/math/amdgpu/fminf.cpp @@ -8,17 +8,11 @@ #include "src/math/fminf.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(float, fminf, (float x, float y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) | - cpp::bit_cast(y)); return __builtin_fminf(x, y); } diff --git a/libc/src/math/nvptx/fmax.cpp b/libc/src/math/nvptx/fmax.cpp index 09624cc6f092a..3ba65d7eccd36 100644 --- a/libc/src/math/nvptx/fmax.cpp +++ b/libc/src/math/nvptx/fmax.cpp @@ -8,17 +8,11 @@ #include "src/math/fmax.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(double, fmax, (double x, double y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) & - cpp::bit_cast(y)); return __builtin_fmax(x, y); } diff --git a/libc/src/math/nvptx/fmaxf.cpp b/libc/src/math/nvptx/fmaxf.cpp index f6ed46699a049..e977082b39f40 100644 --- a/libc/src/math/nvptx/fmaxf.cpp +++ b/libc/src/math/nvptx/fmaxf.cpp @@ -15,10 +15,6 @@ namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(float, fmaxf, (float x, float y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) & - cpp::bit_cast(y)); return __builtin_fmaxf(x, y); } diff --git a/libc/src/math/nvptx/fmin.cpp b/libc/src/math/nvptx/fmin.cpp index 8977ff7a066c6..0d6f3521dcb70 100644 --- a/libc/src/math/nvptx/fmin.cpp +++ b/libc/src/math/nvptx/fmin.cpp @@ -8,17 +8,11 @@ #include "src/math/fmin.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(double, fmin, (double x, double y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) | - cpp::bit_cast(y)); return __builtin_fmin(x, y); } diff --git a/libc/src/math/nvptx/fminf.cpp b/libc/src/math/nvptx/fminf.cpp index 3be55257f6164..42744abfb3b02 100644 --- a/libc/src/math/nvptx/fminf.cpp +++ b/libc/src/math/nvptx/fminf.cpp @@ -8,17 +8,11 @@ #include "src/math/fminf.h" -#include "src/__support/CPP/bit.h" #include "src/__support/common.h" -#include "src/__support/macros/optimization.h" namespace LIBC_NAMESPACE { LLVM_LIBC_FUNCTION(float, fminf, (float x, float y)) { - // FIXME: The builtin function does not correctly handle the +/-0.0 case. - if (LIBC_UNLIKELY(x == y)) - return cpp::bit_cast(cpp::bit_cast(x) | - cpp::bit_cast(y)); return __builtin_fminf(x, y); }