| spv.coopvec.comp |
| // Module Version 10300 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 250 |
| |
| Capability Shader |
| Capability Float16 |
| Capability Int8 |
| Capability StorageUniformBufferBlock16 |
| Capability StorageBuffer8BitAccess |
| Capability VulkanMemoryModelKHR |
| Capability CooperativeVectorNV |
| Capability CapabilityReplicatedCompositesEXT |
| Extension "SPV_EXT_replicated_composites" |
| Extension "SPV_KHR_8bit_storage" |
| Extension "SPV_KHR_vulkan_memory_model" |
| Extension "SPV_NV_cooperative_vector" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical VulkanKHR |
| EntryPoint GLCompute 4 "main" |
| ExecutionMode 4 LocalSize 64 1 1 |
| Source GLSL 450 |
| SourceExtension "GL_EXT_buffer_reference" |
| SourceExtension "GL_EXT_nonuniform_qualifier" |
| SourceExtension "GL_EXT_shader_explicit_arithmetic_types" |
| SourceExtension "GL_KHR_memory_scope_semantics" |
| SourceExtension "GL_NV_cooperative_vector" |
| Name 4 "main" |
| Name 13 "foo(coopvecf161<1>;" |
| Name 12 "x" |
| Name 20 "foo(coopvecf161<2>;" |
| Name 19 "x" |
| Name 26 "v" |
| Name 31 "x" |
| Name 34 "y" |
| Name 37 "v2" |
| Name 46 "v3" |
| Name 48 "x3" |
| Name 53 "y3" |
| Name 58 "v4" |
| Name 71 "v5" |
| Name 74 "v6" |
| Name 100 "f" |
| Name 108 "len" |
| Name 125 "tempArg" |
| Name 129 "v7" |
| Name 132 "MatrixBuf" |
| MemberName 132(MatrixBuf) 0 "matrixData" |
| Name 134 "matrixBuf" |
| Name 142 "v8" |
| Name 145 "matrixOffset" |
| Name 148 "tempArg" |
| Name 152 "v9" |
| Name 156 "MatrixBuf2" |
| MemberName 156(MatrixBuf2) 0 "matrixData" |
| Name 158 "matrixBuf2" |
| Name 165 "v10" |
| Name 167 "f162" |
| Name 171 "f161" |
| Name 173 "f16" |
| Name 179 "v11" |
| Name 181 "v12" |
| Name 192 "v13" |
| Name 207 "tempArg" |
| Name 214 "biasOffset" |
| Name 215 "tempArg" |
| Name 223 "tempArg" |
| Name 226 "v14" |
| Name 231 "matrixLayout" |
| Decorate 131 ArrayStride 2 |
| Decorate 132(MatrixBuf) Block |
| MemberDecorate 132(MatrixBuf) 0 Offset 0 |
| Decorate 134(matrixBuf) Binding 0 |
| Decorate 134(matrixBuf) DescriptorSet 0 |
| Decorate 155 ArrayStride 1 |
| Decorate 156(MatrixBuf2) Block |
| MemberDecorate 156(MatrixBuf2) 0 Offset 0 |
| Decorate 158(matrixBuf2) Binding 0 |
| Decorate 158(matrixBuf2) DescriptorSet 0 |
| Decorate 231(matrixLayout) SpecId 0 |
| Decorate 249 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 16 |
| 7: TypeInt 32 0 |
| 8: 7(int) Constant 1 |
| 9: TypeCooperativeVectorNV 6(float16_t) 8 |
| 10: TypePointer Function 9 |
| 11: TypeFunction 9 10(ptr) |
| 15: 7(int) Constant 2 |
| 16: TypeCooperativeVectorNV 6(float16_t) 15 |
| 17: TypePointer Function 16 |
| 18: TypeFunction 16 17(ptr) |
| 22: TypeFloat 32 |
| 23: 7(int) Constant 5 |
| 24: TypeCooperativeVectorNV 22(float) 23 |
| 25: TypePointer Function 24 |
| 27: 22(float) Constant 0 |
| 28: 24 ConstantCompositeReplicateEXT 27 |
| 29: TypeVector 22(float) 3 |
| 30: TypePointer Function 29(fvec3) |
| 32: 22(float) Constant 1065353216 |
| 33: 29(fvec3) ConstantComposite 32 32 32 |
| 35: 22(float) Constant 1073741824 |
| 36: 29(fvec3) ConstantComposite 35 35 35 |
| 47: 24 ConstantComposite 32 32 32 35 35 |
| 49: 22(float) Constant 1082130432 |
| 50: 22(float) Constant 1084227584 |
| 51: 22(float) Constant 1086324736 |
| 52: 29(fvec3) ConstantComposite 49 50 51 |
| 54: 22(float) Constant 1088421888 |
| 55: 22(float) Constant 1090519040 |
| 56: 22(float) Constant 1091567616 |
| 57: 29(fvec3) ConstantComposite 54 55 56 |
| 69: TypeCooperativeVectorNV 6(float16_t) 23 |
| 70: TypePointer Function 69 |
| 99: TypePointer Function 22(float) |
| 106: TypeInt 32 1 |
| 107: TypePointer Function 106(int) |
| 110: 106(int) Constant 0 |
| 113: 106(int) Constant 4 |
| 122: 7(int) Constant 100 |
| 123: TypeCooperativeVectorNV 22(float) 122 |
| 124: TypePointer Function 123 |
| 126: 7(int) Constant 20 |
| 127: TypeCooperativeVectorNV 22(float) 126 |
| 128: TypePointer Function 127 |
| 131: TypeRuntimeArray 6(float16_t) |
| 132(MatrixBuf): TypeStruct 131 |
| 133: TypePointer StorageBuffer 132(MatrixBuf) |
| 134(matrixBuf): 133(ptr) Variable StorageBuffer |
| 135: TypePointer StorageBuffer 131 |
| 137: 7(int) Constant 11 |
| 138: TypeBool |
| 139: 138(bool) ConstantFalse |
| 140: 7(int) Constant 300 |
| 144: TypePointer Function 7(int) |
| 146: TypeCooperativeVectorNV 106(int) 122 |
| 147: TypePointer Function 146 |
| 149: TypeInt 8 1 |
| 150: TypeCooperativeVectorNV 149(int8_t) 126 |
| 151: TypePointer Function 150 |
| 154: 106(int) Constant 3 |
| 155: TypeRuntimeArray 149(int8_t) |
| 156(MatrixBuf2): TypeStruct 155 |
| 157: TypePointer StorageBuffer 156(MatrixBuf2) |
| 158(matrixBuf2): 157(ptr) Variable StorageBuffer |
| 159: TypePointer StorageBuffer 155 |
| 162: 106(int) Constant 1 |
| 163: 138(bool) ConstantTrue |
| 172: TypePointer Function 6(float16_t) |
| 176: 7(int) Constant 7 |
| 177: TypeCooperativeVectorNV 6(float16_t) 176 |
| 178: TypePointer Function 177 |
| 211: 7(int) Constant 50 |
| 224: TypeCooperativeVectorNV 7(int) 126 |
| 225: TypePointer Function 224 |
| 228: 106(int) Constant 1000491000 |
| 231(matrixLayout): 106(int) SpecConstant 1 |
| 247: TypeVector 7(int) 3 |
| 248: 7(int) Constant 64 |
| 249: 247(ivec3) ConstantComposite 248 8 8 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 26(v): 25(ptr) Variable Function |
| 31(x): 30(ptr) Variable Function |
| 34(y): 30(ptr) Variable Function |
| 37(v2): 25(ptr) Variable Function |
| 46(v3): 25(ptr) Variable Function |
| 48(x3): 30(ptr) Variable Function |
| 53(y3): 30(ptr) Variable Function |
| 58(v4): 25(ptr) Variable Function |
| 71(v5): 70(ptr) Variable Function |
| 74(v6): 25(ptr) Variable Function |
| 100(f): 99(ptr) Variable Function |
| 108(len): 107(ptr) Variable Function |
| 125(tempArg): 124(ptr) Variable Function |
| 129(v7): 128(ptr) Variable Function |
| 142(v8): 124(ptr) Variable Function |
| 145(matrixOffset): 144(ptr) Variable Function |
| 148(tempArg): 147(ptr) Variable Function |
| 152(v9): 151(ptr) Variable Function |
| 165(v10): 147(ptr) Variable Function |
| 167(f162): 17(ptr) Variable Function |
| 171(f161): 10(ptr) Variable Function |
| 173(f16): 172(ptr) Variable Function |
| 179(v11): 178(ptr) Variable Function |
| 181(v12): 178(ptr) Variable Function |
| 192(v13): 178(ptr) Variable Function |
| 207(tempArg): 124(ptr) Variable Function |
| 214(biasOffset): 144(ptr) Variable Function |
| 215(tempArg): 147(ptr) Variable Function |
| 223(tempArg): 147(ptr) Variable Function |
| 226(v14): 225(ptr) Variable Function |
| Store 26(v) 28 |
| Store 31(x) 33 |
| Store 34(y) 36 |
| 38: 29(fvec3) Load 31(x) |
| 39: 29(fvec3) Load 34(y) |
| 40: 22(float) CompositeExtract 38 0 |
| 41: 22(float) CompositeExtract 38 1 |
| 42: 22(float) CompositeExtract 38 2 |
| 43: 22(float) CompositeExtract 39 0 |
| 44: 22(float) CompositeExtract 39 1 |
| 45: 24 CompositeConstruct 40 41 42 43 44 |
| Store 37(v2) 45 |
| Store 46(v3) 47 |
| Store 48(x3) 52 |
| Store 53(y3) 57 |
| 59: 29(fvec3) Load 48(x3) |
| 60: 29(fvec3) VectorShuffle 59 59 2 1 0 |
| 61: 29(fvec3) Load 53(y3) |
| 62: 29(fvec3) VectorShuffle 61 61 2 2 1 |
| 63: 22(float) CompositeExtract 60 0 |
| 64: 22(float) CompositeExtract 60 1 |
| 65: 22(float) CompositeExtract 60 2 |
| 66: 22(float) CompositeExtract 62 0 |
| 67: 22(float) CompositeExtract 62 1 |
| 68: 24 CompositeConstruct 63 64 65 66 67 |
| Store 58(v4) 68 |
| 72: 24 Load 58(v4) |
| 73: 69 FConvert 72 |
| Store 71(v5) 73 |
| 75: 24 Load 26(v) |
| 76: 24 Load 37(v2) |
| 77: 24 FAdd 75 76 |
| Store 74(v6) 77 |
| 78: 24 Load 26(v) |
| 79: 24 Load 37(v2) |
| 80: 24 FSub 78 79 |
| Store 74(v6) 80 |
| 81: 24 Load 26(v) |
| 82: 24 Load 37(v2) |
| 83: 24 FMul 81 82 |
| Store 74(v6) 83 |
| 84: 24 Load 26(v) |
| 85: 24 Load 37(v2) |
| 86: 24 FDiv 84 85 |
| Store 74(v6) 86 |
| 87: 24 Load 26(v) |
| 88: 24 Load 74(v6) |
| 89: 24 FAdd 88 87 |
| Store 74(v6) 89 |
| 90: 24 Load 26(v) |
| 91: 24 Load 74(v6) |
| 92: 24 FSub 91 90 |
| Store 74(v6) 92 |
| 93: 24 Load 26(v) |
| 94: 24 Load 74(v6) |
| 95: 24 FMul 94 93 |
| Store 74(v6) 95 |
| 96: 24 Load 26(v) |
| 97: 24 Load 74(v6) |
| 98: 24 FDiv 97 96 |
| Store 74(v6) 98 |
| 101: 22(float) Load 100(f) |
| 102: 24 Load 74(v6) |
| 103: 24 VectorTimesScalar 102 101 |
| Store 74(v6) 103 |
| 104: 24 Load 74(v6) |
| 105: 24 VectorTimesScalar 104 50 |
| Store 74(v6) 105 |
| 109: 106(int) Bitcast 23 |
| Store 108(len) 109 |
| 111: 22(float) Load 100(f) |
| 112: 99(ptr) AccessChain 74(v6) 110 |
| Store 112 111 |
| 114: 99(ptr) AccessChain 74(v6) 113 |
| Store 114 50 |
| 115: 24 Load 26(v) |
| 116: 24 Load 26(v) |
| 117: 24 FAdd 116 115 |
| Store 26(v) 117 |
| 118: 22(float) CompositeExtract 117 4 |
| 119: 22(float) Load 100(f) |
| 120: 22(float) FAdd 119 118 |
| Store 100(f) 120 |
| 121: 24 Load 26(v) |
| Store 74(v6) 121 |
| 130: 127 Load 129(v7) |
| 136: 135(ptr) AccessChain 134(matrixBuf) 110 |
| 141: 123 CooperativeVectorMatrixMulNV 130 110 136 137 110 122 126 110 139 140 |
| Store 125(tempArg) 141 |
| 143: 123 Load 125(tempArg) |
| Store 142(v8) 143 |
| Store 145(matrixOffset) 137 |
| 153: 150 Load 152(v9) |
| 160: 159(ptr) AccessChain 158(matrixBuf2) 110 |
| 161: 7(int) Load 145(matrixOffset) |
| 164: 146 CooperativeVectorMatrixMulNV 153 154 160 161 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR |
| Store 148(tempArg) 164 |
| 166: 146 Load 148(tempArg) |
| Store 165(v10) 166 |
| 168: 106(int) Bitcast 126 |
| 169:6(float16_t) ConvertSToF 168 |
| 170: 16 CompositeConstructReplicateEXT 169 |
| Store 167(f162) 170 |
| 174:6(float16_t) Load 173(f16) |
| 175: 9 CompositeConstructReplicateEXT 174 |
| Store 171(f161) 175 |
| 180: 177 Load 179(v11) |
| 182: 177 Load 181(v12) |
| 183: 177 ExtInst 1(GLSL.std.450) 40(FMax) 180 182 |
| Store 179(v11) 183 |
| 184: 177 Load 179(v11) |
| 185: 177 Load 181(v12) |
| 186: 177 ExtInst 1(GLSL.std.450) 37(FMin) 184 185 |
| Store 179(v11) 186 |
| 187: 177 Load 179(v11) |
| 188: 177 Load 181(v12) |
| 189: 177 ExtInst 1(GLSL.std.450) 48(Step) 187 188 |
| Store 179(v11) 189 |
| 190: 177 Load 179(v11) |
| 191: 177 Load 181(v12) |
| 193: 177 Load 192(v13) |
| 194: 177 ExtInst 1(GLSL.std.450) 43(FClamp) 190 191 193 |
| Store 179(v11) 194 |
| 195: 177 Load 179(v11) |
| 196: 177 ExtInst 1(GLSL.std.450) 27(Exp) 195 |
| Store 179(v11) 196 |
| 197: 177 Load 179(v11) |
| 198: 177 ExtInst 1(GLSL.std.450) 28(Log) 197 |
| Store 179(v11) 198 |
| 199: 177 Load 179(v11) |
| 200: 177 ExtInst 1(GLSL.std.450) 21(Tanh) 199 |
| Store 179(v11) 200 |
| 201: 177 Load 179(v11) |
| 202: 177 ExtInst 1(GLSL.std.450) 18(Atan) 201 |
| Store 179(v11) 202 |
| 203: 177 Load 179(v11) |
| 204: 177 Load 181(v12) |
| 205: 177 Load 192(v13) |
| 206: 177 ExtInst 1(GLSL.std.450) 50(Fma) 203 204 205 |
| Store 179(v11) 206 |
| 208: 127 Load 129(v7) |
| 209: 135(ptr) AccessChain 134(matrixBuf) 110 |
| 210: 135(ptr) AccessChain 134(matrixBuf) 110 |
| 212: 123 CooperativeVectorMatrixMulAddNV 208 110 209 137 110 210 211 110 122 126 110 139 140 |
| Store 207(tempArg) 212 |
| 213: 123 Load 207(tempArg) |
| Store 142(v8) 213 |
| Store 214(biasOffset) 137 |
| 216: 150 Load 152(v9) |
| 217: 159(ptr) AccessChain 158(matrixBuf2) 110 |
| 218: 7(int) Load 145(matrixOffset) |
| 219: 159(ptr) AccessChain 158(matrixBuf2) 110 |
| 220: 7(int) Load 214(biasOffset) |
| 221: 146 CooperativeVectorMatrixMulAddNV 216 154 217 218 154 219 220 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR |
| Store 215(tempArg) 221 |
| 222: 146 Load 215(tempArg) |
| Store 165(v10) 222 |
| 227: 224 Load 226(v14) |
| 229: 159(ptr) AccessChain 158(matrixBuf2) 110 |
| 230: 7(int) Load 145(matrixOffset) |
| 232: 146 CooperativeVectorMatrixMulNV 227 228 229 230 154 122 126 231(matrixLayout) 163 140 ResultSignedComponentsKHR |
| Store 223(tempArg) 232 |
| 233: 146 Load 223(tempArg) |
| Store 165(v10) 233 |
| 234: 24 Load 26(v) |
| 235: 24 Load 26(v) |
| 236: 24 FAdd 235 234 |
| Store 26(v) 236 |
| 237: 106(int) Load 108(len) |
| 238: 22(float) VectorExtractDynamic 236 237 |
| 239: 22(float) Load 100(f) |
| 240: 22(float) FAdd 239 238 |
| Store 100(f) 240 |
| Return |
| FunctionEnd |
| 13(foo(coopvecf161<1>;): 9 Function None 11 |
| 12(x): 10(ptr) FunctionParameter |
| 14: Label |
| 241: 9 Load 12(x) |
| ReturnValue 241 |
| FunctionEnd |
| 20(foo(coopvecf161<2>;): 16 Function None 18 |
| 19(x): 17(ptr) FunctionParameter |
| 21: Label |
| 244: 16 Load 19(x) |
| ReturnValue 244 |
| FunctionEnd |