@@ -2696,6 +2696,130 @@ __attribute__((convergent)) double3 WaveActiveSum(double3);
26962696_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
26972697__attribute__((convergent)) double4 WaveActiveSum(double4);
26982698
2699+ // ===----------------------------------------------------------------------===//
2700+ // WaveActiveProduct builtins
2701+ // ===----------------------------------------------------------------------===//
2702+
2703+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2704+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2705+ __attribute__((convergent)) half WaveActiveProduct(half);
2706+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2707+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2708+ __attribute__((convergent)) half2 WaveActiveProduct(half2);
2709+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2710+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2711+ __attribute__((convergent)) half3 WaveActiveProduct(half3);
2712+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2713+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2714+ __attribute__((convergent)) half4 WaveActiveProduct(half4);
2715+
2716+ #ifdef __HLSL_ENABLE_16_BIT
2717+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2718+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2719+ __attribute__((convergent)) int16_t WaveActiveProduct(int16_t );
2720+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2721+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2722+ __attribute__((convergent)) int16_t2 WaveActiveProduct(int16_t2);
2723+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2724+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2725+ __attribute__((convergent)) int16_t3 WaveActiveProduct(int16_t3);
2726+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2727+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2728+ __attribute__((convergent)) int16_t4 WaveActiveProduct(int16_t4);
2729+
2730+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2731+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2732+ __attribute__((convergent)) uint16_t WaveActiveProduct(uint16_t );
2733+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2734+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2735+ __attribute__((convergent)) uint16_t2 WaveActiveProduct(uint16_t2);
2736+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2737+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2738+ __attribute__((convergent)) uint16_t3 WaveActiveProduct(uint16_t3);
2739+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2740+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2741+ __attribute__((convergent)) uint16_t4 WaveActiveProduct(uint16_t4);
2742+ #endif
2743+
2744+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2745+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2746+ __attribute__((convergent)) int WaveActiveProduct(int );
2747+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2748+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2749+ __attribute__((convergent)) int2 WaveActiveProduct(int2);
2750+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2751+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2752+ __attribute__((convergent)) int3 WaveActiveProduct(int3);
2753+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2754+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2755+ __attribute__((convergent)) int4 WaveActiveProduct(int4);
2756+
2757+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2758+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2759+ __attribute__((convergent)) uint WaveActiveProduct(uint);
2760+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2761+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2762+ __attribute__((convergent)) uint2 WaveActiveProduct(uint2);
2763+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2764+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2765+ __attribute__((convergent)) uint3 WaveActiveProduct(uint3);
2766+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2767+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2768+ __attribute__((convergent)) uint4 WaveActiveProduct(uint4);
2769+
2770+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2771+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2772+ __attribute__((convergent)) int64_t WaveActiveProduct(int64_t );
2773+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2774+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2775+ __attribute__((convergent)) int64_t2 WaveActiveProduct(int64_t2);
2776+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2777+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2778+ __attribute__((convergent)) int64_t3 WaveActiveProduct(int64_t3);
2779+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2780+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2781+ __attribute__((convergent)) int64_t4 WaveActiveProduct(int64_t4);
2782+
2783+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2784+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2785+ __attribute__((convergent)) uint64_t WaveActiveProduct(uint64_t );
2786+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2787+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2788+ __attribute__((convergent)) uint64_t2 WaveActiveProduct(uint64_t2);
2789+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2790+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2791+ __attribute__((convergent)) uint64_t3 WaveActiveProduct(uint64_t3);
2792+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2793+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2794+ __attribute__((convergent)) uint64_t4 WaveActiveProduct(uint64_t4);
2795+
2796+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2797+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2798+ __attribute__((convergent)) float WaveActiveProduct(float );
2799+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2800+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2801+ __attribute__((convergent)) float2 WaveActiveProduct(float2);
2802+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2803+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2804+ __attribute__((convergent)) float3 WaveActiveProduct(float3);
2805+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2806+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2807+ __attribute__((convergent)) float4 WaveActiveProduct(float4);
2808+
2809+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2810+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2811+ __attribute__((convergent)) double WaveActiveProduct(double );
2812+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2813+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2814+ __attribute__((convergent)) double2 WaveActiveProduct(double2);
2815+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2816+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2817+ __attribute__((convergent)) double3 WaveActiveProduct(double3);
2818+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2819+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
2820+ __attribute__((convergent)) double4 WaveActiveProduct(double4);
2821+
2822+
26992823// ===----------------------------------------------------------------------===//
27002824// sign builtins
27012825// ===----------------------------------------------------------------------===//
0 commit comments