@@ -400,6 +400,7 @@ def SPV_INTEL_fp_fast_math_mode : I32EnumAttrCase<"SPV_INTEL_fp
400400def SPV_INTEL_memory_access_aliasing : I32EnumAttrCase<"SPV_INTEL_memory_access_aliasing", 4028>;
401401def SPV_INTEL_split_barrier : I32EnumAttrCase<"SPV_INTEL_split_barrier", 4029>;
402402def SPV_INTEL_bfloat16_conversion : I32EnumAttrCase<"SPV_INTEL_bfloat16_conversion", 4031>;
403+ def SPV_INTEL_cache_controls : I32EnumAttrCase<"SPV_INTEL_cache_controls", 4032>;
403404
404405def SPV_NV_compute_shader_derivatives : I32EnumAttrCase<"SPV_NV_compute_shader_derivatives", 5000>;
405406def SPV_NV_cooperative_matrix : I32EnumAttrCase<"SPV_NV_cooperative_matrix", 5001>;
@@ -459,7 +460,8 @@ def SPIRV_ExtensionAttr :
459460 SPV_INTEL_fpga_reg, SPV_INTEL_long_constant_composite, SPV_INTEL_optnone,
460461 SPV_INTEL_debug_module, SPV_INTEL_fp_fast_math_mode,
461462 SPV_INTEL_memory_access_aliasing, SPV_INTEL_split_barrier,
462- SPV_INTEL_bfloat16_conversion, SPV_NV_compute_shader_derivatives, SPV_NV_cooperative_matrix,
463+ SPV_INTEL_bfloat16_conversion, SPV_INTEL_cache_controls,
464+ SPV_NV_compute_shader_derivatives, SPV_NV_cooperative_matrix,
463465 SPV_NV_fragment_shader_barycentric, SPV_NV_geometry_shader_passthrough,
464466 SPV_NV_mesh_shader, SPV_NV_ray_tracing, SPV_NV_sample_mask_override_coverage,
465467 SPV_NV_shader_image_footprint, SPV_NV_shader_sm_builtins,
@@ -1415,6 +1417,12 @@ def SPIRV_C_Bfloat16ConversionINTEL : I32EnumAttrCase<"B
14151417 ];
14161418}
14171419
1420+ def SPIRV_C_CacheControlsINTEL : I32EnumAttrCase<"CacheControlsINTEL", 6441> {
1421+ list<Availability> availability = [
1422+ Extension<[SPV_INTEL_cache_controls]>
1423+ ];
1424+ }
1425+
14181426def SPIRV_CapabilityAttr :
14191427 SPIRV_I32EnumAttr<"Capability", "valid SPIR-V Capability", "capability", [
14201428 SPIRV_C_Matrix, SPIRV_C_Addresses, SPIRV_C_Linkage, SPIRV_C_Kernel, SPIRV_C_Float16,
@@ -1507,7 +1515,8 @@ def SPIRV_CapabilityAttr :
15071515 SPIRV_C_UniformTexelBufferArrayNonUniformIndexing,
15081516 SPIRV_C_StorageTexelBufferArrayNonUniformIndexing,
15091517 SPIRV_C_ShaderViewportIndexLayerEXT, SPIRV_C_ShaderViewportMaskNV,
1510- SPIRV_C_ShaderStereoViewNV, SPIRV_C_Bfloat16ConversionINTEL
1518+ SPIRV_C_ShaderStereoViewNV, SPIRV_C_Bfloat16ConversionINTEL,
1519+ SPIRV_C_CacheControlsINTEL
15111520 ]>;
15121521
15131522def SPIRV_AM_Logical : I32EnumAttrCase<"Logical", 0>;
@@ -2623,6 +2632,16 @@ def SPIRV_D_MediaBlockIOINTEL : I32EnumAttrCase<"MediaBlockIOIN
26232632 Capability<[SPIRV_C_VectorComputeINTEL]>
26242633 ];
26252634}
2635+ def SPIRV_D_CacheControlLoadINTEL : I32EnumAttrCase<"CacheControlLoadINTEL", 6442> {
2636+ list<Availability> availability = [
2637+ Capability<[SPIRV_C_CacheControlsINTEL]>
2638+ ];
2639+ }
2640+ def SPIRV_D_CacheControlStoreINTEL : I32EnumAttrCase<"CacheControlStoreINTEL", 6443> {
2641+ list<Availability> availability = [
2642+ Capability<[SPIRV_C_CacheControlsINTEL]>
2643+ ];
2644+ }
26262645
26272646def SPIRV_DecorationAttr :
26282647 SPIRV_I32EnumAttr<"Decoration", "valid SPIR-V Decoration", "decoration", [
@@ -2658,7 +2677,8 @@ def SPIRV_DecorationAttr :
26582677 SPIRV_D_FuseLoopsInFunctionINTEL, SPIRV_D_AliasScopeINTEL, SPIRV_D_NoAliasINTEL,
26592678 SPIRV_D_BufferLocationINTEL, SPIRV_D_IOPipeStorageINTEL,
26602679 SPIRV_D_FunctionFloatingPointModeINTEL, SPIRV_D_SingleElementVectorINTEL,
2661- SPIRV_D_VectorComputeCallableFunctionINTEL, SPIRV_D_MediaBlockIOINTEL
2680+ SPIRV_D_VectorComputeCallableFunctionINTEL, SPIRV_D_MediaBlockIOINTEL,
2681+ SPIRV_D_CacheControlLoadINTEL, SPIRV_D_CacheControlStoreINTEL
26622682 ]>;
26632683
26642684def SPIRV_D_1D : I32EnumAttrCase<"Dim1D", 0> {
@@ -4092,6 +4112,32 @@ def SPIRV_KHR_CooperativeMatrixOperandsAttr :
40924112 SPIRV_KHR_CMO_Result_Signed, SPIRV_KHR_CMO_AccSat
40934113 ]>;
40944114
4115+ def SPIRV_INTEL_LCC_Uncached : I32EnumAttrCase<"Uncached", 0>;
4116+ def SPIRV_INTEL_LCC_Cached : I32EnumAttrCase<"Cached", 1>;
4117+ def SPIRV_INTEL_LCC_Streaming : I32EnumAttrCase<"Streaming", 2>;
4118+ def SPIRV_INTEL_LCC_InvalidateAfterRead : I32EnumAttrCase<"InvalidateAfterR", 3>;
4119+ def SPIRV_INTEL_LCC_ConstCached : I32EnumAttrCase<"ConstCached", 4>;
4120+
4121+ def SPIRV_INTEL_LoadCacheControlAttr :
4122+ SPIRV_I32EnumAttr<"LoadCacheControl", "valid SPIR-V LoadCacheControl",
4123+ "load_cache_control", [
4124+ SPIRV_INTEL_LCC_Uncached, SPIRV_INTEL_LCC_Cached,
4125+ SPIRV_INTEL_LCC_Streaming, SPIRV_INTEL_LCC_InvalidateAfterRead,
4126+ SPIRV_INTEL_LCC_ConstCached
4127+ ]>;
4128+
4129+ def SPIRV_INTEL_SCC_Uncached : I32EnumAttrCase<"Uncached", 0>;
4130+ def SPIRV_INTEL_SCC_WriteThrough : I32EnumAttrCase<"WriteThrough", 1>;
4131+ def SPIRV_INTEL_SCC_WriteBack : I32EnumAttrCase<"WriteBack", 2>;
4132+ def SPIRV_INTEL_SCC_Streaming : I32EnumAttrCase<"Streaming", 3>;
4133+
4134+ def SPIRV_INTEL_StoreCacheControlAttr :
4135+ SPIRV_I32EnumAttr<"StoreCacheControl", "valid SPIR-V StoreCacheControl",
4136+ "store_cache_control", [
4137+ SPIRV_INTEL_SCC_Uncached, SPIRV_INTEL_SCC_WriteThrough,
4138+ SPIRV_INTEL_SCC_WriteBack, SPIRV_INTEL_SCC_Streaming
4139+ ]>;
4140+
40954141//===----------------------------------------------------------------------===//
40964142// SPIR-V attribute definitions
40974143//===----------------------------------------------------------------------===//
0 commit comments