blob: 03156763663b5357431d0ee85441fd1e38e8a796 [file]
spv.longVectorBuiltinsuint32.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 128
Capability Shader
Capability LongVectorEXT
Capability ExpectAssumeKHR
Extension "SPV_EXT_long_vector"
Extension "SPV_KHR_expect_assume"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 64 1 1
Source GLSL 450
SourceExtension "GL_EXT_buffer_reference"
SourceExtension "GL_EXT_expect_assume"
SourceExtension "GL_EXT_long_vector"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
SourceExtension "GL_KHR_memory_scope_semantics"
Name 4 "main"
Name 9 "vu"
Name 12 "u"
Name 41 "vb"
Name 62 "tempReturn"
Name 65 "tempArg"
Name 66 "ResType"
Name 72 "tempReturn"
Name 75 "tempArg"
Name 83 "tempArg"
Name 84 "tempArg"
Name 93 "i"
Name 106 "vi"
Decorate 127 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 5
8: TypePointer Function 7(ivec)
11: TypePointer Function 6(int)
38: TypeBool
39: TypeVector 38(bool) 5
40: TypePointer Function 39(bvec)
66(ResType): TypeStruct 7(ivec) 7(ivec)
91: TypeInt 32 1
92: TypePointer Function 91(int)
104: TypeVector 91(int) 5
105: TypePointer Function 104(ivec)
124: TypeVector 6(int) 3
125: 6(int) Constant 64
126: 6(int) Constant 1
127: 124(ivec3) ConstantComposite 125 126 126
4(main): 2 Function None 3
5: Label
9(vu): 8(ptr) Variable Function
12(u): 11(ptr) Variable Function
41(vb): 40(ptr) Variable Function
62(tempReturn): 8(ptr) Variable Function
65(tempArg): 8(ptr) Variable Function
72(tempReturn): 8(ptr) Variable Function
75(tempArg): 8(ptr) Variable Function
83(tempArg): 8(ptr) Variable Function
84(tempArg): 8(ptr) Variable Function
93(i): 92(ptr) Variable Function
106(vi): 105(ptr) Variable Function
10: 7(ivec) Load 9(vu)
13: 6(int) Load 12(u)
14: 7(ivec) CompositeConstruct 13 13 13 13 13
15: 7(ivec) ExtInst 1(GLSL.std.450) 38(UMin) 10 14
Store 9(vu) 15
16: 7(ivec) Load 9(vu)
17: 7(ivec) Load 9(vu)
18: 7(ivec) ExtInst 1(GLSL.std.450) 38(UMin) 16 17
Store 9(vu) 18
19: 7(ivec) Load 9(vu)
20: 6(int) Load 12(u)
21: 7(ivec) CompositeConstruct 20 20 20 20 20
22: 7(ivec) ExtInst 1(GLSL.std.450) 41(UMax) 19 21
Store 9(vu) 22
23: 7(ivec) Load 9(vu)
24: 7(ivec) Load 9(vu)
25: 7(ivec) ExtInst 1(GLSL.std.450) 41(UMax) 23 24
Store 9(vu) 25
26: 7(ivec) Load 9(vu)
27: 6(int) Load 12(u)
28: 6(int) Load 12(u)
29: 7(ivec) CompositeConstruct 27 27 27 27 27
30: 7(ivec) CompositeConstruct 28 28 28 28 28
31: 7(ivec) ExtInst 1(GLSL.std.450) 44(UClamp) 26 29 30
Store 9(vu) 31
32: 7(ivec) Load 9(vu)
33: 7(ivec) Load 9(vu)
34: 7(ivec) Load 9(vu)
35: 7(ivec) ExtInst 1(GLSL.std.450) 44(UClamp) 32 33 34
Store 9(vu) 35
36: 7(ivec) Load 9(vu)
37: 7(ivec) Load 9(vu)
42: 39(bvec) Load 41(vb)
43: 7(ivec) Select 42 37 36
Store 9(vu) 43
44: 7(ivec) Load 9(vu)
45: 7(ivec) Load 9(vu)
46: 39(bvec) ULessThan 44 45
Store 41(vb) 46
47: 7(ivec) Load 9(vu)
48: 7(ivec) Load 9(vu)
49: 39(bvec) ULessThanEqual 47 48
Store 41(vb) 49
50: 7(ivec) Load 9(vu)
51: 7(ivec) Load 9(vu)
52: 39(bvec) UGreaterThan 50 51
Store 41(vb) 52
53: 7(ivec) Load 9(vu)
54: 7(ivec) Load 9(vu)
55: 39(bvec) UGreaterThanEqual 53 54
Store 41(vb) 55
56: 7(ivec) Load 9(vu)
57: 7(ivec) Load 9(vu)
58: 39(bvec) IEqual 56 57
Store 41(vb) 58
59: 7(ivec) Load 9(vu)
60: 7(ivec) Load 9(vu)
61: 39(bvec) INotEqual 59 60
Store 41(vb) 61
63: 7(ivec) Load 9(vu)
64: 7(ivec) Load 9(vu)
67: 66(ResType) IAddCarry 63 64
68: 7(ivec) CompositeExtract 67 1
Store 65(tempArg) 68
69: 7(ivec) CompositeExtract 67 0
Store 62(tempReturn) 69
70: 7(ivec) Load 65(tempArg)
Store 9(vu) 70
71: 7(ivec) Load 62(tempReturn)
Store 9(vu) 71
73: 7(ivec) Load 9(vu)
74: 7(ivec) Load 9(vu)
76: 66(ResType) ISubBorrow 73 74
77: 7(ivec) CompositeExtract 76 1
Store 75(tempArg) 77
78: 7(ivec) CompositeExtract 76 0
Store 72(tempReturn) 78
79: 7(ivec) Load 75(tempArg)
Store 9(vu) 79
80: 7(ivec) Load 72(tempReturn)
Store 9(vu) 80
81: 7(ivec) Load 9(vu)
82: 7(ivec) Load 9(vu)
85: 66(ResType) UMulExtended 81 82
86: 7(ivec) CompositeExtract 85 0
Store 84(tempArg) 86
87: 7(ivec) CompositeExtract 85 1
Store 83(tempArg) 87
88: 7(ivec) Load 83(tempArg)
Store 9(vu) 88
89: 7(ivec) Load 84(tempArg)
Store 9(vu) 89
90: 7(ivec) Load 9(vu)
94: 91(int) Load 93(i)
95: 91(int) Load 93(i)
96: 7(ivec) BitFieldUExtract 90 94 95
Store 9(vu) 96
97: 7(ivec) Load 9(vu)
98: 7(ivec) Load 9(vu)
99: 91(int) Load 93(i)
100: 91(int) Load 93(i)
101: 7(ivec) BitFieldInsert 97 98 99 100
Store 9(vu) 101
102: 7(ivec) Load 9(vu)
103: 7(ivec) BitReverse 102
Store 9(vu) 103
107: 7(ivec) Load 9(vu)
108: 104(ivec) BitCount 107
Store 106(vi) 108
109: 7(ivec) Load 9(vu)
110: 104(ivec) ExtInst 1(GLSL.std.450) 73(FindILsb) 109
Store 106(vi) 110
111: 7(ivec) Load 9(vu)
112: 104(ivec) ExtInst 1(GLSL.std.450) 75(FindUMsb) 111
Store 106(vi) 112
113: 7(ivec) Load 9(vu)
114: 7(ivec) Load 9(vu)
115: 39(bvec) Load 41(vb)
116: 7(ivec) Select 115 114 113
Store 9(vu) 116
117: 39(bvec) Load 41(vb)
118: 39(bvec) Load 41(vb)
119: 39(bvec) Load 41(vb)
120: 39(bvec) Select 119 118 117
Store 41(vb) 120
121: 7(ivec) Load 9(vu)
122: 7(ivec) Load 9(vu)
123: 7(ivec) ExpectKHR 121 122
Store 9(vu) 123
Return
FunctionEnd