@@ -3644,109 +3644,109 @@ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(All, _v4i1, )(__bool4 Vector);
36443644bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(All, _v8i1, )(__bool8 Vector);
36453645bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(All, _v16i1, )(__bool16 Vector);
36463646
3647- bool __builtin_spirv_OpIsNan_f16 (half x);
3648- bool __builtin_spirv_OpIsNan_f32 (float x);
3649- __bool2 __builtin_spirv_OpIsNan_v2f16 (half2 x);
3650- __bool2 __builtin_spirv_OpIsNan_v2f32 (float2 x);
3651- __bool3 __builtin_spirv_OpIsNan_v3f16 (half3 x);
3652- __bool3 __builtin_spirv_OpIsNan_v3f32 (float3 x);
3653- __bool4 __builtin_spirv_OpIsNan_v4f16 (half4 x);
3654- __bool4 __builtin_spirv_OpIsNan_v4f32 (float4 x);
3655- __bool8 __builtin_spirv_OpIsNan_v8f16 (half8 x);
3656- __bool8 __builtin_spirv_OpIsNan_v8f32 (float8 x);
3657- __bool16 __builtin_spirv_OpIsNan_v16f16 (half16 x);
3658- __bool16 __builtin_spirv_OpIsNan_v16f32 (float16 x);
3659- #if defined(cl_khr_fp64)
3660- bool __builtin_spirv_OpIsNan_f64 (double x);
3661- __bool2 __builtin_spirv_OpIsNan_v2f64 (double2 x);
3662- __bool3 __builtin_spirv_OpIsNan_v3f64 (double3 x);
3663- __bool4 __builtin_spirv_OpIsNan_v4f64 (double4 x);
3664- __bool8 __builtin_spirv_OpIsNan_v8f64 (double8 x);
3665- __bool16 __builtin_spirv_OpIsNan_v16f64 (double16 x);
3666- #endif // defined(cl_khr_fp64)
3667-
3668- bool __builtin_spirv_OpIsInf_f16 (half x);
3669- bool __builtin_spirv_OpIsInf_f32 (float x);
3670- __bool2 __builtin_spirv_OpIsInf_v2f16 (half2 x);
3671- __bool2 __builtin_spirv_OpIsInf_v2f32 (float2 x);
3672- __bool3 __builtin_spirv_OpIsInf_v3f16 (half3 x);
3673- __bool3 __builtin_spirv_OpIsInf_v3f32 (float3 x);
3674- __bool4 __builtin_spirv_OpIsInf_v4f16 (half4 x);
3675- __bool4 __builtin_spirv_OpIsInf_v4f32 (float4 x);
3676- __bool8 __builtin_spirv_OpIsInf_v8f16 (half8 x);
3677- __bool8 __builtin_spirv_OpIsInf_v8f32 (float8 x);
3678- __bool16 __builtin_spirv_OpIsInf_v16f16 (half16 x);
3679- __bool16 __builtin_spirv_OpIsInf_v16f32 (float16 x);
3680- #if defined(cl_khr_fp64)
3681- bool __builtin_spirv_OpIsInf_f64 (double x);
3682- __bool2 __builtin_spirv_OpIsInf_v2f64 (double2 x);
3683- __bool3 __builtin_spirv_OpIsInf_v3f64 (double3 x);
3684- __bool4 __builtin_spirv_OpIsInf_v4f64 (double4 x);
3685- __bool8 __builtin_spirv_OpIsInf_v8f64 (double8 x);
3686- __bool16 __builtin_spirv_OpIsInf_v16f64 (double16 x);
3687- #endif // defined(cl_khr_fp64)
3688-
3689- bool __builtin_spirv_OpIsFinite_f16 (half x);
3690- bool __builtin_spirv_OpIsFinite_f32 (float x);
3691- __bool2 __builtin_spirv_OpIsFinite_v2f16 (half2 x);
3692- __bool2 __builtin_spirv_OpIsFinite_v2f32 (float2 x);
3693- __bool3 __builtin_spirv_OpIsFinite_v3f16 (half3 x);
3694- __bool3 __builtin_spirv_OpIsFinite_v3f32 (float3 x);
3695- __bool4 __builtin_spirv_OpIsFinite_v4f16 (half4 x);
3696- __bool4 __builtin_spirv_OpIsFinite_v4f32 (float4 x);
3697- __bool8 __builtin_spirv_OpIsFinite_v8f16 (half8 x);
3698- __bool8 __builtin_spirv_OpIsFinite_v8f32 (float8 x);
3699- __bool16 __builtin_spirv_OpIsFinite_v16f16 (half16 x);
3700- __bool16 __builtin_spirv_OpIsFinite_v16f32 (float16 x);
3701- #if defined(cl_khr_fp64)
3702- bool __builtin_spirv_OpIsFinite_f64 (double x);
3703- __bool2 __builtin_spirv_OpIsFinite_v2f64 (double2 x);
3704- __bool3 __builtin_spirv_OpIsFinite_v3f64 (double3 x);
3705- __bool4 __builtin_spirv_OpIsFinite_v4f64 (double4 x);
3706- __bool8 __builtin_spirv_OpIsFinite_v8f64 (double8 x);
3707- __bool16 __builtin_spirv_OpIsFinite_v16f64 (double16 x);
3708- #endif // defined(cl_khr_fp64)
3709-
3710- bool __builtin_spirv_OpIsNormal_f16 (half x);
3711- bool __builtin_spirv_OpIsNormal_f32 (float x);
3712- __bool2 __builtin_spirv_OpIsNormal_v2f16 (half2 x);
3713- __bool2 __builtin_spirv_OpIsNormal_v2f32 (float2 x);
3714- __bool3 __builtin_spirv_OpIsNormal_v3f16 (half3 x);
3715- __bool3 __builtin_spirv_OpIsNormal_v3f32 (float3 x);
3716- __bool4 __builtin_spirv_OpIsNormal_v4f16 (half4 x);
3717- __bool4 __builtin_spirv_OpIsNormal_v4f32 (float4 x);
3718- __bool8 __builtin_spirv_OpIsNormal_v8f16 (half8 x);
3719- __bool8 __builtin_spirv_OpIsNormal_v8f32 (float8 x);
3720- __bool16 __builtin_spirv_OpIsNormal_v16f16 (half16 x);
3721- __bool16 __builtin_spirv_OpIsNormal_v16f32 (float16 x);
3722- #if defined(cl_khr_fp64)
3723- bool __builtin_spirv_OpIsNormal_f64 (double x);
3724- __bool2 __builtin_spirv_OpIsNormal_v2f64 (double2 x);
3725- __bool3 __builtin_spirv_OpIsNormal_v3f64 (double3 x);
3726- __bool4 __builtin_spirv_OpIsNormal_v4f64 (double4 x);
3727- __bool8 __builtin_spirv_OpIsNormal_v8f64 (double8 x);
3728- __bool16 __builtin_spirv_OpIsNormal_v16f64 (double16 x);
3729- #endif // defined(cl_khr_fp64)
3730-
3731- bool __builtin_spirv_OpSignBitSet_f16 (half x);
3732- bool __builtin_spirv_OpSignBitSet_f32 (float x);
3733- __bool2 __builtin_spirv_OpSignBitSet_v2f16 (half2 x);
3734- __bool2 __builtin_spirv_OpSignBitSet_v2f32 (float2 x);
3735- __bool3 __builtin_spirv_OpSignBitSet_v3f16 (half3 x);
3736- __bool3 __builtin_spirv_OpSignBitSet_v3f32 (float3 x);
3737- __bool4 __builtin_spirv_OpSignBitSet_v4f16 (half4 x);
3738- __bool4 __builtin_spirv_OpSignBitSet_v4f32 (float4 x);
3739- __bool8 __builtin_spirv_OpSignBitSet_v8f16 (half8 x);
3740- __bool8 __builtin_spirv_OpSignBitSet_v8f32 (float8 x);
3741- __bool16 __builtin_spirv_OpSignBitSet_v16f16 (half16 x);
3742- __bool16 __builtin_spirv_OpSignBitSet_v16f32 (float16 x);
3743- #if defined(cl_khr_fp64)
3744- bool __builtin_spirv_OpSignBitSet_f64 (double x);
3745- __bool2 __builtin_spirv_OpSignBitSet_v2f64 (double2 x);
3746- __bool3 __builtin_spirv_OpSignBitSet_v3f64 (double3 x);
3747- __bool4 __builtin_spirv_OpSignBitSet_v4f64 (double4 x);
3748- __bool8 __builtin_spirv_OpSignBitSet_v8f64 (double8 x);
3749- __bool16 __builtin_spirv_OpSignBitSet_v16f64 (double16 x);
3647+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _f16, ) (half x);
3648+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _f32, ) (float x);
3649+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v2f16, ) (half2 x);
3650+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v2f32, ) (float2 x);
3651+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v3f16, ) (half3 x);
3652+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v3f32, ) (float3 x);
3653+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v4f16, ) (half4 x);
3654+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v4f32, ) (float4 x);
3655+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v8f16, ) (half8 x);
3656+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v8f32, ) (float8 x);
3657+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v16f16, ) (half16 x);
3658+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v16f32, ) (float16 x);
3659+ #if defined(cl_khr_fp64)
3660+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _f64, ) (double x);
3661+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v2f64, ) (double2 x);
3662+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v3f64, ) (double3 x);
3663+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v4f64, ) (double4 x);
3664+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v8f64, ) (double8 x);
3665+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNan, _v16f64, ) (double16 x);
3666+ #endif // defined(cl_khr_fp64)
3667+
3668+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _f16, ) (half x);
3669+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _f32, ) (float x);
3670+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v2f16, ) (half2 x);
3671+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v2f32, ) (float2 x);
3672+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v3f16, ) (half3 x);
3673+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v3f32, ) (float3 x);
3674+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v4f16, ) (half4 x);
3675+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v4f32, ) (float4 x);
3676+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v8f16, ) (half8 x);
3677+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v8f32, ) (float8 x);
3678+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v16f16, ) (half16 x);
3679+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v16f32, ) (float16 x);
3680+ #if defined(cl_khr_fp64)
3681+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _f64, ) (double x);
3682+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v2f64, ) (double2 x);
3683+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v3f64, ) (double3 x);
3684+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v4f64, ) (double4 x);
3685+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v8f64, ) (double8 x);
3686+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsInf, _v16f64, ) (double16 x);
3687+ #endif // defined(cl_khr_fp64)
3688+
3689+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _f16, ) (half x);
3690+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _f32, ) (float x);
3691+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v2f16, ) (half2 x);
3692+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v2f32, ) (float2 x);
3693+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v3f16, ) (half3 x);
3694+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v3f32, ) (float3 x);
3695+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v4f16, ) (half4 x);
3696+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v4f32, ) (float4 x);
3697+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v8f16, ) (half8 x);
3698+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v8f32, ) (float8 x);
3699+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v16f16, ) (half16 x);
3700+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v16f32, ) (float16 x);
3701+ #if defined(cl_khr_fp64)
3702+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _f64, ) (double x);
3703+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v2f64, ) (double2 x);
3704+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v3f64, ) (double3 x);
3705+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v4f64, ) (double4 x);
3706+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v8f64, ) (double8 x);
3707+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsFinite, _v16f64, ) (double16 x);
3708+ #endif // defined(cl_khr_fp64)
3709+
3710+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _f16, ) (half x);
3711+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _f32, ) (float x);
3712+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v2f16, ) (half2 x);
3713+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v2f32, ) (float2 x);
3714+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v3f16, ) (half3 x);
3715+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v3f32, ) (float3 x);
3716+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v4f16, ) (half4 x);
3717+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v4f32, ) (float4 x);
3718+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v8f16, ) (half8 x);
3719+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v8f32, ) (float8 x);
3720+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v16f16, ) (half16 x);
3721+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v16f32, ) (float16 x);
3722+ #if defined(cl_khr_fp64)
3723+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _f64, ) (double x);
3724+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v2f64, ) (double2 x);
3725+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v3f64, ) (double3 x);
3726+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v4f64, ) (double4 x);
3727+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v8f64, ) (double8 x);
3728+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(IsNormal, _v16f64, ) (double16 x);
3729+ #endif // defined(cl_khr_fp64)
3730+
3731+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _f16, ) (half x);
3732+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _f32, ) (float x);
3733+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v2f16, ) (half2 x);
3734+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v2f32, ) (float2 x);
3735+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v3f16, ) (half3 x);
3736+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v3f32, ) (float3 x);
3737+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v4f16, ) (half4 x);
3738+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v4f32, ) (float4 x);
3739+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v8f16, ) (half8 x);
3740+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v8f32, ) (float8 x);
3741+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v16f16, ) (half16 x);
3742+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v16f32, ) (float16 x);
3743+ #if defined(cl_khr_fp64)
3744+ bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _f64, ) (double x);
3745+ __bool2 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v2f64, ) (double2 x);
3746+ __bool3 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v3f64, ) (double3 x);
3747+ __bool4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v4f64, ) (double4 x);
3748+ __bool8 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v8f64, ) (double8 x);
3749+ __bool16 SPIRV_OVERLOADABLE SPIRV_BUILTIN(SignBitSet, _v16f64, ) (double16 x);
37503750#endif // defined(cl_khr_fp64)
37513751
37523752bool SPIRV_OVERLOADABLE SPIRV_BUILTIN(LessOrGreater, _f16_f16, )(half x, half y);
0 commit comments