spv.floate5m2.comp // Module Version 10600 // Generated by (magic number): 8000b // Id's are bound by 360 Capability Shader Capability Float16 Capability Float64 Capability Int64 Capability Int16 Capability Int8 Capability Float8EXT Capability Float8CooperativeMatrixEXT Capability VulkanMemoryModelKHR Capability CooperativeMatrixConversionsNV Capability CooperativeMatrixKHR Extension "SPV_EXT_float8" Extension "SPV_KHR_cooperative_matrix" Extension "SPV_NV_cooperative_matrix2" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR EntryPoint GLCompute 4 "main" 155 359 ExecutionMode 4 LocalSize 1 1 1 Source GLSL 450 SourceExtension "GL_EXT_bfloat16" SourceExtension "GL_EXT_float_e5m2" SourceExtension "GL_EXT_scalar_block_layout" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_cooperative_matrix" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_matrix2" Name 4 "main" Name 10 "funcfe5m2(fe5m21;" Name 9 "x" Name 16 "funcf32(f1;" Name 15 "x" Name 22 "funcf64(d1;" Name 21 "x" Name 34 "func2(vfe5m24[2];i1;" Name 32 "v" Name 33 "i" Name 36 "saturatedconverts(" Name 49 "f" Name 51 "b" Name 57 "b2" Name 63 "u8" Name 67 "u16" Name 70 "u32" Name 74 "u64" Name 78 "i8" Name 82 "i16" Name 84 "i32" Name 88 "i64" Name 90 "fe5m2" Name 94 "f16" Name 96 "f32" Name 98 "f64" Name 153 "B" MemberName 153(B) 0 "b3" MemberName 153(B) 1 "b2" MemberName 153(B) 2 "b1" Name 155 "buf" Name 165 "b3" Name 175 "cmA" Name 180 "cmAf" Name 183 "param" Name 188 "param" Name 192 "param" Name 194 "i8_1" Name 199 "i8_2" Name 204 "i8_3" Name 213 "i8_4" Name 221 "u8_1" Name 226 "u8_2" Name 231 "u8_3" Name 240 "u8_4" Name 248 "f8_1" Name 251 "f8_2" Name 254 "f8_3" Name 258 "f8_4" Name 269 "b" Name 290 "S" MemberName 290(S) 0 "b" Name 292 "s" Name 313 "f" Name 317 "f2" Name 320 "b" Name 323 "b2" Name 326 "u" Name 329 "i" Name 332 "mate5m2A" Name 335 "matf16A" Name 340 "matf16C" Name 352 "bsc10" Name 359 "bfs" Decorate 153(B) Block MemberDecorate 153(B) 0 Offset 0 MemberDecorate 153(B) 1 Offset 3 MemberDecorate 153(B) 2 Offset 5 Decorate 155(buf) Binding 0 Decorate 155(buf) DescriptorSet 0 Decorate 322 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 325 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 328 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 331 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 344 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 346 DecorationSaturatedToLargestFloat8NormalConversionEXT Decorate 352(bsc10) SpecId 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 8 4215 7: TypePointer Function 6(floate5m2_t) 8: TypeFunction 6(floate5m2_t) 7(ptr) 12: TypeFloat 32 13: TypePointer Function 12(float) 14: TypeFunction 6(floate5m2_t) 13(ptr) 18: TypeFloat 64 19: TypePointer Function 18(float64_t) 20: TypeFunction 6(floate5m2_t) 19(ptr) 24: TypeVector 6(floate5m2_t) 4 25: TypeInt 32 0 26: 25(int) Constant 2 27: TypeArray 24(fvec4) 26 28: TypePointer Function 27 29: TypeInt 32 1 30: TypePointer Function 29(int) 31: TypeFunction 6(floate5m2_t) 28(ptr) 30(ptr) 50: 12(float) Constant 1073741824 52:6(floate5m2_t) Constant 60 55: TypeVector 6(floate5m2_t) 2 56: TypePointer Function 55(fvec2) 61: TypeInt 8 0 62: TypePointer Function 61(int8_t) 64: 61(int8_t) Constant 5 65: TypeInt 16 0 66: TypePointer Function 65(int16_t) 68: 65(int16_t) Constant 5 69: TypePointer Function 25(int) 71: 25(int) Constant 5 72: TypeInt 64 0 73: TypePointer Function 72(int64_t) 75: 72(int64_t) Constant 5 0 76: TypeInt 8 1 77: TypePointer Function 76(int8_t) 79: 76(int8_t) Constant 6 80: TypeInt 16 1 81: TypePointer Function 80(int16_t) 83: 80(int16_t) Constant 6 85: 29(int) Constant 6 86: TypeInt 64 1 87: TypePointer Function 86(int64_t) 89: 86(int64_t) Constant 6 0 91:6(floate5m2_t) Constant 71 92: TypeFloat 16 93: TypePointer Function 92(float16_t) 95:92(float16_t) Constant 18176 97: 12(float) Constant 1088421888 99:18(float64_t) Constant 0 1075576832 152: TypeVector 6(floate5m2_t) 3 153(B): TypeStruct 152(fvec3) 55(fvec2) 6(floate5m2_t) 154: TypePointer StorageBuffer 153(B) 155(buf): 154(ptr) Variable StorageBuffer 156: 29(int) Constant 2 157: TypePointer StorageBuffer 6(floate5m2_t) 160: 29(int) Constant 1 161: TypePointer StorageBuffer 55(fvec2) 164: TypePointer Function 152(fvec3) 166: 29(int) Constant 0 167: TypePointer StorageBuffer 152(fvec3) 170: 25(int) Constant 3 171: 25(int) Constant 16 172: 25(int) Constant 0 173: TypeCooperativeMatrixKHR 6(floate5m2_t) 170 171 171 172 174: TypePointer Function 173 176:6(floate5m2_t) Constant 66 177: 173 ConstantComposite 176 178: TypeCooperativeMatrixKHR 12(float) 170 171 171 172 179: TypePointer Function 178 197: TypeVector 76(int8_t) 2 198: TypePointer Function 197(i8vec2) 202: TypeVector 76(int8_t) 3 203: TypePointer Function 202(i8vec3) 211: TypeVector 76(int8_t) 4 212: TypePointer Function 211(i8vec4) 224: TypeVector 61(int8_t) 2 225: TypePointer Function 224(i8vec2) 229: TypeVector 61(int8_t) 3 230: TypePointer Function 229(i8vec3) 238: TypeVector 61(int8_t) 4 239: TypePointer Function 238(i8vec4) 257: TypePointer Function 24(fvec4) 282: 25(int) Constant 1 290(S): TypeStruct 6(floate5m2_t) 291: TypePointer Function 290(S) 296: TypeBool 299:6(floate5m2_t) Constant 64 314: 12(float) Constant 1065353216 315: TypeVector 12(float) 2 316: TypePointer Function 315(fvec2) 333: TypeCooperativeMatrixKHR 92(float16_t) 170 171 171 172 334: TypePointer Function 333 338: TypeCooperativeMatrixKHR 92(float16_t) 170 171 171 26 339: TypePointer Function 338 347: TypeVector 25(int) 3 348: 347(ivec3) ConstantComposite 282 282 282 349:6(floate5m2_t) Constant 73 350:6(floate5m2_t) Constant 77 351: 55(fvec2) ConstantComposite 350 350 352(bsc10):6(floate5m2_t) SpecConstant 73 353: 290(S) ConstantComposite 349 354: TypeArray 6(floate5m2_t) 26 355: 354 ConstantComposite 349 349 356: 25(int) Constant 10 357: TypeArray 6(floate5m2_t) 356 358: TypePointer Workgroup 357 359(bfs): 358(ptr) Variable Workgroup 4(main): 2 Function None 3 5: Label 49(f): 13(ptr) Variable Function 51(b): 7(ptr) Variable Function 57(b2): 56(ptr) Variable Function 63(u8): 62(ptr) Variable Function 67(u16): 66(ptr) Variable Function 70(u32): 69(ptr) Variable Function 74(u64): 73(ptr) Variable Function 78(i8): 77(ptr) Variable Function 82(i16): 81(ptr) Variable Function 84(i32): 30(ptr) Variable Function 88(i64): 87(ptr) Variable Function 90(fe5m2): 7(ptr) Variable Function 94(f16): 93(ptr) Variable Function 96(f32): 13(ptr) Variable Function 98(f64): 19(ptr) Variable Function 165(b3): 164(ptr) Variable Function 175(cmA): 174(ptr) Variable Function 180(cmAf): 179(ptr) Variable Function 183(param): 7(ptr) Variable Function 188(param): 13(ptr) Variable Function 192(param): 19(ptr) Variable Function 194(i8_1): 77(ptr) Variable Function 199(i8_2): 198(ptr) Variable Function 204(i8_3): 203(ptr) Variable Function 213(i8_4): 212(ptr) Variable Function 221(u8_1): 62(ptr) Variable Function 226(u8_2): 225(ptr) Variable Function 231(u8_3): 230(ptr) Variable Function 240(u8_4): 239(ptr) Variable Function 248(f8_1): 7(ptr) Variable Function 251(f8_2): 56(ptr) Variable Function 254(f8_3): 164(ptr) Variable Function 258(f8_4): 257(ptr) Variable Function Store 49(f) 50 Store 51(b) 52 53: 12(float) Load 49(f) 54:6(floate5m2_t) FConvert 53 58: 12(float) Load 49(f) 59:6(floate5m2_t) FConvert 58 60: 55(fvec2) CompositeConstruct 59 59 Store 57(b2) 60 Store 63(u8) 64 Store 67(u16) 68 Store 70(u32) 71 Store 74(u64) 75 Store 78(i8) 79 Store 82(i16) 83 Store 84(i32) 85 Store 88(i64) 89 Store 90(fe5m2) 91 Store 94(f16) 95 Store 96(f32) 97 Store 98(f64) 99 100: 61(int8_t) Load 63(u8) 101:6(floate5m2_t) ConvertUToF 100 Store 51(b) 101 102: 65(int16_t) Load 67(u16) 103:6(floate5m2_t) ConvertUToF 102 Store 51(b) 103 104: 25(int) Load 70(u32) 105:6(floate5m2_t) ConvertUToF 104 Store 51(b) 105 106: 72(int64_t) Load 74(u64) 107:6(floate5m2_t) ConvertUToF 106 Store 51(b) 107 108: 76(int8_t) Load 78(i8) 109:6(floate5m2_t) ConvertSToF 108 Store 51(b) 109 110: 80(int16_t) Load 82(i16) 111:6(floate5m2_t) ConvertSToF 110 Store 51(b) 111 112: 29(int) Load 84(i32) 113:6(floate5m2_t) ConvertSToF 112 Store 51(b) 113 114: 86(int64_t) Load 88(i64) 115:6(floate5m2_t) ConvertSToF 114 Store 51(b) 115 116:6(floate5m2_t) Load 90(fe5m2) Store 51(b) 116 117:92(float16_t) Load 94(f16) 118:6(floate5m2_t) FConvert 117 Store 51(b) 118 119: 12(float) Load 96(f32) 120:6(floate5m2_t) FConvert 119 Store 51(b) 120 121:18(float64_t) Load 98(f64) 122:6(floate5m2_t) FConvert 121 Store 51(b) 122 123:6(floate5m2_t) Load 51(b) 124: 61(int8_t) ConvertFToU 123 Store 63(u8) 124 125:6(floate5m2_t) Load 51(b) 126: 65(int16_t) ConvertFToU 125 Store 67(u16) 126 127:6(floate5m2_t) Load 51(b) 128: 25(int) ConvertFToU 127 Store 70(u32) 128 129:6(floate5m2_t) Load 51(b) 130: 72(int64_t) ConvertFToU 129 Store 74(u64) 130 131:6(floate5m2_t) Load 51(b) 132: 76(int8_t) ConvertFToS 131 Store 78(i8) 132 133:6(floate5m2_t) Load 51(b) 134: 80(int16_t) ConvertFToS 133 Store 82(i16) 134 135:6(floate5m2_t) Load 51(b) 136: 29(int) ConvertFToS 135 Store 84(i32) 136 137:6(floate5m2_t) Load 51(b) 138: 86(int64_t) ConvertFToS 137 Store 88(i64) 138 139:6(floate5m2_t) Load 51(b) Store 90(fe5m2) 139 140:6(floate5m2_t) Load 51(b) 141:92(float16_t) FConvert 140 Store 94(f16) 141 142:6(floate5m2_t) Load 51(b) 143: 12(float) FConvert 142 Store 96(f32) 143 144:6(floate5m2_t) Load 51(b) 145:18(float64_t) FConvert 144 Store 98(f64) 145 146:6(floate5m2_t) Load 51(b) 147:92(float16_t) FConvert 146 Store 94(f16) 147 148:6(floate5m2_t) Load 51(b) 149: 12(float) FConvert 148 Store 96(f32) 149 150:6(floate5m2_t) Load 51(b) 151:18(float64_t) FConvert 150 Store 98(f64) 151 158: 157(ptr) AccessChain 155(buf) 156 159:6(floate5m2_t) Load 158 Store 51(b) 159 162: 161(ptr) AccessChain 155(buf) 160 163: 55(fvec2) Load 162 Store 57(b2) 163 168: 167(ptr) AccessChain 155(buf) 166 169: 152(fvec3) Load 168 Store 165(b3) 169 Store 175(cmA) 177 181: 173 Load 175(cmA) 182: 178 FConvert 181 Store 180(cmAf) 182 184:6(floate5m2_t) Load 51(b) Store 183(param) 184 185:6(floate5m2_t) FunctionCall 10(funcfe5m2(fe5m21;) 183(param) 186:6(floate5m2_t) Load 51(b) 187: 12(float) FConvert 186 Store 188(param) 187 189:6(floate5m2_t) FunctionCall 16(funcf32(f1;) 188(param) 190:6(floate5m2_t) Load 51(b) 191:18(float64_t) FConvert 190 Store 192(param) 191 193:6(floate5m2_t) FunctionCall 22(funcf64(d1;) 192(param) 195:6(floate5m2_t) Load 51(b) 196: 76(int8_t) Bitcast 195 Store 194(i8_1) 196 200: 55(fvec2) Load 57(b2) 201: 197(i8vec2) Bitcast 200 Store 199(i8_2) 201 205: 55(fvec2) Load 57(b2) 206:6(floate5m2_t) Load 51(b) 207:6(floate5m2_t) CompositeExtract 205 0 208:6(floate5m2_t) CompositeExtract 205 1 209: 152(fvec3) CompositeConstruct 207 208 206 210: 202(i8vec3) Bitcast 209 Store 204(i8_3) 210 214: 55(fvec2) Load 57(b2) 215:6(floate5m2_t) CompositeExtract 214 0 216:6(floate5m2_t) CompositeExtract 214 1 217:6(floate5m2_t) CompositeExtract 214 0 218:6(floate5m2_t) CompositeExtract 214 1 219: 24(fvec4) CompositeConstruct 215 216 217 218 220: 211(i8vec4) Bitcast 219 Store 213(i8_4) 220 222:6(floate5m2_t) Load 51(b) 223: 61(int8_t) Bitcast 222 Store 221(u8_1) 223 227: 55(fvec2) Load 57(b2) 228: 224(i8vec2) Bitcast 227 Store 226(u8_2) 228 232: 55(fvec2) Load 57(b2) 233:6(floate5m2_t) Load 51(b) 234:6(floate5m2_t) CompositeExtract 232 0 235:6(floate5m2_t) CompositeExtract 232 1 236: 152(fvec3) CompositeConstruct 234 235 233 237: 229(i8vec3) Bitcast 236 Store 231(u8_3) 237 241: 55(fvec2) Load 57(b2) 242:6(floate5m2_t) CompositeExtract 241 0 243:6(floate5m2_t) CompositeExtract 241 1 244:6(floate5m2_t) CompositeExtract 241 0 245:6(floate5m2_t) CompositeExtract 241 1 246: 24(fvec4) CompositeConstruct 242 243 244 245 247: 238(i8vec4) Bitcast 246 Store 240(u8_4) 247 249: 76(int8_t) Load 194(i8_1) 250:6(floate5m2_t) Bitcast 249 Store 248(f8_1) 250 252: 197(i8vec2) Load 199(i8_2) 253: 55(fvec2) Bitcast 252 Store 251(f8_2) 253 255: 202(i8vec3) Load 204(i8_3) 256: 152(fvec3) Bitcast 255 Store 254(f8_3) 256 259: 211(i8vec4) Load 213(i8_4) 260: 24(fvec4) Bitcast 259 Store 258(f8_4) 260 261: 61(int8_t) Load 221(u8_1) 262:6(floate5m2_t) Bitcast 261 Store 248(f8_1) 262 263: 224(i8vec2) Load 226(u8_2) 264: 55(fvec2) Bitcast 263 Store 251(f8_2) 264 265: 229(i8vec3) Load 231(u8_3) 266: 152(fvec3) Bitcast 265 Store 254(f8_3) 266 267: 238(i8vec4) Load 240(u8_4) 268: 24(fvec4) Bitcast 267 Store 258(f8_4) 268 Return FunctionEnd 10(funcfe5m2(fe5m21;):6(floate5m2_t) Function None 8 9(x): 7(ptr) FunctionParameter 11: Label 38:6(floate5m2_t) Load 9(x) ReturnValue 38 FunctionEnd 16(funcf32(f1;):6(floate5m2_t) Function None 14 15(x): 13(ptr) FunctionParameter 17: Label 41: 12(float) Load 15(x) 42:6(floate5m2_t) FConvert 41 ReturnValue 42 FunctionEnd 22(funcf64(d1;):6(floate5m2_t) Function None 20 21(x): 19(ptr) FunctionParameter 23: Label 45:18(float64_t) Load 21(x) 46:6(floate5m2_t) FConvert 45 ReturnValue 46 FunctionEnd 34(func2(vfe5m24[2];i1;):6(floate5m2_t) Function None 31 32(v): 28(ptr) FunctionParameter 33(i): 30(ptr) FunctionParameter 35: Label 269(b): 7(ptr) Variable Function 292(s): 291(ptr) Variable Function 270: 257(ptr) AccessChain 32(v) 166 271: 24(fvec4) Load 270 272:6(floate5m2_t) CompositeExtract 271 0 273:6(floate5m2_t) CompositeExtract 271 1 274: 55(fvec2) CompositeConstruct 272 273 275: 29(int) Load 33(i) 276:6(floate5m2_t) VectorExtractDynamic 274 275 Store 269(b) 276 277: 257(ptr) AccessChain 32(v) 160 278: 24(fvec4) Load 277 279:6(floate5m2_t) CompositeExtract 278 0 280:6(floate5m2_t) CompositeExtract 278 1 281: 55(fvec2) CompositeConstruct 279 280 283:6(floate5m2_t) CompositeExtract 281 1 Store 269(b) 283 284: 29(int) Load 33(i) 285: 29(int) Load 33(i) 286: 29(int) Load 33(i) 287: 7(ptr) AccessChain 32(v) 285 286 288:6(floate5m2_t) Load 287 289: 7(ptr) AccessChain 32(v) 284 26 Store 289 288 293:6(floate5m2_t) Load 269(b) 294: 7(ptr) AccessChain 292(s) 166 Store 294 293 295: 29(int) Load 33(i) 297: 296(bool) INotEqual 295 166 298:6(floate5m2_t) Load 269(b) 300:6(floate5m2_t) Select 297 298 299 Store 269(b) 300 301: 29(int) Load 33(i) 302: 296(bool) IEqual 301 156 SelectionMerge 304 None BranchConditional 302 303 307 303: Label 305: 7(ptr) AccessChain 32(v) 166 172 306:6(floate5m2_t) Load 305 Store 269(b) 306 Branch 304 307: Label 308: 7(ptr) AccessChain 32(v) 160 282 309:6(floate5m2_t) Load 308 Store 269(b) 309 Branch 304 304: Label 310:6(floate5m2_t) Load 269(b) ReturnValue 310 FunctionEnd 36(saturatedconverts(): 2 Function None 3 37: Label 313(f): 13(ptr) Variable Function 317(f2): 316(ptr) Variable Function 320(b): 7(ptr) Variable Function 323(b2): 56(ptr) Variable Function 326(u): 69(ptr) Variable Function 329(i): 30(ptr) Variable Function 332(mate5m2A): 174(ptr) Variable Function 335(matf16A): 334(ptr) Variable Function 340(matf16C): 339(ptr) Variable Function Store 313(f) 314 318: 12(float) Load 313(f) 319: 315(fvec2) CompositeConstruct 318 318 Store 317(f2) 319 321: 12(float) Load 313(f) 322:6(floate5m2_t) FConvert 321 Store 320(b) 322 324: 315(fvec2) Load 317(f2) 325: 55(fvec2) FConvert 324 Store 323(b2) 325 327: 25(int) Load 326(u) 328:6(floate5m2_t) ConvertUToF 327 Store 320(b) 328 330: 29(int) Load 329(i) 331:6(floate5m2_t) ConvertSToF 330 Store 320(b) 331 336: 333 Load 335(matf16A) 337: 173 FConvert 336 Store 332(mate5m2A) 337 341: 338 Load 340(matf16C) 342: 173 FConvert 341 Store 332(mate5m2A) 342 343: 333 Load 335(matf16A) 344: 173 FConvert 343 Store 332(mate5m2A) 344 345: 338 Load 340(matf16C) 346: 173 FConvert 345 Store 332(mate5m2A) 346 Return FunctionEnd