diff --git a/clang/lib/Sema/SPIRVBuiltins.td b/clang/lib/Sema/SPIRVBuiltins.td index ef3d18a682c58..d5a0e52e3404e 100644 --- a/clang/lib/Sema/SPIRVBuiltins.td +++ b/clang/lib/Sema/SPIRVBuiltins.td @@ -322,8 +322,7 @@ class ConstOCLSPVBuiltin _Signature> : // OpenCL v1.0/1.2/2.0 s6.1.1: Built-in Scalar Data Types. def Bool : IntType<"bool", QualType<"Context.BoolTy">, 1>; def TrueChar : IntType<"_char", QualType<"Context.CharTy", 0, 1>, 8>; -def Char : IntType<"char", QualType<"Context.SignedCharTy", 0, 1>, 8>; -def SChar : IntType<"schar", QualType<"Context.SignedCharTy", 0, 1>, 8>; +def Char : IntType<"char", QualTypeFromFunction<"GetCharType", 0, 1>, 8>; def UChar : UIntType<"uchar", QualType<"Context.UnsignedCharTy">, 8>; def Short : IntType<"short", QualType<"Context.ShortTy", 0, 1>, 16>; def UShort : UIntType<"ushort", QualType<"Context.UnsignedShortTy">, 16>; @@ -412,7 +411,7 @@ def IntLongFloatGenType1 : GenericType<"IntLongFloatGenType1", TLIntLongFloats // GenType definitions for every single base type (e.g. fp32 only). // Names are like: GenTypeFloatVecAndScalar. -foreach Type = [Char, UChar, SChar, Short, UShort, +foreach Type = [Char, UChar, Short, UShort, Int, UInt, Long, ULong, Float, Double, Half] in { foreach VecSizes = [VecAndScalar, VecNoScalar] in { @@ -872,16 +871,16 @@ foreach name = ["Dot"] in { } foreach name = ["Any", "All"] in { - def : SPVBuiltin; + def : SPVBuiltin; } foreach name = ["IsNan", "IsInf", "IsFinite", "IsNormal", "SignBitSet"] in { def : SPVBuiltin; def : SPVBuiltin; def : SPVBuiltin; - def : SPVBuiltin; - def : SPVBuiltin; - def : SPVBuiltin; + def : SPVBuiltin; + def : SPVBuiltin; + def : SPVBuiltin; } foreach name = ["LessOrGreater", @@ -895,9 +894,9 @@ foreach name = ["LessOrGreater", def : SPVBuiltin; def : SPVBuiltin; def : SPVBuiltin; - def : SPVBuiltin; - def : SPVBuiltin; - def : SPVBuiltin; + def : SPVBuiltin; + def : SPVBuiltin; + def : SPVBuiltin; } foreach name = ["BitCount"] in { diff --git a/clang/lib/Sema/SemaLookup.cpp b/clang/lib/Sema/SemaLookup.cpp index 2d687ffb575c4..005da53862ff6 100644 --- a/clang/lib/Sema/SemaLookup.cpp +++ b/clang/lib/Sema/SemaLookup.cpp @@ -51,6 +51,7 @@ #include #include +static inline clang::QualType GetCharType(clang::ASTContext &Context); static inline clang::QualType GetFloat16Type(clang::ASTContext &Context); #include "OpenCLBuiltins.inc" @@ -701,6 +702,10 @@ LLVM_DUMP_METHOD void LookupResult::dump() { D->dump(); } +static inline QualType GetCharType(clang::ASTContext &Context) { + return Context.getLangOpts().OpenCL ? Context.CharTy : Context.SignedCharTy; +} + static inline QualType GetFloat16Type(clang::ASTContext &Context) { return Context.getLangOpts().OpenCL ? Context.HalfTy : Context.Float16Ty; } diff --git a/clang/test/CodeGenSPIRV/spirv-builtin-lookup-group.cl b/clang/test/CodeGenSPIRV/spirv-builtin-lookup-group.cl index 52872bf7ac3b9..689d059efa5de 100644 --- a/clang/test/CodeGenSPIRV/spirv-builtin-lookup-group.cl +++ b/clang/test/CodeGenSPIRV/spirv-builtin-lookup-group.cl @@ -27,7 +27,7 @@ bool group_any(bool predicate) { char group_broad_cast(char a) { // CHECK-LABEL: @group_broad_cast( - // CHECK: call spir_func i32 @_Z22__spirv_GroupBroadcastiij( + // CHECK: call spir_func signext i8 @_Z22__spirv_GroupBroadcasticj( return __spirv_GroupBroadcast(2, a, 0u); } @@ -87,7 +87,7 @@ unsigned long group_umax(unsigned long a) { char group_smin(char a) { // CHECK-LABEL: @group_smin( - // CHECK: call spir_func i32 @_Z17__spirv_GroupSMiniii( + // CHECK: call spir_func signext i8 @_Z17__spirv_GroupSMiniic( return __spirv_GroupSMin(2, 0, a); } diff --git a/libclc/clc/include/clc/clc_as_type.h b/libclc/clc/include/clc/clc_as_type.h index 2040f84285f97..62fee71da8b02 100644 --- a/libclc/clc/include/clc/clc_as_type.h +++ b/libclc/clc/include/clc/clc_as_type.h @@ -10,7 +10,6 @@ #define __CLC_CLC_AS_TYPE_H__ #define __clc_as_char(x) __builtin_astype(x, char) -#define __clc_as_schar(x) __builtin_astype(x, schar) #define __clc_as_uchar(x) __builtin_astype(x, uchar) #define __clc_as_short(x) __builtin_astype(x, short) #define __clc_as_ushort(x) __builtin_astype(x, ushort) @@ -21,7 +20,6 @@ #define __clc_as_float(x) __builtin_astype(x, float) #define __clc_as_char2(x) __builtin_astype(x, char2) -#define __clc_as_schar2(x) __builtin_astype(x, schar2) #define __clc_as_uchar2(x) __builtin_astype(x, uchar2) #define __clc_as_short2(x) __builtin_astype(x, short2) #define __clc_as_ushort2(x) __builtin_astype(x, ushort2) @@ -32,7 +30,6 @@ #define __clc_as_float2(x) __builtin_astype(x, float2) #define __clc_as_char3(x) __builtin_astype(x, char3) -#define __clc_as_schar3(x) __builtin_astype(x, schar3) #define __clc_as_uchar3(x) __builtin_astype(x, uchar3) #define __clc_as_short3(x) __builtin_astype(x, short3) #define __clc_as_ushort3(x) __builtin_astype(x, ushort3) @@ -43,7 +40,6 @@ #define __clc_as_float3(x) __builtin_astype(x, float3) #define __clc_as_char4(x) __builtin_astype(x, char4) -#define __clc_as_schar4(x) __builtin_astype(x, schar4) #define __clc_as_uchar4(x) __builtin_astype(x, uchar4) #define __clc_as_short4(x) __builtin_astype(x, short4) #define __clc_as_ushort4(x) __builtin_astype(x, ushort4) @@ -54,9 +50,7 @@ #define __clc_as_float4(x) __builtin_astype(x, float4) #define __clc_as_char8(x) __builtin_astype(x, char8) -#define __clc_as_schar8(x) __builtin_astype(x, schar8) #define __clc_as_uchar8(x) __builtin_astype(x, uchar8) -#define __clc_as_schar8(x) __builtin_astype(x, schar8) #define __clc_as_short8(x) __builtin_astype(x, short8) #define __clc_as_ushort8(x) __builtin_astype(x, ushort8) #define __clc_as_int8(x) __builtin_astype(x, int8) @@ -66,7 +60,6 @@ #define __clc_as_float8(x) __builtin_astype(x, float8) #define __clc_as_char16(x) __builtin_astype(x, char16) -#define __clc_as_schar16(x) __builtin_astype(x, schar16) #define __clc_as_uchar16(x) __builtin_astype(x, uchar16) #define __clc_as_short16(x) __builtin_astype(x, short16) #define __clc_as_ushort16(x) __builtin_astype(x, ushort16) diff --git a/libclc/clc/include/clc/clc_convert.h b/libclc/clc/include/clc/clc_convert.h index 3ca53e944280a..ab41e5abb9d6c 100644 --- a/libclc/clc/include/clc/clc_convert.h +++ b/libclc/clc/include/clc/clc_convert.h @@ -24,7 +24,6 @@ #define _CLC_VECTOR_CONVERT_FROM1(FROM_TYPE, SUFFIX) \ _CLC_VECTOR_CONVERT_DECL(FROM_TYPE, char, SUFFIX) \ - _CLC_VECTOR_CONVERT_DECL(FROM_TYPE, schar, SUFFIX) \ _CLC_VECTOR_CONVERT_DECL(FROM_TYPE, uchar, SUFFIX) \ _CLC_VECTOR_CONVERT_DECL(FROM_TYPE, int, SUFFIX) \ _CLC_VECTOR_CONVERT_DECL(FROM_TYPE, uint, SUFFIX) \ @@ -58,7 +57,6 @@ #define _CLC_VECTOR_CONVERT_TO1(SUFFIX) \ _CLC_VECTOR_CONVERT_FROM(char, SUFFIX) \ - _CLC_VECTOR_CONVERT_FROM(schar, SUFFIX) \ _CLC_VECTOR_CONVERT_FROM(uchar, SUFFIX) \ _CLC_VECTOR_CONVERT_FROM(int, SUFFIX) \ _CLC_VECTOR_CONVERT_FROM(uint, SUFFIX) \ diff --git a/libclc/clc/include/clc/clctypes.h b/libclc/clc/include/clc/clctypes.h index 98294e27a5993..2187c2535963b 100644 --- a/libclc/clc/include/clc/clctypes.h +++ b/libclc/clc/include/clc/clctypes.h @@ -11,7 +11,6 @@ /* 6.1.1 Built-in Scalar Data Types */ -typedef signed char schar; typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; @@ -40,12 +39,6 @@ typedef __attribute__((ext_vector_type(4))) char char4; typedef __attribute__((ext_vector_type(8))) char char8; typedef __attribute__((ext_vector_type(16))) char char16; -typedef __attribute__((ext_vector_type(2))) schar schar2; -typedef __attribute__((ext_vector_type(3))) schar schar3; -typedef __attribute__((ext_vector_type(4))) schar schar4; -typedef __attribute__((ext_vector_type(8))) schar schar8; -typedef __attribute__((ext_vector_type(16))) schar schar16; - typedef __attribute__((ext_vector_type(2))) uchar uchar2; typedef __attribute__((ext_vector_type(3))) uchar uchar3; typedef __attribute__((ext_vector_type(4))) uchar uchar4; diff --git a/libclc/clc/include/clc/integer/gentype.inc b/libclc/clc/include/clc/integer/gentype.inc index f6a5f83967ccc..acca8632de32a 100644 --- a/libclc/clc/include/clc/integer/gentype.inc +++ b/libclc/clc/include/clc/integer/gentype.inc @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// + #include #include #include @@ -20,13 +21,11 @@ // These 2 defines only change when switching between data sizes or base types // to keep this file manageable. - #define __CLC_GENSIZE 8 #define __CLC_SCALAR_GENTYPE char #define __CLC_GEN_S #define __CLC_GENTYPE char -#define __CLC_SPIRV_INTERFACE_GENTYPE schar #define __CLC_U_GENTYPE uchar #define __CLC_S_GENTYPE char #define __CLC_SCALAR @@ -39,12 +38,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE char2 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar2 #define __CLC_U_GENTYPE uchar2 #define __CLC_S_GENTYPE char2 #define __CLC_VECSIZE 2 @@ -53,10 +50,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE char3 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar3 #define __CLC_U_GENTYPE uchar3 #define __CLC_S_GENTYPE char3 #define __CLC_VECSIZE 3 @@ -65,10 +60,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE char4 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar4 #define __CLC_U_GENTYPE uchar4 #define __CLC_S_GENTYPE char4 #define __CLC_VECSIZE 4 @@ -77,10 +70,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE char8 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar8 #define __CLC_U_GENTYPE uchar8 #define __CLC_S_GENTYPE char8 #define __CLC_VECSIZE 8 @@ -89,10 +80,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE char16 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar16 #define __CLC_U_GENTYPE uchar16 #define __CLC_S_GENTYPE char16 #define __CLC_VECSIZE 16 @@ -102,94 +91,6 @@ #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE #undef __CLC_VECSIZE_OR_1 -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#ifndef __CLC_NO_SCHAR -#undef __CLC_GEN_S -#undef __CLC_SCALAR_GENTYPE -#define __CLC_SCALAR_GENTYPE schar -#define __CLC_GEN_S - -#define __CLC_GENTYPE schar -#define __CLC_SPIRV_INTERFACE_GENTYPE schar -#define __CLC_U_GENTYPE uchar -#define __CLC_S_GENTYPE schar -#define __CLC_SCALAR -#define __CLC_VECSIZE -#define __CLC_VECSIZE_OR_1 1 -#include __CLC_BODY -#undef __CLC_VECSIZE_OR_1 -#undef __CLC_VECSIZE -#undef __CLC_SCALAR -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#define __CLC_VECSIZE_OR_1 __CLC_VECSIZE - -#define __CLC_GENTYPE schar2 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar2 -#define __CLC_U_GENTYPE uchar2 -#define __CLC_S_GENTYPE schar2 -#define __CLC_VECSIZE 2 -#include __CLC_BODY -#undef __CLC_VECSIZE -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#define __CLC_GENTYPE schar3 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar3 -#define __CLC_U_GENTYPE uchar3 -#define __CLC_S_GENTYPE schar3 -#define __CLC_VECSIZE 3 -#include __CLC_BODY -#undef __CLC_VECSIZE -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#define __CLC_GENTYPE schar4 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar4 -#define __CLC_U_GENTYPE uchar4 -#define __CLC_S_GENTYPE schar4 -#define __CLC_VECSIZE 4 -#include __CLC_BODY -#undef __CLC_VECSIZE -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#define __CLC_GENTYPE schar8 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar8 -#define __CLC_U_GENTYPE uchar8 -#define __CLC_S_GENTYPE schar8 -#define __CLC_VECSIZE 8 -#include __CLC_BODY -#undef __CLC_VECSIZE -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE - -#define __CLC_GENTYPE schar16 -#define __CLC_SPIRV_INTERFACE_GENTYPE schar16 -#define __CLC_U_GENTYPE uchar16 -#define __CLC_S_GENTYPE schar16 -#define __CLC_VECSIZE 16 -#include __CLC_BODY -#undef __CLC_VECSIZE -#undef __CLC_GENTYPE -#undef __CLC_U_GENTYPE -#undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE -#undef __CLC_VECSIZE_OR_1 - -#endif // __CLC_NO_SCHAR #undef __CLC_SCALAR_GENTYPE #define __CLC_SCALAR_GENTYPE uchar @@ -197,9 +98,8 @@ #define __CLC_GEN_U #define __CLC_GENTYPE uchar -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar #define __CLC_U_GENTYPE uchar -#define __CLC_S_GENTYPE schar +#define __CLC_S_GENTYPE char #define __CLC_SCALAR #define __CLC_VECSIZE #define __CLC_VECSIZE_OR_1 1 @@ -210,69 +110,58 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE uchar2 -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar2 #define __CLC_U_GENTYPE uchar2 -#define __CLC_S_GENTYPE schar2 +#define __CLC_S_GENTYPE char2 #define __CLC_VECSIZE 2 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uchar3 -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar3 #define __CLC_U_GENTYPE uchar3 -#define __CLC_S_GENTYPE schar3 +#define __CLC_S_GENTYPE char3 #define __CLC_VECSIZE 3 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uchar4 -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar4 #define __CLC_U_GENTYPE uchar4 -#define __CLC_S_GENTYPE schar4 +#define __CLC_S_GENTYPE char4 #define __CLC_VECSIZE 4 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uchar8 -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar8 #define __CLC_U_GENTYPE uchar8 -#define __CLC_S_GENTYPE schar8 +#define __CLC_S_GENTYPE char8 #define __CLC_VECSIZE 8 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uchar16 -#define __CLC_SPIRV_INTERFACE_GENTYPE uchar16 #define __CLC_U_GENTYPE uchar16 -#define __CLC_S_GENTYPE schar16 +#define __CLC_S_GENTYPE char16 #define __CLC_VECSIZE 16 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_GENSIZE @@ -283,7 +172,6 @@ #define __CLC_GEN_S #define __CLC_GENTYPE short -#define __CLC_SPIRV_INTERFACE_GENTYPE short #define __CLC_U_GENTYPE ushort #define __CLC_S_GENTYPE short #define __CLC_SCALAR @@ -296,12 +184,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE short2 -#define __CLC_SPIRV_INTERFACE_GENTYPE short2 #define __CLC_U_GENTYPE ushort2 #define __CLC_S_GENTYPE short2 #define __CLC_VECSIZE 2 @@ -310,10 +196,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE short3 -#define __CLC_SPIRV_INTERFACE_GENTYPE short3 #define __CLC_U_GENTYPE ushort3 #define __CLC_S_GENTYPE short3 #define __CLC_VECSIZE 3 @@ -322,10 +206,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE short4 -#define __CLC_SPIRV_INTERFACE_GENTYPE short4 #define __CLC_U_GENTYPE ushort4 #define __CLC_S_GENTYPE short4 #define __CLC_VECSIZE 4 @@ -334,10 +216,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE short8 -#define __CLC_SPIRV_INTERFACE_GENTYPE short8 #define __CLC_U_GENTYPE ushort8 #define __CLC_S_GENTYPE short8 #define __CLC_VECSIZE 8 @@ -346,10 +226,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE short16 -#define __CLC_SPIRV_INTERFACE_GENTYPE short16 #define __CLC_U_GENTYPE ushort16 #define __CLC_S_GENTYPE short16 #define __CLC_VECSIZE 16 @@ -358,7 +236,6 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_SCALAR_GENTYPE @@ -367,7 +244,6 @@ #define __CLC_GEN_U #define __CLC_GENTYPE ushort -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort #define __CLC_U_GENTYPE ushort #define __CLC_S_GENTYPE short #define __CLC_SCALAR @@ -380,12 +256,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE ushort2 -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort2 #define __CLC_U_GENTYPE ushort2 #define __CLC_S_GENTYPE short2 #define __CLC_VECSIZE 2 @@ -394,10 +268,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ushort3 -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort3 #define __CLC_U_GENTYPE ushort3 #define __CLC_S_GENTYPE short3 #define __CLC_VECSIZE 3 @@ -406,10 +278,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ushort4 -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort4 #define __CLC_U_GENTYPE ushort4 #define __CLC_S_GENTYPE short4 #define __CLC_VECSIZE 4 @@ -418,10 +288,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ushort8 -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort8 #define __CLC_U_GENTYPE ushort8 #define __CLC_S_GENTYPE short8 #define __CLC_VECSIZE 8 @@ -430,10 +298,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ushort16 -#define __CLC_SPIRV_INTERFACE_GENTYPE ushort16 #define __CLC_U_GENTYPE ushort16 #define __CLC_S_GENTYPE short16 #define __CLC_VECSIZE 16 @@ -442,7 +308,6 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_GENSIZE @@ -453,7 +318,6 @@ #define __CLC_GEN_S #define __CLC_GENTYPE int -#define __CLC_SPIRV_INTERFACE_GENTYPE int #define __CLC_U_GENTYPE uint #define __CLC_S_GENTYPE int #define __CLC_SCALAR @@ -466,12 +330,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE int2 -#define __CLC_SPIRV_INTERFACE_GENTYPE int2 #define __CLC_U_GENTYPE uint2 #define __CLC_S_GENTYPE int2 #define __CLC_VECSIZE 2 @@ -480,10 +342,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE int3 -#define __CLC_SPIRV_INTERFACE_GENTYPE int3 #define __CLC_U_GENTYPE uint3 #define __CLC_S_GENTYPE int3 #define __CLC_VECSIZE 3 @@ -492,10 +352,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE int4 -#define __CLC_SPIRV_INTERFACE_GENTYPE int4 #define __CLC_U_GENTYPE uint4 #define __CLC_S_GENTYPE int4 #define __CLC_VECSIZE 4 @@ -504,10 +362,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE int8 -#define __CLC_SPIRV_INTERFACE_GENTYPE int8 #define __CLC_U_GENTYPE uint8 #define __CLC_S_GENTYPE int8 #define __CLC_VECSIZE 8 @@ -516,10 +372,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE int16 -#define __CLC_SPIRV_INTERFACE_GENTYPE int16 #define __CLC_U_GENTYPE uint16 #define __CLC_S_GENTYPE int16 #define __CLC_VECSIZE 16 @@ -528,7 +382,6 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_SCALAR_GENTYPE @@ -537,7 +390,6 @@ #define __CLC_GEN_U #define __CLC_GENTYPE uint -#define __CLC_SPIRV_INTERFACE_GENTYPE uint #define __CLC_U_GENTYPE uint #define __CLC_S_GENTYPE int #define __CLC_SCALAR @@ -550,12 +402,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE uint2 -#define __CLC_SPIRV_INTERFACE_GENTYPE uint2 #define __CLC_U_GENTYPE uint2 #define __CLC_S_GENTYPE int2 #define __CLC_VECSIZE 2 @@ -564,10 +414,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uint3 -#define __CLC_SPIRV_INTERFACE_GENTYPE uint3 #define __CLC_U_GENTYPE uint3 #define __CLC_S_GENTYPE int3 #define __CLC_VECSIZE 3 @@ -576,10 +424,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uint4 -#define __CLC_SPIRV_INTERFACE_GENTYPE uint4 #define __CLC_U_GENTYPE uint4 #define __CLC_S_GENTYPE int4 #define __CLC_VECSIZE 4 @@ -588,10 +434,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uint8 -#define __CLC_SPIRV_INTERFACE_GENTYPE uint8 #define __CLC_U_GENTYPE uint8 #define __CLC_S_GENTYPE int8 #define __CLC_VECSIZE 8 @@ -600,10 +444,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE uint16 -#define __CLC_SPIRV_INTERFACE_GENTYPE uint16 #define __CLC_U_GENTYPE uint16 #define __CLC_S_GENTYPE int16 #define __CLC_VECSIZE 16 @@ -612,7 +454,6 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_GENSIZE @@ -623,7 +464,6 @@ #define __CLC_GEN_S #define __CLC_GENTYPE long -#define __CLC_SPIRV_INTERFACE_GENTYPE long #define __CLC_U_GENTYPE ulong #define __CLC_S_GENTYPE long #define __CLC_SCALAR @@ -636,12 +476,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE long2 -#define __CLC_SPIRV_INTERFACE_GENTYPE long2 #define __CLC_U_GENTYPE ulong2 #define __CLC_S_GENTYPE long2 #define __CLC_VECSIZE 2 @@ -650,10 +488,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE long3 -#define __CLC_SPIRV_INTERFACE_GENTYPE long3 #define __CLC_U_GENTYPE ulong3 #define __CLC_S_GENTYPE long3 #define __CLC_VECSIZE 3 @@ -662,10 +498,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE long4 -#define __CLC_SPIRV_INTERFACE_GENTYPE long4 #define __CLC_U_GENTYPE ulong4 #define __CLC_S_GENTYPE long4 #define __CLC_VECSIZE 4 @@ -674,10 +508,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE long8 -#define __CLC_SPIRV_INTERFACE_GENTYPE long8 #define __CLC_U_GENTYPE ulong8 #define __CLC_S_GENTYPE long8 #define __CLC_VECSIZE 8 @@ -686,10 +518,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE long16 -#define __CLC_SPIRV_INTERFACE_GENTYPE long16 #define __CLC_U_GENTYPE ulong16 #define __CLC_S_GENTYPE long16 #define __CLC_VECSIZE 16 @@ -698,7 +528,6 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_SCALAR_GENTYPE @@ -707,7 +536,6 @@ #define __CLC_GEN_U #define __CLC_GENTYPE ulong -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong #define __CLC_U_GENTYPE ulong #define __CLC_S_GENTYPE long #define __CLC_SCALAR @@ -721,12 +549,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE ulong2 -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong2 #define __CLC_U_GENTYPE ulong2 #define __CLC_S_GENTYPE long2 #define __CLC_VECSIZE 2 @@ -735,10 +561,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ulong3 -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong3 #define __CLC_U_GENTYPE ulong3 #define __CLC_S_GENTYPE long3 #define __CLC_VECSIZE 3 @@ -747,10 +571,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ulong4 -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong4 #define __CLC_U_GENTYPE ulong4 #define __CLC_S_GENTYPE long4 #define __CLC_VECSIZE 4 @@ -759,10 +581,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ulong8 -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong8 #define __CLC_U_GENTYPE ulong8 #define __CLC_S_GENTYPE long8 #define __CLC_VECSIZE 8 @@ -771,10 +591,8 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #define __CLC_GENTYPE ulong16 -#define __CLC_SPIRV_INTERFACE_GENTYPE ulong16 #define __CLC_U_GENTYPE ulong16 #define __CLC_S_GENTYPE long16 #define __CLC_VECSIZE 16 @@ -783,12 +601,10 @@ #undef __CLC_GENTYPE #undef __CLC_U_GENTYPE #undef __CLC_S_GENTYPE -#undef __CLC_SPIRV_INTERFACE_GENTYPE #undef __CLC_VECSIZE_OR_1 #undef __CLC_GEN_U -#undef __CLC_CHAR #undef __CLC_GENSIZE #undef __CLC_SCALAR_GENTYPE #undef __CLC_BODY diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc index 6cc4354f2358d..a8d8317a9cacb 100644 --- a/libclc/clc/include/clc/math/gentype.inc +++ b/libclc/clc/include/clc/math/gentype.inc @@ -20,7 +20,6 @@ #define __CLC_DOUBLEN __CLC_XCONCAT(double, __CLC_VECSIZE) #define __CLC_CHARN __CLC_XCONCAT(char, __CLC_VECSIZE) -#define __CLC_SCHARN __CLC_XCONCAT(schar, __CLC_VECSIZE) #define __CLC_SHORTN __CLC_XCONCAT(short, __CLC_VECSIZE) #define __CLC_INTN __CLC_XCONCAT(int, __CLC_VECSIZE) #define __CLC_LONGN __CLC_XCONCAT(long, __CLC_VECSIZE) @@ -35,7 +34,6 @@ #define __CLC_AS_DOUBLEN __CLC_XCONCAT(__clc_as_, __CLC_DOUBLEN) #define __CLC_AS_CHARN __CLC_XCONCAT(__clc_as_, __CLC_CHARN) -#define __CLC_AS_SCHARN __CLC_XCONCAT(__clc_as_, __CLC_SCHARN) #define __CLC_AS_SHORTN __CLC_XCONCAT(__clc_as_, __CLC_SHORTN) #define __CLC_AS_INTN __CLC_XCONCAT(__clc_as_, __CLC_INTN) #define __CLC_AS_LONGN __CLC_XCONCAT(__clc_as_, __CLC_LONGN) @@ -50,7 +48,6 @@ #define __CLC_CONVERT_DOUBLEN __CLC_XCONCAT(__clc_convert_double, __CLC_VECSIZE) #define __CLC_CONVERT_CHARN __CLC_XCONCAT(__clc_convert_, __CLC_CHARN) -#define __CLC_CONVERT_SCHARN __CLC_XCONCAT(__clc_convert_, __CLC_SCHARN) #define __CLC_CONVERT_SHORTN __CLC_XCONCAT(__clc_convert_, __CLC_SHORTN) #define __CLC_CONVERT_INTN __CLC_XCONCAT(__clc_convert_, __CLC_INTN) #define __CLC_CONVERT_LONGN __CLC_XCONCAT(__clc_convert_, __CLC_LONGN) @@ -344,7 +341,6 @@ #undef __CLC_LONGN #undef __CLC_INTN #undef __CLC_SHORTN -#undef __CLC_SCHARN #undef __CLC_CHARN #undef __CLC_DOUBLEN diff --git a/libclc/clc/lib/generic/integer/clc_ctz.cl b/libclc/clc/lib/generic/integer/clc_ctz.cl index 71c3d9ea6dd3b..50fda4a214b24 100644 --- a/libclc/clc/lib/generic/integer/clc_ctz.cl +++ b/libclc/clc/lib/generic/integer/clc_ctz.cl @@ -14,10 +14,6 @@ _CLC_OVERLOAD _CLC_DEF char __clc_ctz(char x) { return __clc_ctz(__clc_as_uchar(x)); } -_CLC_OVERLOAD _CLC_DEF schar __clc_ctz(schar x) { - return __clc_ctz(__clc_as_uchar(x)); -} - _CLC_OVERLOAD _CLC_DEF uchar __clc_ctz(uchar x) { return __builtin_ctzg(x, 8); } _CLC_OVERLOAD _CLC_DEF short __clc_ctz(short x) { @@ -43,7 +39,6 @@ _CLC_OVERLOAD _CLC_DEF ulong __clc_ctz(ulong x) { } _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, char, __clc_ctz, char) -_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, schar, __clc_ctz, schar) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, uchar, __clc_ctz, uchar) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, short, __clc_ctz, short) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, ushort, __clc_ctz, ushort) diff --git a/libclc/clc/lib/generic/integer/clc_mad_sat.cl b/libclc/clc/lib/generic/integer/clc_mad_sat.cl index cb9d085d7cebc..7c6aaffe6c5c7 100644 --- a/libclc/clc/lib/generic/integer/clc_mad_sat.cl +++ b/libclc/clc/lib/generic/integer/clc_mad_sat.cl @@ -36,7 +36,6 @@ __CLC_DEFINE_SIMPLE_MAD_SAT(TYPE##16, UP_TYPE##16, LIT_PREFIX) __CLC_DEFINE_SIMPLE_MAD_SAT_ALL_TYS(char, int, CHAR) -__CLC_DEFINE_SIMPLE_MAD_SAT_ALL_TYS(schar, int, SCHAR) __CLC_DEFINE_SIMPLE_MAD_SAT_ALL_TYS(uchar, uint, UCHAR) __CLC_DEFINE_SIMPLE_MAD_SAT_ALL_TYS(short, int, SHRT) __CLC_DEFINE_SIMPLE_MAD_SAT_ALL_TYS(ushort, uint, USHRT) diff --git a/libclc/clc/lib/generic/integer/clc_mul_hi.cl b/libclc/clc/lib/generic/integer/clc_mul_hi.cl index 2cd95b299711f..117d8471fb8a3 100644 --- a/libclc/clc/lib/generic/integer/clc_mul_hi.cl +++ b/libclc/clc/lib/generic/integer/clc_mul_hi.cl @@ -114,7 +114,6 @@ _CLC_OVERLOAD _CLC_DEF ulong __clc_mul_hi(ulong x, ulong y) { #define __CLC_MUL_HI_TYPES() \ __CLC_MUL_HI_DEC_IMPL(short, char, 8) \ - __CLC_MUL_HI_DEC_IMPL(short, schar, 8) \ __CLC_MUL_HI_DEC_IMPL(ushort, uchar, 8) \ __CLC_MUL_HI_DEC_IMPL(int, short, 16) \ __CLC_MUL_HI_DEC_IMPL(uint, ushort, 16) \ diff --git a/libclc/clc/lib/generic/misc/clc_shuffle.cl b/libclc/clc/lib/generic/misc/clc_shuffle.cl index 675db4bd7284f..626a94df08131 100644 --- a/libclc/clc/lib/generic/misc/clc_shuffle.cl +++ b/libclc/clc/lib/generic/misc/clc_shuffle.cl @@ -138,7 +138,6 @@ _CLC_VECTOR_SHUFFLE_MASKSIZE(TYPE, 16, MASKTYPE) _CLC_VECTOR_SHUFFLE_INSIZE(char, uchar) -_CLC_VECTOR_SHUFFLE_INSIZE(schar, uchar) _CLC_VECTOR_SHUFFLE_INSIZE(short, ushort) _CLC_VECTOR_SHUFFLE_INSIZE(int, uint) _CLC_VECTOR_SHUFFLE_INSIZE(long, ulong) diff --git a/libclc/clc/lib/generic/misc/clc_shuffle2.cl b/libclc/clc/lib/generic/misc/clc_shuffle2.cl index c0daf0b4d5a9d..3626e67423193 100644 --- a/libclc/clc/lib/generic/misc/clc_shuffle2.cl +++ b/libclc/clc/lib/generic/misc/clc_shuffle2.cl @@ -140,7 +140,6 @@ _CLC_VECTOR_SHUFFLE_MASKSIZE(TYPE, 16, MASKTYPE) _CLC_VECTOR_SHUFFLE_INSIZE(char, uchar) -_CLC_VECTOR_SHUFFLE_INSIZE(schar, uchar) _CLC_VECTOR_SHUFFLE_INSIZE(short, ushort) _CLC_VECTOR_SHUFFLE_INSIZE(int, uint) _CLC_VECTOR_SHUFFLE_INSIZE(long, ulong) diff --git a/libclc/generic/include/as_type.h b/libclc/generic/include/as_type.h index d661ff3fd89a9..b122614de1d74 100644 --- a/libclc/generic/include/as_type.h +++ b/libclc/generic/include/as_type.h @@ -9,7 +9,6 @@ //===----------------------------------------------------------------------===// #define as_char(x) __builtin_astype(x, char) -#define as_schar(x) __builtin_astype(x, schar) #define as_uchar(x) __builtin_astype(x, uchar) #define as_short(x) __builtin_astype(x, short) #define as_ushort(x) __builtin_astype(x, ushort) @@ -20,7 +19,6 @@ #define as_float(x) __builtin_astype(x, float) #define as_char2(x) __builtin_astype(x, char2) -#define as_schar2(x) __builtin_astype(x, schar2) #define as_uchar2(x) __builtin_astype(x, uchar2) #define as_short2(x) __builtin_astype(x, short2) #define as_ushort2(x) __builtin_astype(x, ushort2) @@ -31,7 +29,6 @@ #define as_float2(x) __builtin_astype(x, float2) #define as_char3(x) __builtin_astype(x, char3) -#define as_schar3(x) __builtin_astype(x, schar3) #define as_uchar3(x) __builtin_astype(x, uchar3) #define as_short3(x) __builtin_astype(x, short3) #define as_ushort3(x) __builtin_astype(x, ushort3) @@ -42,7 +39,6 @@ #define as_float3(x) __builtin_astype(x, float3) #define as_char4(x) __builtin_astype(x, char4) -#define as_schar4(x) __builtin_astype(x, schar4) #define as_uchar4(x) __builtin_astype(x, uchar4) #define as_short4(x) __builtin_astype(x, short4) #define as_ushort4(x) __builtin_astype(x, ushort4) @@ -53,7 +49,6 @@ #define as_float4(x) __builtin_astype(x, float4) #define as_char8(x) __builtin_astype(x, char8) -#define as_schar8(x) __builtin_astype(x, schar8) #define as_uchar8(x) __builtin_astype(x, uchar8) #define as_short8(x) __builtin_astype(x, short8) #define as_ushort8(x) __builtin_astype(x, ushort8) @@ -64,7 +59,6 @@ #define as_float8(x) __builtin_astype(x, float8) #define as_char16(x) __builtin_astype(x, char16) -#define as_schar16(x) __builtin_astype(x, schar16) #define as_uchar16(x) __builtin_astype(x, uchar16) #define as_short16(x) __builtin_astype(x, short16) #define as_ushort16(x) __builtin_astype(x, ushort16) diff --git a/libclc/generic/include/clc/clc.h b/libclc/generic/include/clc/clc.h index 49fa586a023c1..7c981f4b1bfac 100644 --- a/libclc/generic/include/clc/clc.h +++ b/libclc/generic/include/clc/clc.h @@ -23,8 +23,6 @@ #pragma OPENCL EXTENSION cl_khr_fp16 : enable #endif -#define __CLC_NO_SCHAR - /* Function Attributes */ #include diff --git a/libclc/generic/include/core/convert.h b/libclc/generic/include/core/convert.h index e3f19010b404d..299550a922df9 100644 --- a/libclc/generic/include/core/convert.h +++ b/libclc/generic/include/core/convert.h @@ -22,7 +22,6 @@ #define _CLC_VECTOR_CORE_CONVERT_FROM1(FROM_TYPE, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_DECL(FROM_TYPE, char, SUFFIX) \ - _CLC_VECTOR_CORE_CONVERT_DECL(FROM_TYPE, schar, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_DECL(FROM_TYPE, uchar, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_DECL(FROM_TYPE, int, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_DECL(FROM_TYPE, uint, SUFFIX) \ @@ -51,7 +50,6 @@ #define _CLC_VECTOR_CORE_CONVERT_TO1(SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_FROM(char, SUFFIX) \ - _CLC_VECTOR_CORE_CONVERT_FROM(schar, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_FROM(uchar, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_FROM(int, SUFFIX) \ _CLC_VECTOR_CORE_CONVERT_FROM(uint, SUFFIX) \ diff --git a/libclc/generic/lib/gen_convert.py b/libclc/generic/lib/gen_convert.py index a0b02e3c7f9cb..b8c7050095fc8 100644 --- a/libclc/generic/lib/gen_convert.py +++ b/libclc/generic/lib/gen_convert.py @@ -68,14 +68,9 @@ saturation = ["", "_sat"] rounding_modes = ["_rtz", "_rte", "_rtp", "_rtn"] -if clc: - types.insert(1, "schar") - int_types.insert(1, "schar") - bool_type = { "char": "char", - "schar": "schar", - "uchar": "schar" if clc else "char", + "uchar": "char", "short": "short", "ushort": "short", "int": "int", @@ -89,7 +84,6 @@ unsigned_type = { "char": "uchar", - "schar": "uchar", "uchar": "uchar", "short": "ushort", "ushort": "ushort", @@ -101,7 +95,6 @@ sizeof_type = { "char": 1, - "schar": 1, "uchar": 1, "short": 2, "ushort": 2, @@ -116,7 +109,6 @@ limit_max = { "char": "CHAR_MAX", - "schar": "CHAR_MAX", "uchar": "UCHAR_MAX", "short": "SHRT_MAX", "ushort": "USHRT_MAX", @@ -129,7 +121,6 @@ limit_min = { "char": "CHAR_MIN", - "schar": "CHAR_MIN", "uchar": "0", "short": "SHRT_MIN", "ushort": "0", diff --git a/libclc/libspirv/include/libspirv/async/gentype.inc b/libclc/libspirv/include/libspirv/async/gentype.inc index d759642bd4784..1b678f8a4ad00 100644 --- a/libclc/libspirv/include/libspirv/async/gentype.inc +++ b/libclc/libspirv/include/libspirv/async/gentype.inc @@ -46,46 +46,6 @@ #undef __CLC_GENTYPE_MANGLED #undef __CLC_GENTYPE -#ifndef __CLC_NO_SCHAR -#define __CLC_GENTYPE schar -#define __CLC_GENTYPE_MANGLED a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#define __CLC_GENTYPE schar2 -#define __CLC_GENTYPE_MANGLED Dv2_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#ifdef __CLC_GEN_VEC3 -#define __CLC_GENTYPE schar3 -#define __CLC_GENTYPE_MANGLED Dv3_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE -#endif - -#define __CLC_GENTYPE schar4 -#define __CLC_GENTYPE_MANGLED Dv4_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#define __CLC_GENTYPE schar8 -#define __CLC_GENTYPE_MANGLED Dv8_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#define __CLC_GENTYPE schar16 -#define __CLC_GENTYPE_MANGLED Dv16_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE -#endif - #define __CLC_GENTYPE uchar #define __CLC_GENTYPE_MANGLED h #include __CLC_BODY diff --git a/libclc/libspirv/include/libspirv/lp64_types.h b/libclc/libspirv/include/libspirv/lp64_types.h index 2cf6a948a5d4b..aa8e9ad85be63 100644 --- a/libclc/libspirv/include/libspirv/lp64_types.h +++ b/libclc/libspirv/include/libspirv/lp64_types.h @@ -22,12 +22,12 @@ typedef char __clc_vec4_char_t __attribute__((ext_vector_type(4))); typedef char __clc_vec8_char_t __attribute__((ext_vector_type(8))); typedef char __clc_vec16_char_t __attribute__((ext_vector_type(16))); -typedef signed char __clc_int8_t; -typedef signed char __clc_vec2_int8_t __attribute__((ext_vector_type(2))); -typedef signed char __clc_vec3_int8_t __attribute__((ext_vector_type(3))); -typedef signed char __clc_vec4_int8_t __attribute__((ext_vector_type(4))); -typedef signed char __clc_vec8_int8_t __attribute__((ext_vector_type(8))); -typedef signed char __clc_vec16_int8_t __attribute__((ext_vector_type(16))); +typedef char __clc_int8_t; +typedef char __clc_vec2_int8_t __attribute__((ext_vector_type(2))); +typedef char __clc_vec3_int8_t __attribute__((ext_vector_type(3))); +typedef char __clc_vec4_int8_t __attribute__((ext_vector_type(4))); +typedef char __clc_vec8_int8_t __attribute__((ext_vector_type(8))); +typedef char __clc_vec16_int8_t __attribute__((ext_vector_type(16))); typedef unsigned char __clc_uint8_t; typedef unsigned char __clc_vec2_uint8_t __attribute__((ext_vector_type(2))); diff --git a/libclc/libspirv/include/libspirv/ptx-nvidiacl/async/gentype.inc b/libclc/libspirv/include/libspirv/ptx-nvidiacl/async/gentype.inc index 2d65ac9216adf..3ca00675abfdd 100644 --- a/libclc/libspirv/include/libspirv/ptx-nvidiacl/async/gentype.inc +++ b/libclc/libspirv/include/libspirv/ptx-nvidiacl/async/gentype.inc @@ -28,29 +28,6 @@ #undef __CLC_GENTYPE #endif -#ifndef __CLC_NO_SCHAR -#define __CLC_GENTYPE schar -#define __CLC_GENTYPE_MANGLED a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#define __CLC_GENTYPE schar2 -#define __CLC_GENTYPE_MANGLED Dv2_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE - -#ifdef __CLC_GEN_VEC3 -#define __CLC_GENTYPE schar3 -#define __CLC_GENTYPE_MANGLED Dv3_a -#include __CLC_BODY -#undef __CLC_GENTYPE_MANGLED -#undef __CLC_GENTYPE -#endif - -#endif - #define __CLC_GENTYPE uchar #define __CLC_GENTYPE_MANGLED h #include __CLC_BODY diff --git a/libclc/libspirv/lib/generic/gen_convert.py b/libclc/libspirv/lib/generic/gen_convert.py index 3a17f1b4dddc0..9653ac96f15da 100755 --- a/libclc/libspirv/lib/generic/gen_convert.py +++ b/libclc/libspirv/lib/generic/gen_convert.py @@ -42,9 +42,6 @@ clc_core_fn_name, ) -types.remove("char") -int_types.remove("char") -signed_types.remove("char") rounding_modes = [""] + rounding_modes print( @@ -113,9 +110,6 @@ def spirv_fn_name(src, dst, size="", mode="", sat="", force_sat_decoration=False is_dst_signed = dst in signed_types use_sat_insn = sat != "" and not force_sat_decoration - if dst == "schar": - dst = "char" - if is_src_unsigned and is_dst_signed and use_sat_insn: return "__spirv_SatConvertUToS_R{DST}{N}".format(DST=dst, N=size) elif is_src_signed and is_dst_unsigned and use_sat_insn: diff --git a/libclc/libspirv/lib/generic/gen_convert_common.py b/libclc/libspirv/lib/generic/gen_convert_common.py index 136f505d59b4e..53c8bf1290bf4 100644 --- a/libclc/libspirv/lib/generic/gen_convert_common.py +++ b/libclc/libspirv/lib/generic/gen_convert_common.py @@ -3,7 +3,6 @@ types = [ "char", - "schar", "uchar", "short", "ushort", @@ -17,7 +16,6 @@ ] int_types = [ "char", - "schar", "uchar", "short", "ushort", @@ -27,7 +25,7 @@ "ulong", ] unsigned_types = ["uchar", "ushort", "uint", "ulong"] -signed_types = ["char", "schar", "short", "int", "long"] +signed_types = ["char", "short", "int", "long"] float_types = ["half", "float", "double"] int64_types = ["long", "ulong"] float64_types = ["double"] @@ -42,8 +40,7 @@ bool_type = { "char": "char", - "schar": "schar", - "uchar": "schar", + "uchar": "char", "short": "short", "ushort": "short", "int": "int", @@ -57,7 +54,6 @@ unsigned_type = { "char": "uchar", - "schar": "uchar", "uchar": "uchar", "short": "ushort", "ushort": "ushort", @@ -69,7 +65,6 @@ sizeof_type = { "char": 1, - "schar": 1, "uchar": 1, "short": 2, "ushort": 2, @@ -84,7 +79,6 @@ limit_max = { "char": "CHAR_MAX", - "schar": "CHAR_MAX", "uchar": "UCHAR_MAX", "short": "SHRT_MAX", "ushort": "USHRT_MAX", @@ -97,7 +91,6 @@ limit_min = { "char": "CHAR_MIN", - "schar": "CHAR_MIN", "uchar": "0", "short": "SHRT_MIN", "ushort": "0", diff --git a/libclc/libspirv/lib/generic/geometric/normalize.cl b/libclc/libspirv/lib/generic/geometric/normalize.cl index d6f9d7f1c9cdf..bf706bd6d3398 100644 --- a/libclc/libspirv/lib/generic/geometric/normalize.cl +++ b/libclc/libspirv/lib/generic/geometric/normalize.cl @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#include +#include #include #define HALF_MAX_SQRT 0x1.0p+8h @@ -15,8 +17,7 @@ MAX_SQRT, MIN_SQRT) \ _CLC_OVERLOAD _CLC_DEF FP_TYPE##VLEN __spirv_ocl_normalize( \ FP_TYPE##VLEN p) { \ - if (__spirv_All(__spirv_SConvert_Rchar##VLEN( \ - p == (FP_TYPE##VLEN)0.0##FLOAT_MARK))) \ + if (__clc_all(p == (FP_TYPE##VLEN)0.0##FLOAT_MARK)) \ return p; \ FP_TYPE l2 = __spirv_Dot(p, p); \ if (l2 < FLT_MIN) { \ @@ -30,7 +31,7 @@ __spirv_ocl_select( \ (FP_TYPE##VLEN)0.0##FLOAT_MARK, \ (FP_TYPE##VLEN)1.0##FLOAT_MARK, \ - __spirv_SConvert_R##INT_TYPE##VLEN(__spirv_IsInf(p))), \ + __clc_convert_##INT_TYPE##VLEN(__spirv_IsInf(p))), \ p); \ l2 = __spirv_Dot(p, p); \ } \ diff --git a/libclc/libspirv/lib/generic/integer/clz.cl b/libclc/libspirv/lib/generic/integer/clz.cl index d3d1145166d94..60abf4e2aa5d7 100644 --- a/libclc/libspirv/lib/generic/integer/clz.cl +++ b/libclc/libspirv/lib/generic/integer/clz.cl @@ -13,10 +13,6 @@ _CLC_OVERLOAD _CLC_DEF char __spirv_ocl_clz(char x) { return __spirv_ocl_clz((ushort)(uchar)x) - 8; } -_CLC_OVERLOAD _CLC_DEF schar __spirv_ocl_clz(schar x) { - return __spirv_ocl_clz((ushort)(uchar)x) - 8; -} - _CLC_OVERLOAD _CLC_DEF uchar __spirv_ocl_clz(uchar x) { return __spirv_ocl_clz((ushort)x) - 8; } @@ -46,7 +42,6 @@ _CLC_OVERLOAD _CLC_DEF ulong __spirv_ocl_clz(ulong x) { } _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, char, __spirv_ocl_clz, char) -_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, schar, __spirv_ocl_clz, schar) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, uchar, __spirv_ocl_clz, uchar) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, short, __spirv_ocl_clz, short) _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, ushort, __spirv_ocl_clz, ushort) diff --git a/libclc/libspirv/lib/generic/integer/upsample.cl b/libclc/libspirv/lib/generic/integer/upsample.cl index c8987a7e581ea..3114c9ffdf702 100644 --- a/libclc/libspirv/lib/generic/integer/upsample.cl +++ b/libclc/libspirv/lib/generic/integer/upsample.cl @@ -37,7 +37,6 @@ #define __CLC_UPSAMPLE_TYPES() \ __CLC_UPSAMPLE_IMPL(s, short, char, uchar, char) \ - __CLC_UPSAMPLE_IMPL(s, short, schar, uchar, char) \ __CLC_UPSAMPLE_IMPL(u, ushort, uchar, uchar, uchar) \ __CLC_UPSAMPLE_IMPL(s, int, short, ushort, short) \ __CLC_UPSAMPLE_IMPL(u, uint, ushort, ushort, ushort) \ diff --git a/libclc/libspirv/lib/generic/math/fract.cl b/libclc/libspirv/lib/generic/math/fract.cl index ce768090bd73c..cc2da2c00189a 100644 --- a/libclc/libspirv/lib/generic/math/fract.cl +++ b/libclc/libspirv/lib/generic/math/fract.cl @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include #include #include diff --git a/libclc/libspirv/lib/generic/math/fract.inc b/libclc/libspirv/lib/generic/math/fract.inc index 24a559238368d..01e61c6b975f4 100644 --- a/libclc/libspirv/lib/generic/math/fract.inc +++ b/libclc/libspirv/lib/generic/math/fract.inc @@ -9,29 +9,20 @@ #if __CLC_FPSIZE == 64 #define MIN_CONSTANT 0x1.fffffffffffffp-1 #define ZERO (__CLC_GENTYPE)0.0 -#define __CLC_BOOLN __CLC_XCONCAT(long, __CLC_VECSIZE) #elif __CLC_FPSIZE == 32 #define MIN_CONSTANT 0x1.fffffep-1f #define ZERO (__CLC_GENTYPE)0.0f -#define __CLC_BOOLN __CLC_XCONCAT(int, __CLC_VECSIZE) #elif __CLC_FPSIZE == 16 #define MIN_CONSTANT 0x1.ffcp-1h #define ZERO (__CLC_GENTYPE)0.0h -#define __CLC_BOOLN __CLC_XCONCAT(short, __CLC_VECSIZE) -#endif - -#ifdef __CLC_SCALAR -#define __CLC_CONVERT -#else -#define __CLC_CONVERT __CLC_XCONCAT(__spirv_SConvert_R, __CLC_BOOLN) #endif _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __spirv_ocl_fract(__CLC_GENTYPE x, __private __CLC_GENTYPE *iptr) { *iptr = __spirv_ocl_floor(x); __CLC_GENTYPE r = __spirv_ocl_fmin(x - *iptr, MIN_CONSTANT); - r = __CLC_CONVERT(__spirv_IsInf(x)) ? ZERO : r; - r = __CLC_CONVERT(__spirv_IsNan(x)) ? x : r; + r = __CLC_CONVERT_BIT_INTN(__spirv_IsInf(x)) ? ZERO : r; + r = __CLC_CONVERT_BIT_INTN(__spirv_IsNan(x)) ? x : r; return r; } @@ -52,5 +43,3 @@ FRACT_DEF(generic); #undef MIN_CONSTANT #undef ZERO -#undef __CLC_CONVERT -#undef __CLC_BOOLN diff --git a/libclc/libspirv/lib/generic/math/maxmag.cl b/libclc/libspirv/lib/generic/math/maxmag.cl index 6117489141fb7..5714c61ca7ab9 100644 --- a/libclc/libspirv/lib/generic/math/maxmag.cl +++ b/libclc/libspirv/lib/generic/math/maxmag.cl @@ -6,8 +6,9 @@ // //===----------------------------------------------------------------------===// -#include +#include #include +#include #define __CLC_BODY #include diff --git a/libclc/libspirv/lib/generic/math/maxmag.inc b/libclc/libspirv/lib/generic/math/maxmag.inc index 9fa4702f0b6ad..44cf21cfda992 100644 --- a/libclc/libspirv/lib/generic/math/maxmag.inc +++ b/libclc/libspirv/lib/generic/math/maxmag.inc @@ -6,26 +6,15 @@ // //===----------------------------------------------------------------------===// -#if __CLC_FPSIZE == 64 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rlong, __CLC_VECSIZE) -#elif __CLC_FPSIZE == 32 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rint, __CLC_VECSIZE) -#elif __CLC_FPSIZE == 16 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rshort, __CLC_VECSIZE) -#endif - _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __spirv_ocl_maxmag(__CLC_GENTYPE x, __CLC_GENTYPE y) { - const __CLC_GENTYPE res = __spirv_ocl_select( - y, x, - __CLC_CONVERT_NATN((__CLC_SCHARN)__spirv_FOrdGreaterThan( - __spirv_ocl_fabs(x), __spirv_ocl_fabs(y)))); + const __CLC_GENTYPE res = + __spirv_ocl_select(y, x, + __CLC_CONVERT_BIT_INTN(__spirv_FOrdGreaterThan( + __spirv_ocl_fabs(x), __spirv_ocl_fabs(y)))); return __spirv_ocl_select( res, __spirv_ocl_fmax(x, y), - __CLC_CONVERT_NATN( - (__CLC_SCHARN)(__spirv_IsNan(x) | __spirv_IsNan(y) | - __spirv_FOrdEqual(__spirv_ocl_fabs(x), - __spirv_ocl_fabs(y))))); + __CLC_CONVERT_BIT_INTN( + (__spirv_IsNan(x) | __spirv_IsNan(y) | + __spirv_FOrdEqual(__spirv_ocl_fabs(x), __spirv_ocl_fabs(y))))); } - -#undef __CLC_CONVERT_NATN diff --git a/libclc/libspirv/lib/generic/math/minmag.cl b/libclc/libspirv/lib/generic/math/minmag.cl index fb6392b76eb63..7fb773c6fdf9a 100644 --- a/libclc/libspirv/lib/generic/math/minmag.cl +++ b/libclc/libspirv/lib/generic/math/minmag.cl @@ -6,8 +6,9 @@ // //===----------------------------------------------------------------------===// -#include +#include #include +#include #define __CLC_BODY #include diff --git a/libclc/libspirv/lib/generic/math/minmag.inc b/libclc/libspirv/lib/generic/math/minmag.inc index 5548f9dd226dc..9be181f718bff 100644 --- a/libclc/libspirv/lib/generic/math/minmag.inc +++ b/libclc/libspirv/lib/generic/math/minmag.inc @@ -6,25 +6,15 @@ // //===----------------------------------------------------------------------===// -#if __CLC_FPSIZE == 64 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rlong, __CLC_VECSIZE) -#elif __CLC_FPSIZE == 32 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rint, __CLC_VECSIZE) -#elif __CLC_FPSIZE == 16 -#define __CLC_CONVERT_NATN __CLC_XCONCAT(__spirv_SConvert_Rshort, __CLC_VECSIZE) -#endif - _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __spirv_ocl_minmag(__CLC_GENTYPE x, __CLC_GENTYPE y) { const __CLC_GENTYPE res = __spirv_ocl_select(y, x, - __CLC_CONVERT_NATN((__CLC_SCHARN)__spirv_FOrdLessThan( + __CLC_CONVERT_BIT_INTN(__spirv_FOrdLessThan( __spirv_ocl_fabs(x), __spirv_ocl_fabs(y)))); return __spirv_ocl_select( res, __spirv_ocl_fmin(x, y), - __CLC_CONVERT_NATN( (__CLC_SCHARN)(__spirv_IsNan(x) | __spirv_IsNan(y) | - __spirv_FOrdEqual(__spirv_ocl_fabs(x), - __spirv_ocl_fabs(y))))); + __CLC_CONVERT_BIT_INTN( + (__spirv_IsNan(x) | __spirv_IsNan(y) | + __spirv_FOrdEqual(__spirv_ocl_fabs(x), __spirv_ocl_fabs(y))))); } - -#undef __CLC_CONVERT_NATN diff --git a/libclc/libspirv/lib/generic/relational/all.cl b/libclc/libspirv/lib/generic/relational/all.cl index 9301125e8a587..5f97bbe99b181 100644 --- a/libclc/libspirv/lib/generic/relational/all.cl +++ b/libclc/libspirv/lib/generic/relational/all.cl @@ -29,4 +29,4 @@ ALL_ID(TYPE##8) { return _CLC_ALL8(v); } \ ALL_ID(TYPE##16) { return _CLC_ALL16(v); } -ALL_VECTORIZE(schar) +ALL_VECTORIZE(char) diff --git a/libclc/libspirv/lib/generic/relational/any.cl b/libclc/libspirv/lib/generic/relational/any.cl index 601abf0e6fb51..18801274fd706 100644 --- a/libclc/libspirv/lib/generic/relational/any.cl +++ b/libclc/libspirv/lib/generic/relational/any.cl @@ -29,4 +29,4 @@ ANY_ID(TYPE##8) { return _CLC_ANY8(v); } \ ANY_ID(TYPE##16) { return _CLC_ANY16(v); } -ANY_VECTORIZE(schar) +ANY_VECTORIZE(char) diff --git a/libclc/libspirv/lib/generic/relational/genbinrelational.inc b/libclc/libspirv/lib/generic/relational/genbinrelational.inc index 14a41401839ac..364b781a89c04 100644 --- a/libclc/libspirv/lib/generic/relational/genbinrelational.inc +++ b/libclc/libspirv/lib/generic/relational/genbinrelational.inc @@ -8,7 +8,7 @@ _CLC_DEFINE_RELATIONAL_BINARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, float, float) -_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, float, float) +_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, float, float) #ifdef cl_khr_fp64 @@ -16,7 +16,7 @@ _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, float, float) _CLC_DEFINE_RELATIONAL_BINARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, double, double) -_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, double, double) +_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, double, double) #endif @@ -26,6 +26,6 @@ _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, double, double) _CLC_DEFINE_RELATIONAL_BINARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, half, half) -_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, half, half) +_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, half, half) #endif diff --git a/libclc/libspirv/lib/generic/relational/genunary.inc b/libclc/libspirv/lib/generic/relational/genunary.inc index 80137ca3bc629..7f373d0a27618 100644 --- a/libclc/libspirv/lib/generic/relational/genunary.inc +++ b/libclc/libspirv/lib/generic/relational/genunary.inc @@ -8,7 +8,7 @@ _CLC_DEFINE_RELATIONAL_UNARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, float) -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, float) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, float) #ifdef cl_khr_fp64 @@ -16,7 +16,7 @@ _CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, float) _CLC_DEFINE_RELATIONAL_UNARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, double) -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, double) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, double) #endif #ifdef cl_khr_fp16 @@ -25,6 +25,6 @@ _CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, double) _CLC_DEFINE_RELATIONAL_UNARY_SCALAR(bool, _CLC_SPIRV_BUILTIN, _CLC_BUILTIN_IMPL, half) -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, _CLC_SPIRV_BUILTIN, half) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, _CLC_SPIRV_BUILTIN, half) #endif diff --git a/libclc/libspirv/lib/generic/shared/vload.cl b/libclc/libspirv/lib/generic/shared/vload.cl index d3c8163e9b2a8..4d7d61813abdc 100644 --- a/libclc/libspirv/lib/generic/shared/vload.cl +++ b/libclc/libspirv/lib/generic/shared/vload.cl @@ -76,7 +76,7 @@ #define VLOAD_ADDR_SPACES(__CLC_SCALAR_GENTYPE) \ VLOAD_ADDR_SPACES_IMPL(__CLC_SCALAR_GENTYPE, __CLC_SCALAR_GENTYPE) -VLOAD_ADDR_SPACES_IMPL(char, schar) +VLOAD_ADDR_SPACES_IMPL(char, char) #define VLOAD_TYPES() \ VLOAD_ADDR_SPACES(uchar) \ diff --git a/libclc/libspirv/lib/generic/shared/vstore.cl b/libclc/libspirv/lib/generic/shared/vstore.cl index cf0e5fd0f706b..74bd35c3032d2 100644 --- a/libclc/libspirv/lib/generic/shared/vstore.cl +++ b/libclc/libspirv/lib/generic/shared/vstore.cl @@ -71,7 +71,7 @@ VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __global) \ VSTORE_VECTORIZE_GENERIC(__CLC_SCALAR___CLC_GENTYPE, __generic) -VSTORE_ADDR_SPACES(schar) +VSTORE_ADDR_SPACES(char) VSTORE_ADDR_SPACES(uchar) VSTORE_ADDR_SPACES(short) VSTORE_ADDR_SPACES(ushort) diff --git a/libclc/libspirv/lib/native_cpu/integer/popcount.cl b/libclc/libspirv/lib/native_cpu/integer/popcount.cl index d6a90d8950b16..028b5a36379ce 100644 --- a/libclc/libspirv/lib/native_cpu/integer/popcount.cl +++ b/libclc/libspirv/lib/native_cpu/integer/popcount.cl @@ -13,15 +13,21 @@ _CLC_OVERLOAD TYPE __popcount_helper(TYPE c) { \ } DEF_POPCOUNT_HELPER(char, unsigned char) -DEF_POPCOUNT_HELPER(schar, unsigned char) DEF_POPCOUNT_HELPER(short, unsigned short) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(int, __spirv_ocl_popcount, __builtin_popcount, int) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(uint, __spirv_ocl_popcount, __builtin_popcount, uint) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(short, __spirv_ocl_popcount, __popcount_helper, short) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(ushort, __spirv_ocl_popcount, __builtin_popcountg, ushort) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(long, __spirv_ocl_popcount, __builtin_popcountl, long) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(ulong, __spirv_ocl_popcount, __builtin_popcountl, ulong) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(char, __spirv_ocl_popcount, __popcount_helper, char) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(uchar, __spirv_ocl_popcount, __builtin_popcountg, uchar) -_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(schar, __spirv_ocl_popcount, __popcount_helper, schar) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(int, __spirv_ocl_popcount, + __builtin_popcount, int) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(uint, __spirv_ocl_popcount, + __builtin_popcount, uint) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(short, __spirv_ocl_popcount, + __popcount_helper, short) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(ushort, __spirv_ocl_popcount, + __builtin_popcountg, ushort) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(long, __spirv_ocl_popcount, + __builtin_popcountl, long) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(ulong, __spirv_ocl_popcount, + __builtin_popcountl, ulong) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(char, __spirv_ocl_popcount, + __popcount_helper, char) +_CLC_DEFINE_UNARY_BUILTIN_SCALARIZE(uchar, __spirv_ocl_popcount, + __builtin_popcountg, uchar) diff --git a/libclc/libspirv/lib/ptx-nvidiacl/async/async_work_group_strided_copy.cl b/libclc/libspirv/lib/ptx-nvidiacl/async/async_work_group_strided_copy.cl index 438ad9ccf6ab7..69cf677722037 100644 --- a/libclc/libspirv/lib/ptx-nvidiacl/async/async_work_group_strided_copy.cl +++ b/libclc/libspirv/lib/ptx-nvidiacl/async/async_work_group_strided_copy.cl @@ -53,9 +53,6 @@ __CLC_GROUP_CP_ASYNC_DST_GLOBAL(ushort8); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(char4); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(char8); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(char16); -__CLC_GROUP_CP_ASYNC_DST_GLOBAL(schar4); -__CLC_GROUP_CP_ASYNC_DST_GLOBAL(schar8); -__CLC_GROUP_CP_ASYNC_DST_GLOBAL(schar16); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(uchar4); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(uchar8); __CLC_GROUP_CP_ASYNC_DST_GLOBAL(uchar16); @@ -88,7 +85,6 @@ __CLC_GROUP_CP_ASYNC_4(short2); __CLC_GROUP_CP_ASYNC_4(ushort2); __CLC_GROUP_CP_ASYNC_4(half2); __CLC_GROUP_CP_ASYNC_4(char4); -__CLC_GROUP_CP_ASYNC_4(schar4); __CLC_GROUP_CP_ASYNC_4(uchar4); #undef __CLC_GROUP_CP_ASYNC_4 @@ -122,7 +118,6 @@ __CLC_GROUP_CP_ASYNC_8(int2); __CLC_GROUP_CP_ASYNC_8(uint2); __CLC_GROUP_CP_ASYNC_8(float2); __CLC_GROUP_CP_ASYNC_8(char8); -__CLC_GROUP_CP_ASYNC_8(schar8); __CLC_GROUP_CP_ASYNC_8(uchar8); #undef __CLC_GROUP_CP_ASYNC_8 @@ -157,6 +152,5 @@ __CLC_GROUP_CP_ASYNC_8(uchar8); __CLC_GROUP_CP_ASYNC_16(half8); __CLC_GROUP_CP_ASYNC_16(char16); __CLC_GROUP_CP_ASYNC_16(uchar16); - __CLC_GROUP_CP_ASYNC_16(schar16); #undef __CLC_GROUP_CP_ASYNC_16 diff --git a/libclc/libspirv/lib/ptx-nvidiacl/integer/mul_hi.cl b/libclc/libspirv/lib/ptx-nvidiacl/integer/mul_hi.cl index 56593bbcb0c31..7844544982e4a 100644 --- a/libclc/libspirv/lib/ptx-nvidiacl/integer/mul_hi.cl +++ b/libclc/libspirv/lib/ptx-nvidiacl/integer/mul_hi.cl @@ -33,15 +33,12 @@ _CLC_OVERLOAD _CLC_DEF ulong __spirv_ocl_u_mul_hi(ulong x, ulong y) { } __CLC_MUL_HI_IMPL(short, __spirv_ocl_s_mul_hi, char, 8) -__CLC_MUL_HI_IMPL(short, __spirv_ocl_s_mul_hi, schar, 8) __CLC_MUL_HI_IMPL(ushort, __spirv_ocl_u_mul_hi, uchar, 8) __CLC_MUL_HI_IMPL(int, __spirv_ocl_s_mul_hi, short, 16) __CLC_MUL_HI_IMPL(uint, __spirv_ocl_u_mul_hi, ushort, 16) _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, char, __spirv_ocl_s_mul_hi, char, char) -_CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, schar, __spirv_ocl_s_mul_hi, - schar, schar) _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, short, __spirv_ocl_s_mul_hi, short, short) _CLC_BINARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, int, __spirv_ocl_s_mul_hi, int, diff --git a/libclc/libspirv/lib/ptx-nvidiacl/relational/isfinite.cl b/libclc/libspirv/lib/ptx-nvidiacl/relational/isfinite.cl index 35eac192d2e62..05fbd70e6195c 100644 --- a/libclc/libspirv/lib/ptx-nvidiacl/relational/isfinite.cl +++ b/libclc/libspirv/lib/ptx-nvidiacl/relational/isfinite.cl @@ -19,7 +19,7 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsFinite(double x) { return __nv_isfinited(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsFinite, double) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsFinite, double) #endif @@ -27,7 +27,7 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsFinite(float x) { return __nv_isfinited(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsFinite, float) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsFinite, float) #ifdef cl_khr_fp16 @@ -37,6 +37,6 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsFinite(half x) { return __nv_isfinited(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsFinite, half) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsFinite, half) #endif diff --git a/libclc/libspirv/lib/ptx-nvidiacl/relational/isinf.cl b/libclc/libspirv/lib/ptx-nvidiacl/relational/isinf.cl index bec7872b834b2..a0d6dfd89aebe 100644 --- a/libclc/libspirv/lib/ptx-nvidiacl/relational/isinf.cl +++ b/libclc/libspirv/lib/ptx-nvidiacl/relational/isinf.cl @@ -13,7 +13,7 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsInf(float x) { return __nv_isinff(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsInf, float) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsInf, float) #ifdef cl_khr_fp64 @@ -21,7 +21,7 @@ _CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsInf, float) _CLC_DEF _CLC_OVERLOAD bool __spirv_IsInf(double x) { return __nv_isinfd(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsInf, double) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsInf, double) #endif #ifdef cl_khr_fp16 @@ -33,5 +33,5 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsInf(half x) { return __spirv_IsInf(f); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsInf, half) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsInf, half) #endif diff --git a/libclc/libspirv/lib/ptx-nvidiacl/relational/isnan.cl b/libclc/libspirv/lib/ptx-nvidiacl/relational/isnan.cl index cba65a524f36a..1a391fbfdcf2e 100644 --- a/libclc/libspirv/lib/ptx-nvidiacl/relational/isnan.cl +++ b/libclc/libspirv/lib/ptx-nvidiacl/relational/isnan.cl @@ -13,7 +13,7 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsNan(float x) { return __nv_isnanf(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsNan, float) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsNan, float) #ifdef cl_khr_fp64 @@ -21,7 +21,7 @@ _CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsNan, float) _CLC_DEF _CLC_OVERLOAD bool __spirv_IsNan(double x) { return __nv_isnand(x); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsNan, double) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsNan, double) #endif #ifdef cl_khr_fp16 @@ -33,5 +33,5 @@ _CLC_DEF _CLC_OVERLOAD bool __spirv_IsNan(half x) { return __spirv_IsNan(f); } -_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(schar, __spirv_IsNan, half) +_CLC_DEFINE_RELATIONAL_UNARY_VEC_ALL(char, __spirv_IsNan, half) #endif