spv.64bit_indexing.comp // Module Version 10600 // Generated by (magic number): 8000b // Id's are bound by 88 Capability Shader Capability Float16 Capability Int64 Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeVectorNV Capability CapabilityShader64BitIndexingEXT Capability CooperativeVectorTrainingNV Capability CooperativeMatrixKHR Extension "SPV_EXT_shader_64bit_indexing" Extension "SPV_KHR_cooperative_matrix" Extension "SPV_NV_cooperative_vector" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR EntryPoint GLCompute 4 "main" 22 ExecutionMode 4 Shader64BitIndexingEXT ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_shader_64bit_indexing" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_cooperative_matrix" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_vector" Name 4 "main" Name 8 "element" Name 17 "m" Name 20 "Block" MemberName 20(Block) 0 "x" Name 22 "block" Name 37 "tempArg" Name 38 "vec" Name 49 "tempArg" Name 55 "tempArg" Name 71 "y" Name 76 "len" Name 81 "len64" Decorate 19 ArrayStride 4 Decorate 20(Block) Block MemberDecorate 20(Block) 0 Offset 0 Decorate 22(block) Binding 0 Decorate 22(block) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 0 7: TypePointer Function 6(int64_t) 9: 6(int64_t) Constant 0 0 10: TypeFloat 16 11: TypeInt 32 0 12: 11(int) Constant 3 13: 11(int) Constant 16 14: 11(int) Constant 0 15: TypeCooperativeMatrixKHR 10(float16_t) 12 13 13 14 16: TypePointer Function 15 18: TypeFloat 32 19: TypeRuntimeArray 18(float) 20(Block): TypeStruct 19 21: TypePointer StorageBuffer 20(Block) 22(block): 21(ptr) Variable StorageBuffer 23: TypeInt 32 1 24: 23(int) Constant 0 26: 11(int) Constant 5 27: TypePointer StorageBuffer 18(float) 29: 11(int) Constant 128 34: 11(int) Constant 2 35: TypeCooperativeVectorNV 10(float16_t) 34 36: TypePointer Function 35 40: TypePointer StorageBuffer 19 45: TypeBool 46: 45(bool) ConstantFalse 70: TypePointer Function 18(float) 75: TypePointer Function 23(int) 79: TypeInt 64 1 80: TypePointer Function 79(int64_t) 84: TypeVector 11(int) 3 85: 11(int) Constant 64 86: 11(int) Constant 1 87: 84(ivec3) ConstantComposite 85 86 86 4(main): 2 Function None 3 5: Label 8(element): 7(ptr) Variable Function 17(m): 16(ptr) Variable Function 37(tempArg): 36(ptr) Variable Function 38(vec): 36(ptr) Variable Function 49(tempArg): 36(ptr) Variable Function 55(tempArg): 36(ptr) Variable Function 71(y): 70(ptr) Variable Function 76(len): 75(ptr) Variable Function 81(len64): 80(ptr) Variable Function Store 8(element) 9 25: 6(int64_t) Load 8(element) 28: 27(ptr) AccessChain 22(block) 24 25 30: 15 CooperativeMatrixLoadKHR 28 24 29 MakePointerVisibleKHR NonPrivatePointerKHR 26 Store 17(m) 30 31: 15 Load 17(m) 32: 6(int64_t) Load 8(element) 33: 27(ptr) AccessChain 22(block) 24 32 CooperativeMatrixStoreKHR 33 31 24 29 MakePointerAvailableKHR NonPrivatePointerKHR 26 39: 35 Load 38(vec) 41: 40(ptr) AccessChain 22(block) 24 42: 6(int64_t) Load 8(element) 43: 40(ptr) AccessChain 22(block) 24 44: 6(int64_t) Load 8(element) 47: 35 CooperativeVectorMatrixMulAddNV 39 24 41 42 24 43 44 24 34 34 24 46 14 Store 37(tempArg) 47 48: 35 Load 37(tempArg) Store 38(vec) 48 50: 35 Load 38(vec) 51: 40(ptr) AccessChain 22(block) 24 52: 6(int64_t) Load 8(element) 53: 35 CooperativeVectorMatrixMulNV 50 24 51 52 24 34 34 24 46 14 Store 49(tempArg) 53 54: 35 Load 49(tempArg) Store 38(vec) 54 56: 40(ptr) AccessChain 22(block) 24 57: 6(int64_t) Load 8(element) 58: 35 CooperativeVectorLoadNV 56 57 MakePointerVisibleKHR NonPrivatePointerKHR 26 Store 55(tempArg) 58 59: 35 Load 55(tempArg) Store 38(vec) 59 60: 35 Load 38(vec) 61: 40(ptr) AccessChain 22(block) 24 62: 6(int64_t) Load 8(element) CooperativeVectorStoreNV 61 62 60 MakePointerAvailableKHR NonPrivatePointerKHR 26 63: 35 Load 38(vec) 64: 35 Load 38(vec) 65: 40(ptr) AccessChain 22(block) 24 66: 6(int64_t) Load 8(element) CooperativeVectorOuterProductAccumulateNV 65 66 63 64 24 24 14 67: 35 Load 38(vec) 68: 40(ptr) AccessChain 22(block) 24 69: 6(int64_t) Load 8(element) CooperativeVectorReduceSumAccumulateNV 68 69 67 72: 6(int64_t) Load 8(element) 73: 27(ptr) AccessChain 22(block) 24 72 74: 18(float) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26 Store 71(y) 74 77: 11(int) ArrayLength 22(block) 0 78: 23(int) Bitcast 77 Store 76(len) 78 82: 6(int64_t) ArrayLength 22(block) 0 83: 79(int64_t) Bitcast 82 Store 81(len64) 83 Return FunctionEnd