[libclc] [NFC][libclc] Delete clc/include/clc/relational/floatn.inc (PR #149252)
Wenju He via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 16 22:29:52 PDT 2025
https://github.com/wenju-he created https://github.com/llvm/llvm-project/pull/149252
llvm-diff shows no change to amdgcn--amdhsa.bc.
>From 91827fa45fbf45936e57241b0bb0c1a215112834 Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Thu, 17 Jul 2025 07:27:50 +0200
Subject: [PATCH] [NFC][libclc] Delete clc/include/clc/relational/floatn.inc
llvm-diff shows no change to amdgcn--amdhsa.bc.
---
.../include/clc/relational/binary_decl.inc | 10 +-
.../clc/include/clc/relational/clc_isfinite.h | 2 +-
.../include/clc/relational/clc_isgreater.h | 2 +-
.../clc/relational/clc_isgreaterequal.h | 2 +-
.../clc/include/clc/relational/clc_isless.h | 2 +-
.../include/clc/relational/clc_islessequal.h | 2 +-
.../clc/relational/clc_islessgreater.h | 2 +-
.../clc/include/clc/relational/clc_isnormal.h | 2 +-
.../include/clc/relational/clc_isnotequal.h | 2 +-
.../include/clc/relational/clc_isordered.h | 2 +-
.../include/clc/relational/clc_isunordered.h | 2 +-
.../clc/include/clc/relational/clc_signbit.h | 2 +-
libclc/clc/include/clc/relational/floatn.inc | 132 ------------------
.../clc/include/clc/relational/unary_decl.inc | 10 +-
.../include/clc/opencl/relational/isfinite.h | 2 +-
.../include/clc/opencl/relational/isgreater.h | 2 +-
.../clc/opencl/relational/isgreaterequal.h | 2 +-
.../include/clc/opencl/relational/isless.h | 2 +-
.../clc/opencl/relational/islessequal.h | 2 +-
.../clc/opencl/relational/islessgreater.h | 2 +-
.../include/clc/opencl/relational/isnormal.h | 2 +-
.../clc/opencl/relational/isnotequal.h | 2 +-
.../include/clc/opencl/relational/isordered.h | 2 +-
.../clc/opencl/relational/isunordered.h | 2 +-
.../include/clc/opencl/relational/signbit.h | 2 +-
.../lib/generic/relational/binary_def.inc | 10 +-
.../opencl/lib/generic/relational/isequal.cl | 2 +-
.../opencl/lib/generic/relational/isfinite.cl | 2 +-
.../lib/generic/relational/isgreater.cl | 2 +-
.../lib/generic/relational/isgreaterequal.cl | 2 +-
libclc/opencl/lib/generic/relational/isinf.cl | 2 +-
.../opencl/lib/generic/relational/isless.cl | 2 +-
.../lib/generic/relational/islessequal.cl | 2 +-
.../lib/generic/relational/islessgreater.cl | 2 +-
libclc/opencl/lib/generic/relational/isnan.cl | 2 +-
.../opencl/lib/generic/relational/isnormal.cl | 2 +-
.../lib/generic/relational/isnotequal.cl | 2 +-
.../lib/generic/relational/isordered.cl | 2 +-
.../lib/generic/relational/isunordered.cl | 2 +-
.../opencl/lib/generic/relational/signbit.cl | 2 +-
.../lib/generic/relational/unary_def.inc | 10 +-
41 files changed, 72 insertions(+), 172 deletions(-)
delete mode 100644 libclc/clc/include/clc/relational/floatn.inc
diff --git a/libclc/clc/include/clc/relational/binary_decl.inc b/libclc/clc/include/clc/relational/binary_decl.inc
index bcdf5238b8f58..dc8ec9db7b7da 100644
--- a/libclc/clc/include/clc/relational/binary_decl.inc
+++ b/libclc/clc/include/clc/relational/binary_decl.inc
@@ -6,4 +6,12 @@
//
//===----------------------------------------------------------------------===//
-_CLC_OVERLOAD _CLC_DECL __CLC_INTN FUNCTION(__CLC_FLOATN a, __CLC_FLOATN b);
+#if __CLC_VECSIZE_OR_1 == 1
+#define __RETTYPE __CLC_INTN
+#else
+#define __RETTYPE __CLC_BIT_INTN
+#endif
+
+_CLC_OVERLOAD _CLC_DECL __RETTYPE FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b);
+
+#undef __RETTYPE
diff --git a/libclc/clc/include/clc/relational/clc_isfinite.h b/libclc/clc/include/clc/relational/clc_isfinite.h
index 5e71ec7a0640a..444d733039819 100644
--- a/libclc/clc/include/clc/relational/clc_isfinite.h
+++ b/libclc/clc/include/clc/relational/clc_isfinite.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isfinite
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isgreater.h b/libclc/clc/include/clc/relational/clc_isgreater.h
index e2e6911a80cdd..88de46854961d 100644
--- a/libclc/clc/include/clc/relational/clc_isgreater.h
+++ b/libclc/clc/include/clc/relational/clc_isgreater.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isgreater
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isgreaterequal.h b/libclc/clc/include/clc/relational/clc_isgreaterequal.h
index 3fe8835aff9d5..42308036f102f 100644
--- a/libclc/clc/include/clc/relational/clc_isgreaterequal.h
+++ b/libclc/clc/include/clc/relational/clc_isgreaterequal.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isgreaterequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isless.h b/libclc/clc/include/clc/relational/clc_isless.h
index 01384cf6fa4a0..6fdc6c54947c0 100644
--- a/libclc/clc/include/clc/relational/clc_isless.h
+++ b/libclc/clc/include/clc/relational/clc_isless.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isless
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_islessequal.h b/libclc/clc/include/clc/relational/clc_islessequal.h
index a4b77a451b248..e592287b23099 100644
--- a/libclc/clc/include/clc/relational/clc_islessequal.h
+++ b/libclc/clc/include/clc/relational/clc_islessequal.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_islessequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_islessgreater.h b/libclc/clc/include/clc/relational/clc_islessgreater.h
index 9fb6d641bfa14..a2f10707a677d 100644
--- a/libclc/clc/include/clc/relational/clc_islessgreater.h
+++ b/libclc/clc/include/clc/relational/clc_islessgreater.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_islessgreater
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isnormal.h b/libclc/clc/include/clc/relational/clc_isnormal.h
index d580fed5a7395..2281bc4245d03 100644
--- a/libclc/clc/include/clc/relational/clc_isnormal.h
+++ b/libclc/clc/include/clc/relational/clc_isnormal.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isnormal
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isnotequal.h b/libclc/clc/include/clc/relational/clc_isnotequal.h
index 16982fc3c5aaa..c2640fc0899a6 100644
--- a/libclc/clc/include/clc/relational/clc_isnotequal.h
+++ b/libclc/clc/include/clc/relational/clc_isnotequal.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isnotequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isordered.h b/libclc/clc/include/clc/relational/clc_isordered.h
index 7ba26662105fc..cb9be31311575 100644
--- a/libclc/clc/include/clc/relational/clc_isordered.h
+++ b/libclc/clc/include/clc/relational/clc_isordered.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isordered
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_isunordered.h b/libclc/clc/include/clc/relational/clc_isunordered.h
index eac158d245191..36d314ff0e1be 100644
--- a/libclc/clc/include/clc/relational/clc_isunordered.h
+++ b/libclc/clc/include/clc/relational/clc_isunordered.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_isunordered
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/clc_signbit.h b/libclc/clc/include/clc/relational/clc_signbit.h
index 892263a09e99c..9e423ab448953 100644
--- a/libclc/clc/include/clc/relational/clc_signbit.h
+++ b/libclc/clc/include/clc/relational/clc_signbit.h
@@ -12,7 +12,7 @@
#define FUNCTION __clc_signbit
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/clc/include/clc/relational/floatn.inc b/libclc/clc/include/clc/relational/floatn.inc
deleted file mode 100644
index 263937f6eef6f..0000000000000
--- a/libclc/clc/include/clc/relational/floatn.inc
+++ /dev/null
@@ -1,132 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include <clc/clcfunc.h>
-#include <clc/clctypes.h>
-
-#define __CLC_FLOATN float
-#define __CLC_INTN int
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN float2
-#define __CLC_INTN int2
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN float3
-#define __CLC_INTN int3
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN float4
-#define __CLC_INTN int4
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN float8
-#define __CLC_INTN int8
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN float16
-#define __CLC_INTN int16
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#undef __CLC_FLOAT
-#undef __CLC_INT
-
-#ifdef cl_khr_fp64
-#pragma OPENCL EXTENSION cl_khr_fp64 : enable
-
-#define __CLC_FLOATN double
-#define __CLC_INTN int
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN double2
-#define __CLC_INTN long2
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN double3
-#define __CLC_INTN long3
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN double4
-#define __CLC_INTN long4
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN double8
-#define __CLC_INTN long8
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN double16
-#define __CLC_INTN long16
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#endif
-#ifdef cl_khr_fp16
-#pragma OPENCL EXTENSION cl_khr_fp16 : enable
-
-#define __CLC_FLOATN half
-#define __CLC_INTN int
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN half2
-#define __CLC_INTN short2
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN half3
-#define __CLC_INTN short3
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN half4
-#define __CLC_INTN short4
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN half8
-#define __CLC_INTN short8
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#define __CLC_FLOATN half16
-#define __CLC_INTN short16
-#include __CLC_BODY
-#undef __CLC_INTN
-#undef __CLC_FLOATN
-
-#endif
-
-#undef __CLC_BODY
diff --git a/libclc/clc/include/clc/relational/unary_decl.inc b/libclc/clc/include/clc/relational/unary_decl.inc
index b9fb36c905469..cc3f2d065529b 100644
--- a/libclc/clc/include/clc/relational/unary_decl.inc
+++ b/libclc/clc/include/clc/relational/unary_decl.inc
@@ -6,4 +6,12 @@
//
//===----------------------------------------------------------------------===//
-_CLC_OVERLOAD _CLC_DECL __CLC_INTN FUNCTION(__CLC_FLOATN x);
+#if __CLC_VECSIZE_OR_1 == 1
+#define __RETTYPE __CLC_INTN
+#else
+#define __RETTYPE __CLC_BIT_INTN
+#endif
+
+_CLC_OVERLOAD _CLC_DECL __RETTYPE FUNCTION(__CLC_GENTYPE x);
+
+#undef __RETTYPE
diff --git a/libclc/opencl/include/clc/opencl/relational/isfinite.h b/libclc/opencl/include/clc/opencl/relational/isfinite.h
index 2548e6acf5109..ac3db6764073a 100644
--- a/libclc/opencl/include/clc/opencl/relational/isfinite.h
+++ b/libclc/opencl/include/clc/opencl/relational/isfinite.h
@@ -14,7 +14,7 @@
#define FUNCTION isfinite
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isgreater.h b/libclc/opencl/include/clc/opencl/relational/isgreater.h
index 6dfe6eb810e2a..2230055115bcd 100644
--- a/libclc/opencl/include/clc/opencl/relational/isgreater.h
+++ b/libclc/opencl/include/clc/opencl/relational/isgreater.h
@@ -14,7 +14,7 @@
#define FUNCTION isgreater
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isgreaterequal.h b/libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
index 1db2c5d58d062..f99a620dabd78 100644
--- a/libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
+++ b/libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
@@ -14,7 +14,7 @@
#define FUNCTION isgreaterequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isless.h b/libclc/opencl/include/clc/opencl/relational/isless.h
index 3e2afb32cddf4..74280e543e0b5 100644
--- a/libclc/opencl/include/clc/opencl/relational/isless.h
+++ b/libclc/opencl/include/clc/opencl/relational/isless.h
@@ -14,7 +14,7 @@
#define FUNCTION isless
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/islessequal.h b/libclc/opencl/include/clc/opencl/relational/islessequal.h
index 978e6a9052c16..dcc26c37b73c1 100644
--- a/libclc/opencl/include/clc/opencl/relational/islessequal.h
+++ b/libclc/opencl/include/clc/opencl/relational/islessequal.h
@@ -14,7 +14,7 @@
#define FUNCTION islessequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/islessgreater.h b/libclc/opencl/include/clc/opencl/relational/islessgreater.h
index 56cce7db20770..15a1eb5577531 100644
--- a/libclc/opencl/include/clc/opencl/relational/islessgreater.h
+++ b/libclc/opencl/include/clc/opencl/relational/islessgreater.h
@@ -14,7 +14,7 @@
#define FUNCTION islessgreater
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isnormal.h b/libclc/opencl/include/clc/opencl/relational/isnormal.h
index ee74a990b5eaf..bbb06aad0df2a 100644
--- a/libclc/opencl/include/clc/opencl/relational/isnormal.h
+++ b/libclc/opencl/include/clc/opencl/relational/isnormal.h
@@ -14,7 +14,7 @@
#define FUNCTION isnormal
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isnotequal.h b/libclc/opencl/include/clc/opencl/relational/isnotequal.h
index 7cf94e3ceec5f..c13aca8ef4be8 100644
--- a/libclc/opencl/include/clc/opencl/relational/isnotequal.h
+++ b/libclc/opencl/include/clc/opencl/relational/isnotequal.h
@@ -14,7 +14,7 @@
#define FUNCTION isnotequal
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isordered.h b/libclc/opencl/include/clc/opencl/relational/isordered.h
index ad9770bd627f2..ea4ba3fa6fe8d 100644
--- a/libclc/opencl/include/clc/opencl/relational/isordered.h
+++ b/libclc/opencl/include/clc/opencl/relational/isordered.h
@@ -14,7 +14,7 @@
#define FUNCTION isordered
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/isunordered.h b/libclc/opencl/include/clc/opencl/relational/isunordered.h
index 01d2f53837317..76bf85604d1c7 100644
--- a/libclc/opencl/include/clc/opencl/relational/isunordered.h
+++ b/libclc/opencl/include/clc/opencl/relational/isunordered.h
@@ -14,7 +14,7 @@
#define FUNCTION isunordered
#define __CLC_BODY <clc/relational/binary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/include/clc/opencl/relational/signbit.h b/libclc/opencl/include/clc/opencl/relational/signbit.h
index 29591c0c126a9..6ad6595c7e294 100644
--- a/libclc/opencl/include/clc/opencl/relational/signbit.h
+++ b/libclc/opencl/include/clc/opencl/relational/signbit.h
@@ -14,7 +14,7 @@
#define FUNCTION signbit
#define __CLC_BODY <clc/relational/unary_decl.inc>
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
#undef FUNCTION
diff --git a/libclc/opencl/lib/generic/relational/binary_def.inc b/libclc/opencl/lib/generic/relational/binary_def.inc
index 54bb237b8f8f5..8416da0475a2c 100644
--- a/libclc/opencl/lib/generic/relational/binary_def.inc
+++ b/libclc/opencl/lib/generic/relational/binary_def.inc
@@ -10,6 +10,14 @@
#define __IMPL_FUNCTION(x) __CLC_CONCAT(__clc_, x)
-_CLC_OVERLOAD _CLC_DEF __CLC_INTN FUNCTION(__CLC_FLOATN a, __CLC_FLOATN b) {
+#if __CLC_VECSIZE_OR_1 == 1
+#define __RETTYPE __CLC_INTN
+#else
+#define __RETTYPE __CLC_BIT_INTN
+#endif
+
+_CLC_OVERLOAD _CLC_DEF __RETTYPE FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b) {
return __IMPL_FUNCTION(FUNCTION)(a, b);
}
+
+#undef __RETTYPE
diff --git a/libclc/opencl/lib/generic/relational/isequal.cl b/libclc/opencl/lib/generic/relational/isequal.cl
index 94f83f9452666..83002c28ceab3 100644
--- a/libclc/opencl/lib/generic/relational/isequal.cl
+++ b/libclc/opencl/lib/generic/relational/isequal.cl
@@ -12,4 +12,4 @@
#define FUNCTION isequal
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isfinite.cl b/libclc/opencl/lib/generic/relational/isfinite.cl
index 695ffea806d5c..a2017133cead8 100644
--- a/libclc/opencl/lib/generic/relational/isfinite.cl
+++ b/libclc/opencl/lib/generic/relational/isfinite.cl
@@ -12,4 +12,4 @@
#define FUNCTION isfinite
#define __CLC_BODY "unary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isgreater.cl b/libclc/opencl/lib/generic/relational/isgreater.cl
index fb46ff20ac608..6eeb2b21c0493 100644
--- a/libclc/opencl/lib/generic/relational/isgreater.cl
+++ b/libclc/opencl/lib/generic/relational/isgreater.cl
@@ -12,4 +12,4 @@
#define FUNCTION isgreater
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isgreaterequal.cl b/libclc/opencl/lib/generic/relational/isgreaterequal.cl
index b8edde2a05b77..e4e4535fd30d3 100644
--- a/libclc/opencl/lib/generic/relational/isgreaterequal.cl
+++ b/libclc/opencl/lib/generic/relational/isgreaterequal.cl
@@ -12,4 +12,4 @@
#define FUNCTION isgreaterequal
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isinf.cl b/libclc/opencl/lib/generic/relational/isinf.cl
index 2c15f1f826762..2ab8c182e02a6 100644
--- a/libclc/opencl/lib/generic/relational/isinf.cl
+++ b/libclc/opencl/lib/generic/relational/isinf.cl
@@ -12,4 +12,4 @@
#define FUNCTION isinf
#define __CLC_BODY "unary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isless.cl b/libclc/opencl/lib/generic/relational/isless.cl
index 0af1f53e71042..4212970e7671a 100644
--- a/libclc/opencl/lib/generic/relational/isless.cl
+++ b/libclc/opencl/lib/generic/relational/isless.cl
@@ -12,4 +12,4 @@
#define FUNCTION isless
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/islessequal.cl b/libclc/opencl/lib/generic/relational/islessequal.cl
index 9e32afc718ab2..e7aec262fc762 100644
--- a/libclc/opencl/lib/generic/relational/islessequal.cl
+++ b/libclc/opencl/lib/generic/relational/islessequal.cl
@@ -12,4 +12,4 @@
#define FUNCTION islessequal
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/islessgreater.cl b/libclc/opencl/lib/generic/relational/islessgreater.cl
index c36a857dc3dfc..b775d2484550c 100644
--- a/libclc/opencl/lib/generic/relational/islessgreater.cl
+++ b/libclc/opencl/lib/generic/relational/islessgreater.cl
@@ -12,4 +12,4 @@
#define FUNCTION islessgreater
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isnan.cl b/libclc/opencl/lib/generic/relational/isnan.cl
index 8b03930c5312f..4b7eeb5b919b6 100644
--- a/libclc/opencl/lib/generic/relational/isnan.cl
+++ b/libclc/opencl/lib/generic/relational/isnan.cl
@@ -12,4 +12,4 @@
#define FUNCTION isnan
#define __CLC_BODY "unary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isnormal.cl b/libclc/opencl/lib/generic/relational/isnormal.cl
index 4ba21cc3e17fc..60ce9dccaeaf3 100644
--- a/libclc/opencl/lib/generic/relational/isnormal.cl
+++ b/libclc/opencl/lib/generic/relational/isnormal.cl
@@ -12,4 +12,4 @@
#define FUNCTION isnormal
#define __CLC_BODY "unary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isnotequal.cl b/libclc/opencl/lib/generic/relational/isnotequal.cl
index 928923b9b2a5e..abb4d3a859663 100644
--- a/libclc/opencl/lib/generic/relational/isnotequal.cl
+++ b/libclc/opencl/lib/generic/relational/isnotequal.cl
@@ -12,4 +12,4 @@
#define FUNCTION isnotequal
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isordered.cl b/libclc/opencl/lib/generic/relational/isordered.cl
index 60ca4d67ff1ea..684ee425e1203 100644
--- a/libclc/opencl/lib/generic/relational/isordered.cl
+++ b/libclc/opencl/lib/generic/relational/isordered.cl
@@ -12,4 +12,4 @@
#define FUNCTION isordered
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/isunordered.cl b/libclc/opencl/lib/generic/relational/isunordered.cl
index 3392d77856ced..84aa8cafb111a 100644
--- a/libclc/opencl/lib/generic/relational/isunordered.cl
+++ b/libclc/opencl/lib/generic/relational/isunordered.cl
@@ -12,4 +12,4 @@
#define FUNCTION isunordered
#define __CLC_BODY "binary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/signbit.cl b/libclc/opencl/lib/generic/relational/signbit.cl
index 26feb8d43fa25..d30fea7b9f6f5 100644
--- a/libclc/opencl/lib/generic/relational/signbit.cl
+++ b/libclc/opencl/lib/generic/relational/signbit.cl
@@ -12,4 +12,4 @@
#define FUNCTION signbit
#define __CLC_BODY "unary_def.inc"
-#include <clc/relational/floatn.inc>
+#include <clc/math/gentype.inc>
diff --git a/libclc/opencl/lib/generic/relational/unary_def.inc b/libclc/opencl/lib/generic/relational/unary_def.inc
index 47bb33ef2da3d..f184e3cf0be56 100644
--- a/libclc/opencl/lib/generic/relational/unary_def.inc
+++ b/libclc/opencl/lib/generic/relational/unary_def.inc
@@ -10,6 +10,14 @@
#define __IMPL_FUNCTION(x) __CLC_CONCAT(__clc_, x)
-_CLC_OVERLOAD _CLC_DEF __CLC_INTN FUNCTION(__CLC_FLOATN a) {
+#if __CLC_VECSIZE_OR_1 == 1
+#define __RETTYPE __CLC_INTN
+#else
+#define __RETTYPE __CLC_BIT_INTN
+#endif
+
+_CLC_OVERLOAD _CLC_DEF __RETTYPE FUNCTION(__CLC_GENTYPE a) {
return __IMPL_FUNCTION(FUNCTION)(a);
}
+
+#undef __RETTYPE
More information about the cfe-commits
mailing list