Add conversion folding when the source is a constant.
[platform/upstream/glslang.git] / Test / baseResults / spv.8bitstorage-int.frag.out
1 spv.8bitstorage-int.frag
2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 172
5
6                               Capability Shader
7                               Capability CapabilityUniformAndStorageBuffer8BitAccess
8                               Extension  "SPV_KHR_8bit_storage"
9                1:             ExtInstImport  "GLSL.std.450"
10                               MemoryModel Logical GLSL450
11                               EntryPoint Fragment 4  "main"
12                               ExecutionMode 4 OriginUpperLeft
13                               Source GLSL 450
14                               SourceExtension  "GL_EXT_shader_8bit_storage"
15                               Name 4  "main"
16                               Name 12  "S"
17                               MemberName 12(S) 0  "x"
18                               MemberName 12(S) 1  "y"
19                               MemberName 12(S) 2  "z"
20                               Name 17  "B2"
21                               MemberName 17(B2) 0  "o"
22                               MemberName 17(B2) 1  "p"
23                               MemberName 17(B2) 2  "q"
24                               MemberName 17(B2) 3  "r"
25                               MemberName 17(B2) 4  "u"
26                               MemberName 17(B2) 5  "v"
27                               MemberName 17(B2) 6  "x"
28                               MemberName 17(B2) 7  "w"
29                               Name 19  "b2"
30                               Name 23  "S"
31                               MemberName 23(S) 0  "x"
32                               MemberName 23(S) 1  "y"
33                               MemberName 23(S) 2  "z"
34                               Name 25  "B1"
35                               MemberName 25(B1) 0  "a"
36                               MemberName 25(B1) 1  "b"
37                               MemberName 25(B1) 2  "c"
38                               MemberName 25(B1) 3  "d"
39                               MemberName 25(B1) 4  "g"
40                               MemberName 25(B1) 5  "h"
41                               MemberName 25(B1) 6  "j"
42                               Name 27  "b1"
43                               Name 45  "S"
44                               MemberName 45(S) 0  "x"
45                               MemberName 45(S) 1  "y"
46                               MemberName 45(S) 2  "z"
47                               Name 49  "B5"
48                               MemberName 49(B5) 0  "o"
49                               MemberName 49(B5) 1  "p"
50                               MemberName 49(B5) 2  "q"
51                               MemberName 49(B5) 3  "r"
52                               MemberName 49(B5) 4  "u"
53                               MemberName 49(B5) 5  "v"
54                               MemberName 49(B5) 6  "x"
55                               MemberName 49(B5) 7  "w"
56                               Name 51  "b5"
57                               Name 69  "x0"
58                               Name 75  "x1"
59                               Name 88  "S2"
60                               MemberName 88(S2) 0  "x"
61                               MemberName 88(S2) 1  "y"
62                               MemberName 88(S2) 2  "z"
63                               Name 89  "S3"
64                               MemberName 89(S3) 0  "x"
65                               Name 90  "B4"
66                               MemberName 90(B4) 0  "x"
67                               MemberName 90(B4) 1  "y"
68                               Name 92  "b4"
69                               Name 93  "S2"
70                               MemberName 93(S2) 0  "x"
71                               MemberName 93(S2) 1  "y"
72                               MemberName 93(S2) 2  "z"
73                               Name 94  "B3"
74                               MemberName 94(B3) 0  "x"
75                               Name 96  "b3"
76                               Name 113  "v3"
77                               Name 135  "u3"
78                               Decorate 11 ArrayStride 1
79                               MemberDecorate 12(S) 0 Offset 0
80                               MemberDecorate 12(S) 1 Offset 2
81                               MemberDecorate 12(S) 2 Offset 4
82                               Decorate 13 ArrayStride 8
83                               Decorate 15 ArrayStride 2
84                               Decorate 16 ArrayStride 1
85                               MemberDecorate 17(B2) 0 Offset 0
86                               MemberDecorate 17(B2) 1 Offset 2
87                               MemberDecorate 17(B2) 2 Offset 4
88                               MemberDecorate 17(B2) 3 Offset 7
89                               MemberDecorate 17(B2) 4 Offset 12
90                               MemberDecorate 17(B2) 5 Offset 20
91                               MemberDecorate 17(B2) 6 Offset 36
92                               MemberDecorate 17(B2) 7 Offset 236
93                               Decorate 17(B2) BufferBlock
94                               Decorate 19(b2) DescriptorSet 0
95                               Decorate 22 ArrayStride 16
96                               MemberDecorate 23(S) 0 Offset 0
97                               MemberDecorate 23(S) 1 Offset 2
98                               MemberDecorate 23(S) 2 Offset 4
99                               Decorate 24 ArrayStride 16
100                               MemberDecorate 25(B1) 0 Offset 0
101                               MemberDecorate 25(B1) 1 Offset 2
102                               MemberDecorate 25(B1) 2 Offset 4
103                               MemberDecorate 25(B1) 3 Offset 16
104                               MemberDecorate 25(B1) 4 Offset 48
105                               MemberDecorate 25(B1) 5 Offset 64
106                               MemberDecorate 25(B1) 6 Offset 96
107                               Decorate 25(B1) Block
108                               Decorate 27(b1) DescriptorSet 0
109                               Decorate 44 ArrayStride 16
110                               MemberDecorate 45(S) 0 Offset 0
111                               MemberDecorate 45(S) 1 Offset 2
112                               MemberDecorate 45(S) 2 Offset 4
113                               Decorate 46 ArrayStride 16
114                               Decorate 47 ArrayStride 16
115                               Decorate 48 ArrayStride 16
116                               MemberDecorate 49(B5) 0 Offset 0
117                               MemberDecorate 49(B5) 1 Offset 2
118                               MemberDecorate 49(B5) 2 Offset 4
119                               MemberDecorate 49(B5) 3 Offset 16
120                               MemberDecorate 49(B5) 4 Offset 48
121                               MemberDecorate 49(B5) 5 Offset 64
122                               MemberDecorate 49(B5) 6 Offset 96
123                               MemberDecorate 49(B5) 7 Offset 1696
124                               Decorate 49(B5) Block
125                               Decorate 51(b5) DescriptorSet 0
126                               MemberDecorate 88(S2) 0 ColMajor
127                               MemberDecorate 88(S2) 0 Offset 0
128                               MemberDecorate 88(S2) 0 MatrixStride 16
129                               MemberDecorate 88(S2) 1 Offset 64
130                               MemberDecorate 88(S2) 2 Offset 68
131                               MemberDecorate 89(S3) 0 Offset 0
132                               MemberDecorate 90(B4) 0 Offset 0
133                               MemberDecorate 90(B4) 1 Offset 80
134                               Decorate 90(B4) BufferBlock
135                               Decorate 92(b4) DescriptorSet 0
136                               MemberDecorate 93(S2) 0 RowMajor
137                               MemberDecorate 93(S2) 0 Offset 0
138                               MemberDecorate 93(S2) 0 MatrixStride 16
139                               MemberDecorate 93(S2) 1 Offset 64
140                               MemberDecorate 93(S2) 2 Offset 68
141                               MemberDecorate 94(B3) 0 Offset 0
142                               Decorate 94(B3) BufferBlock
143                               Decorate 96(b3) DescriptorSet 0
144                2:             TypeVoid
145                3:             TypeFunction 2
146                6:             TypeInt 8 1
147                7:             TypeVector 6(int8_t) 2
148                8:             TypeVector 6(int8_t) 3
149                9:             TypeInt 32 0
150               10:      9(int) Constant 2
151               11:             TypeArray 6(int8_t) 10
152            12(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
153               13:             TypeArray 12(S) 10
154               14:      9(int) Constant 100
155               15:             TypeArray 7(i8vec2) 14
156               16:             TypeRuntimeArray 6(int8_t)
157           17(B2):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 11 12(S) 13 15 16
158               18:             TypePointer Uniform 17(B2)
159           19(b2):     18(ptr) Variable Uniform
160               20:             TypeInt 32 1
161               21:     20(int) Constant 0
162               22:             TypeArray 6(int8_t) 10
163            23(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
164               24:             TypeArray 23(S) 10
165           25(B1):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 22 23(S) 24 20(int)
166               26:             TypePointer Uniform 25(B1)
167           27(b1):     26(ptr) Variable Uniform
168               28:             TypePointer Uniform 6(int8_t)
169               32:     20(int) Constant 1
170               33:     20(int) Constant 2
171               34:             TypePointer Uniform 8(i8vec3)
172               37:             TypeVector 20(int) 3
173               39:             TypeVector 20(int) 2
174               42:             TypePointer Uniform 7(i8vec2)
175               44:             TypeArray 6(int8_t) 10
176            45(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
177               46:             TypeArray 45(S) 10
178               47:             TypeArray 7(i8vec2) 14
179               48:             TypeArray 6(int8_t) 14
180           49(B5):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 44 45(S) 46 47 48
181               50:             TypePointer Uniform 49(B5)
182           51(b5):     50(ptr) Variable Uniform
183               58:     20(int) Constant 3
184               68:             TypePointer Function 20(int)
185               73:             TypeVector 20(int) 4
186               74:             TypePointer Function 73(ivec4)
187               85:             TypeFloat 32
188               86:             TypeVector 85(float) 4
189               87:             TypeMatrix 86(fvec4) 4
190           88(S2):             TypeStruct 87 6(int8_t) 20(int)
191           89(S3):             TypeStruct 88(S2)
192           90(B4):             TypeStruct 88(S2) 89(S3)
193               91:             TypePointer Uniform 90(B4)
194           92(b4):     91(ptr) Variable Uniform
195           93(S2):             TypeStruct 87 6(int8_t) 20(int)
196           94(B3):             TypeStruct 93(S2)
197               95:             TypePointer Uniform 94(B3)
198           96(b3):     95(ptr) Variable Uniform
199               97:             TypePointer Uniform 87
200              104:      9(int) Constant 0
201              108:     20(int) Constant 5
202              112:             TypePointer Function 37(ivec3)
203              114:     20(int) Constant 7
204              115:     20(int) Constant 6
205              116:             TypePointer Uniform 20(int)
206              166:   6(int8_t) Constant 1
207              167:   6(int8_t) Constant 2
208              168:   7(i8vec2) ConstantComposite 166 167
209              170:   6(int8_t) Constant 3
210          4(main):           2 Function None 3
211                5:             Label
212           69(x0):     68(ptr) Variable Function
213           75(x1):     74(ptr) Variable Function
214          113(v3):    112(ptr) Variable Function
215          135(u3):    112(ptr) Variable Function
216               29:     28(ptr) AccessChain 27(b1) 21
217               30:   6(int8_t) Load 29
218               31:     28(ptr) AccessChain 19(b2) 21
219                               Store 31 30
220               35:     34(ptr) AccessChain 19(b2) 33
221               36:   8(i8vec3) Load 35
222               38:   37(ivec3) SConvert 36
223               40:   39(ivec2) VectorShuffle 38 38 0 1
224               41:   7(i8vec2) SConvert 40
225               43:     42(ptr) AccessChain 19(b2) 32
226                               Store 43 41
227               52:     34(ptr) AccessChain 51(b5) 33
228               53:   8(i8vec3) Load 52
229               54:   37(ivec3) SConvert 53
230               55:   39(ivec2) VectorShuffle 54 54 0 1
231               56:   7(i8vec2) SConvert 55
232               57:     42(ptr) AccessChain 19(b2) 32
233                               Store 57 56
234               59:     28(ptr) AccessChain 19(b2) 58 21
235               60:   6(int8_t) Load 59
236               61:     28(ptr) AccessChain 19(b2) 58 21
237                               Store 61 60
238               62:     28(ptr) AccessChain 51(b5) 58 32
239               63:   6(int8_t) Load 62
240               64:     28(ptr) AccessChain 19(b2) 58 32
241                               Store 64 63
242               65:     42(ptr) AccessChain 19(b2) 32
243               66:   7(i8vec2) Load 65
244               67:     42(ptr) AccessChain 19(b2) 32
245                               Store 67 66
246               70:     28(ptr) AccessChain 27(b1) 21
247               71:   6(int8_t) Load 70
248               72:     20(int) SConvert 71
249                               Store 69(x0) 72
250               76:     28(ptr) AccessChain 27(b1) 21
251               77:   6(int8_t) Load 76
252               78:     20(int) SConvert 77
253               79:     42(ptr) AccessChain 19(b2) 32
254               80:   7(i8vec2) Load 79
255               81:   39(ivec2) SConvert 80
256               82:     20(int) CompositeExtract 81 0
257               83:     20(int) CompositeExtract 81 1
258               84:   73(ivec4) CompositeConstruct 78 82 83 32
259                               Store 75(x1) 84
260               98:     97(ptr) AccessChain 96(b3) 21 21
261               99:          87 Load 98
262              100:     97(ptr) AccessChain 92(b4) 21 21
263                               Store 100 99
264              101:     42(ptr) AccessChain 19(b2) 32
265              102:   7(i8vec2) Load 101
266              103:   39(ivec2) SConvert 102
267              105:     20(int) CompositeExtract 103 0
268              106:   6(int8_t) SConvert 105
269              107:     28(ptr) AccessChain 19(b2) 21
270                               Store 107 106
271              109:     42(ptr) AccessChain 19(b2) 108 32 32
272              110:   7(i8vec2) Load 109
273              111:     42(ptr) AccessChain 19(b2) 32
274                               Store 111 110
275              117:    116(ptr) AccessChain 27(b1) 115
276              118:     20(int) Load 117
277              119:     28(ptr) AccessChain 19(b2) 114 118
278              120:   6(int8_t) Load 119
279              121:     20(int) SConvert 120
280              122:    116(ptr) AccessChain 27(b1) 115
281              123:     20(int) Load 122
282              124:     20(int) IAdd 123 32
283              125:     28(ptr) AccessChain 19(b2) 114 124
284              126:   6(int8_t) Load 125
285              127:     20(int) SConvert 126
286              128:    116(ptr) AccessChain 27(b1) 115
287              129:     20(int) Load 128
288              130:     20(int) IAdd 129 33
289              131:     28(ptr) AccessChain 19(b2) 114 130
290              132:   6(int8_t) Load 131
291              133:     20(int) SConvert 132
292              134:   37(ivec3) CompositeConstruct 121 127 133
293                               Store 113(v3) 134
294              136:    116(ptr) AccessChain 27(b1) 115
295              137:     20(int) Load 136
296              138:     28(ptr) AccessChain 51(b5) 114 137
297              139:   6(int8_t) Load 138
298              140:     20(int) SConvert 139
299              141:    116(ptr) AccessChain 27(b1) 115
300              142:     20(int) Load 141
301              143:     20(int) IAdd 142 32
302              144:     28(ptr) AccessChain 51(b5) 114 143
303              145:   6(int8_t) Load 144
304              146:     20(int) SConvert 145
305              147:    116(ptr) AccessChain 27(b1) 115
306              148:     20(int) Load 147
307              149:     20(int) IAdd 148 33
308              150:     28(ptr) AccessChain 51(b5) 114 149
309              151:   6(int8_t) Load 150
310              152:     20(int) SConvert 151
311              153:   37(ivec3) CompositeConstruct 140 146 152
312                               Store 135(u3) 153
313              154:     42(ptr) AccessChain 19(b2) 115 21
314              155:   7(i8vec2) Load 154
315              156:     42(ptr) AccessChain 19(b2) 115 21
316                               Store 156 155
317              157:     42(ptr) AccessChain 51(b5) 115 32
318              158:   7(i8vec2) Load 157
319              159:     42(ptr) AccessChain 19(b2) 115 32
320                               Store 159 158
321              160:     28(ptr) AccessChain 27(b1) 21
322              161:   6(int8_t) Load 160
323              162:     28(ptr) AccessChain 19(b2) 32 104
324                               Store 162 161
325              163:     28(ptr) AccessChain 19(b2) 32 104
326              164:   6(int8_t) Load 163
327              165:     28(ptr) AccessChain 19(b2) 21
328                               Store 165 164
329              169:     42(ptr) AccessChain 19(b2) 32
330                               Store 169 168
331              171:     28(ptr) AccessChain 19(b2) 21
332                               Store 171 170
333                               Return
334                               FunctionEnd