Lines Matching refs:SignedValue

330 half   SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f16_i8, _Rhalf)(char SignedValue)
332 return SignedValue;
335 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f32_i8, _Rfloat)(char SignedValue)
337 return (float)SignedValue;
340 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f16_i16, _Rhalf)(short SignedValue)
342 return SignedValue;
345 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(short SignedValue)
347 return (float)SignedValue;
350 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f16_i32, _Rhalf)(int SignedValue)
352 return SignedValue;
355 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f32_i32, _Rfloat)(int SignedValue)
357 return (float)SignedValue;
360 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f16_i64, _Rhalf)(long SignedValue)
362 return SignedValue;
365 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f32_i64, _Rfloat)(long SignedValue)
367 return convertSItoFP32(SignedValue, 0);
416 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f64_i8, _Rdouble)(char SignedValue)
418 return SignedValue;
421 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f64_i16, _Rdouble)(short SignedValue)
423 return SignedValue;
426 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f64_i32, _Rdouble)(int SignedValue)
428 return SignedValue;
431 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _f64_i64, _Rdouble)(long SignedValue)
433 return SignedValue;
544 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i8_i8, _Rchar)(char SignedValue)
546 return SignedValue;
549 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i16_i8, _Rshort)(char SignedValue)
551 return (short)SignedValue;
554 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i32_i8, _Rint)(char SignedValue)
556 return (int)SignedValue;
559 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i64_i8, _Rlong)(char SignedValue)
561 return (long)SignedValue;
564 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i8_i16, _Rchar)(short SignedValue)
566 return (char)SignedValue;
569 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i16_i16, _Rshort)(short SignedValue)
571 return SignedValue;
574 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i32_i16, _Rint)(short SignedValue)
576 return (int)SignedValue;
579 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i64_i16, _Rlong)(short SignedValue)
581 return (long)SignedValue;
584 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i8_i32, _Rchar)(int SignedValue)
586 return (char)SignedValue;
589 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i16_i32, _Rshort)(int SignedValue)
591 return (short)SignedValue;
594 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i32_i32, _Rint)(int SignedValue)
596 return SignedValue;
599 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i64_i32, _Rlong)(int SignedValue)
601 return (long)SignedValue;
604 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i8_i64, _Rchar)(long SignedValue)
606 return (char)SignedValue;
609 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i16_i64, _Rshort)(long SignedValue)
611 return (short)SignedValue;
614 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i32_i64, _Rint)(long SignedValue)
616 return (int)SignedValue;
619 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _i64_i64, _Rlong)(long SignedValue)
621 return SignedValue;
716 uchar SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i8_i8, _Ruchar)(char SignedValue)
718 //return __builtin_IB_ctouc_sat((char)SignedValue);
719 if (SignedValue <= 0)
723 return (uchar)SignedValue;
726 ushort SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i16_i8, _Rushort)(char SignedValue)
728 //return __builtin_IB_ctous_sat((char)SignedValue);
729 if( SignedValue <= 0)
733 return (ushort)SignedValue;
736 uint SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i32_i8, _Ruint)(char SignedValue)
738 //return __builtin_IB_ctoui_sat((char)SignedValue);
739 return (SignedValue <= 0) ? 0 : (uint)SignedValue;
742 ulong SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i64_i8, _Rulong)(char SignedValue)
744 return (SignedValue <= 0) ? 0 : (ulong)SignedValue;
747 uchar SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i8_i16, _Ruchar)(short SignedValue)
749 return (uchar)clamp(SignedValue, (short)0, (short)UCHAR_MAX);
752 ushort SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i16_i16, _Rushort)(short SignedValue)
754 //return __builtin_IB_stous_sat((short)SignedValue);
755 if( SignedValue <= 0)
759 return (ushort)SignedValue;
762 uint SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i32_i16, _Ruint)(short SignedValue)
764 //return __builtin_IB_stoui_sat((short)SignedValue);
765 return (SignedValue <= 0) ? 0 : (uint)SignedValue;
768 ulong SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i64_i16, _Rulong)(short SignedValue)
770 return (SignedValue <= 0) ? 0 : (ulong)SignedValue;
773 uchar SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i8_i32, _Ruchar)(int SignedValue)
775 return (uchar)clamp(SignedValue, 0, (int)UCHAR_MAX);
778 ushort SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i16_i32, _Rushort)(int SignedValue)
780 //return __builtin_IB_itous_sat((int)SignedValue);
781 int res = SPIRV_OCL_BUILTIN(s_clamp, _i32_i32_i32, )(SignedValue, 0, (int)USHRT_MAX);
785 uint SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i32_i32, _Ruint)(int SignedValue)
787 //return __builtin_IB_itoui_sat((int)SignedValue);
788 return (SignedValue <= 0) ? 0 : (uint)SignedValue;
791 ulong SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i64_i32, _Rulong)(int SignedValue)
793 return (SignedValue <= 0) ? 0 : (ulong)SignedValue;
796 uchar SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i8_i64, _Ruchar)(long SignedValue)
798 if (SignedValue <= 0)
802 else if (SignedValue >= UCHAR_MAX)
806 return (uchar)SignedValue;
809 ushort SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i16_i64, _Rushort)(long SignedValue)
811 if (SignedValue <= 0) {
814 else if (SignedValue >= USHRT_MAX) {
817 return (ushort)SignedValue;
820 uint SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i32_i64, _Ruint)(long SignedValue)
822 if (SignedValue <= 0) {
825 else if (SignedValue >= UINT_MAX) {
828 return (uint)SignedValue;
831 ulong SPIRV_OVERLOADABLE SPIRV_BUILTIN(SatConvertSToU, _i64_i64, _Rulong)(long SignedValue)
833 return (SignedValue <= 0) ? 0 : (ulong)SignedValue;
2315 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f16_i8, _Rhalf_rte)(char SignedValue)
2317 return SignedValue;
2320 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f16_i8, _Rhalf_rtz)(char SignedValue)
2322 return SignedValue; // A half can represent a char exactly.
2325 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f16_i8, _Rhalf_rtp)(char SignedValue)
2327 return SignedValue; // A half can represent a char exactly.
2330 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f16_i8, _Rhalf_rtn)(char SignedValue)
2332 return SignedValue; // A half can represent a char exactly.
2335 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f32_i8, _Rfloat_rte)(char SignedValue)
2337 return SPIRV_BUILTIN(ConvertSToF, _f32_i8, _Rfloat)(SignedValue);
2340 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f32_i8, _Rfloat_rtz)(char SignedValue)
2342 return SPIRV_BUILTIN(ConvertSToF, _f32_i8, _Rfloat)(SignedValue);
2345 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f32_i8, _Rfloat_rtp)(char SignedValue)
2347 return SPIRV_BUILTIN(ConvertSToF, _f32_i8, _Rfloat)(SignedValue);
2350 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f32_i8, _Rfloat_rtn)(char SignedValue)
2352 return SPIRV_BUILTIN(ConvertSToF, _f32_i8, _Rfloat)(SignedValue);
2357 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f64_i8, _Rdouble_rte)(char SignedValue)
2359 return SignedValue;
2362 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f64_i8, _Rdouble_rtz)(char SignedValue)
2364 return SignedValue; // A double can represent a char exactly.
2367 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f64_i8, _Rdouble_rtp)(char SignedValue)
2369 return SignedValue; // A double can represent a char exactly.
2372 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f64_i8, _Rdouble_rtn)(char SignedValue)
2374 return SignedValue; // A double can represent a char exactly.
2379 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f16_i16, _Rhalf_rte)(short SignedValue)
2381 return SignedValue;
2384 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f16_i16, _Rhalf_rtz)(short SignedValue)
2386 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2390 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f16_i16, _Rhalf_rtp)(short SignedValue)
2392 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2396 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f16_i16, _Rhalf_rtn)(short SignedValue)
2398 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2402 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f32_i16, _Rfloat_rte)(short SignedValue)
2404 return SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2407 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f32_i16, _Rfloat_rtz)(short SignedValue)
2409 return SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2412 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f32_i16, _Rfloat_rtp)(short SignedValue)
2414 return SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2417 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f32_i16, _Rfloat_rtn)(short SignedValue)
2419 return SPIRV_BUILTIN(ConvertSToF, _f32_i16, _Rfloat)(SignedValue);
2424 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f64_i16, _Rdouble_rte)(short SignedValue)
2426 return SignedValue;
2429 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f64_i16, _Rdouble_rtz)(short SignedValue)
2431 return SignedValue; // A double can represent a short exactly.
2434 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f64_i16, _Rdouble_rtp)(short SignedValue)
2436 return SignedValue; // A double can represent a short exactly.
2439 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f64_i16, _Rdouble_rtn)(short SignedValue)
2441 return SignedValue; // A double can represent a short exactly.
2446 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f16_i32, _Rhalf_rte)(int SignedValue)
2448 return SignedValue;
2451 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f16_i32, _Rhalf_rtz)(int SignedValue)
2453 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i32, _Rfloat)(SignedValue);
2457 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f16_i32, _Rhalf_rtp)(int SignedValue)
2459 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i32, _Rfloat)(SignedValue);
2463 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f16_i32, _Rhalf_rtn)(int SignedValue)
2465 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i32, _Rfloat)(SignedValue);
2469 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f32_i32, _Rfloat_rte)(int SignedValue)
2471 return SPIRV_BUILTIN(ConvertSToF, _f32_i32, _Rfloat)(SignedValue);
2474 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f32_i32, _Rfloat_rtz)(int SignedValue)
2476 return __builtin_IB_itof_rtz(SignedValue);
2479 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f32_i32, _Rfloat_rtp)(int SignedValue)
2481 return __builtin_IB_itof_rtp(SignedValue);
2484 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f32_i32, _Rfloat_rtn)(int SignedValue)
2486 return __builtin_IB_itof_rtn(SignedValue);
2491 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f64_i32, _Rdouble_rte)(int SignedValue)
2493 return SignedValue;
2496 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f64_i32, _Rdouble_rtz)(int SignedValue)
2498 return SignedValue; // A double can represent an int exactly.
2501 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f64_i32, _Rdouble_rtp)(int SignedValue)
2503 return SignedValue; // A double can represent an int exactly.
2506 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f64_i32, _Rdouble_rtn)(int SignedValue)
2508 return SignedValue; // A double can represent an int exactly.
2513 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f16_i64, _Rhalf_rte)(long SignedValue)
2515 return SignedValue;
2518 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f16_i64, _Rhalf_rtz)(long SignedValue)
2520 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i64, _Rfloat)(SignedValue);
2524 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f16_i64, _Rhalf_rtp)(long SignedValue)
2526 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i64, _Rfloat)(SignedValue);
2530 half SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f16_i64, _Rhalf_rtn)(long SignedValue)
2532 float f = SPIRV_BUILTIN(ConvertSToF, _f32_i64, _Rfloat)(SignedValue);
2536 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f32_i64, _Rfloat_rte)(long SignedValue)
2538 return SPIRV_BUILTIN(ConvertSToF, _f32_i64, _Rfloat)(SignedValue);
2541 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f32_i64, _Rfloat_rtz)(long SignedValue)
2543 return convertSItoFP32(SignedValue, 3);
2546 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f32_i64, _Rfloat_rtp)(long SignedValue)
2548 return convertSItoFP32(SignedValue, 1);
2551 float SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f32_i64, _Rfloat_rtn)(long SignedValue)
2553 return convertSItoFP32(SignedValue, 2);
2558 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTE_f64_i64, _Rdouble_rte)(long SignedValue)
2560 return SignedValue;
2563 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTZ_f64_i64, _Rdouble_rtz)(long SignedValue)
2567 return __builtin_IB_itofp64_rtz(SignedValue);
2571 int hi = SignedValue >> 32;
2572 unsigned int lo = SignedValue & 0xFFFFFFFF;
2583 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTP_f64_i64, _Rdouble_rtp)(long SignedValue)
2587 return __builtin_IB_itofp64_rtp(SignedValue);
2591 int hi = SignedValue >> 32;
2592 unsigned int lo = SignedValue & 0xFFFFFFFF;
2603 double SPIRV_OVERLOADABLE SPIRV_BUILTIN(ConvertSToF, _RTN_f64_i64, _Rdouble_rtn)(long SignedValue)
2607 return __builtin_IB_itofp64_rtn(SignedValue);
2611 int hi = SignedValue >> 32;
2612 unsigned int lo = SignedValue & 0xFFFFFFFF;
3028 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i8_i8, _Rchar_sat)(char SignedValue)
3030 return SignedValue;
3033 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i16_i8, _Rshort_sat)(char SignedValue)
3035 return (short)SignedValue;
3038 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i32_i8, _Rint_sat)(char SignedValue)
3040 return (int)SignedValue;
3043 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i64_i8, _Rlong_sat)(char SignedValue)
3045 return SPIRV_BUILTIN(SConvert, _i64_i8, _Rlong)(SignedValue);
3048 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i8_i16, _Rchar_sat)(short SignedValue)
3050 //return __builtin_IB_stoc_sat((short)SignedValue);
3051 …short res = SPIRV_OCL_BUILTIN(s_clamp, _i16_i16_i16, )(SignedValue, (short)CHAR_MIN, (short)CHAR_M…
3055 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i16_i16, _Rshort_sat)(short SignedValue)
3057 return SignedValue;
3060 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i32_i16, _Rint_sat)(short SignedValue)
3062 return (int)SignedValue;
3065 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i64_i16, _Rlong_sat)(short SignedValue)
3067 return SPIRV_BUILTIN(SConvert, _i64_i16, _Rlong)(SignedValue);
3070 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i8_i32, _Rchar_sat)(int SignedValue)
3072 //return __builtin_IB_itoc_sat((int)SignedValue);
3073 … int res = SPIRV_OCL_BUILTIN(s_clamp, _i32_i32_i32, )(SignedValue, (int)CHAR_MIN, (int)CHAR_MAX);
3077 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i16_i32, _Rshort_sat)(int SignedValue)
3079 //return __builtin_IB_itos_sat((int)SignedValue);
3080 … int res = SPIRV_OCL_BUILTIN(s_clamp, _i32_i32_i32, )(SignedValue, (int)SHRT_MIN, (int)SHRT_MAX);
3084 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i32_i32, _Rint_sat)(int SignedValue)
3086 return SignedValue;
3089 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i64_i32, _Rlong_sat)(int SignedValue)
3091 return SPIRV_BUILTIN(SConvert, _i64_i32, _Rlong)(SignedValue);
3094 char SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i8_i64, _Rchar_sat)(long SignedValue)
3096 if (SignedValue <= CHAR_MIN)
3100 else if (SignedValue >= CHAR_MAX)
3104 return (char)SignedValue;
3107 short SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i16_i64, _Rshort_sat)(long SignedValue)
3109 if (SignedValue <= SHRT_MIN)
3113 else if (SignedValue >= SHRT_MAX)
3117 return (short)SignedValue;
3120 int SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i32_i64, _Rint_sat)(long SignedValue)
3122 if (SignedValue <= INT_MIN)
3126 else if (SignedValue >= INT_MAX)
3130 return (int)SignedValue;
3133 long SPIRV_OVERLOADABLE SPIRV_BUILTIN(SConvert, _Sat_i64_i64, _Rlong_sat)(long SignedValue)
3135 return SPIRV_BUILTIN(SConvert, _i64_i64, _Rlong)(SignedValue);