From 8899c149b05def1cce626ea649012c4c974861de Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 2 Mar 2020 16:18:20 -0500 Subject: Additional Wave Intrinsic Support (#1252) * Test for some wave intrinsics. More wave intrinsic support on CUDA. * Use shfl_xor_sync. * Improvements around wave intrinsics. Fix built in integer types belong to __BuiltinIntegerType. * Improvements and fixes around Wave intrinsics. * Added WaveIsFirstLane test. No longer use __wavemask_lt, as appears not available as an intrinsic. * Small fixes to CUDA prelude. * Add wave-active-product test. Handle the special case for arbitray sums. * Used macro to implement CUDA wave intrinsics. --- source/slang/core.meta.slang | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source/slang/core.meta.slang') diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 70bc90392..6822d304b 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -132,9 +132,12 @@ for (int tt = 0; tt < kBaseTypeCount; ++tt) case BaseType::Half: case BaseType::Float: case BaseType::Double: - sb << "\n , __BuiltinFloatingPointType\n"; + sb << "\n , __BuiltinFloatingPointType\n"; sb << "\n , __BuiltinRealType\n"; - ; // fall through to: + sb << "\n , __BuiltinSignedArithmeticType\n"; + sb << "\n , __BuiltinArithmeticType\n"; + sb << "\n , __BuiltinType\n"; + break; case BaseType::Int8: case BaseType::Int16: case BaseType::Int: @@ -146,6 +149,7 @@ for (int tt = 0; tt < kBaseTypeCount; ++tt) case BaseType::UInt: case BaseType::UInt64: sb << "\n , __BuiltinArithmeticType\n"; + sb << "\n , __BuiltinIntegerType\n"; ; // fall through to: case BaseType::Bool: sb << "\n , __BuiltinType\n"; -- cgit v1.2.3