wgpu/naga/tests/out/spv/bits.spvasm
2024-05-14 17:57:04 +02:00

304 lines
8.7 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 242
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %15 "main"
OpExecutionMode %15 LocalSize 1 1 1
%2 = OpTypeVoid
%3 = OpTypeInt 32 1
%4 = OpTypeVector %3 2
%5 = OpTypeVector %3 3
%6 = OpTypeVector %3 4
%7 = OpTypeInt 32 0
%8 = OpTypeVector %7 2
%9 = OpTypeVector %7 3
%10 = OpTypeVector %7 4
%12 = OpTypeFloat 32
%11 = OpTypeVector %12 2
%13 = OpTypeVector %12 4
%16 = OpTypeFunction %2
%17 = OpConstant %3 0
%18 = OpConstantComposite %4 %17 %17
%19 = OpConstantComposite %5 %17 %17 %17
%20 = OpConstantComposite %6 %17 %17 %17 %17
%21 = OpConstant %7 0
%22 = OpConstantComposite %8 %21 %21
%23 = OpConstantComposite %9 %21 %21 %21
%24 = OpConstantComposite %10 %21 %21 %21 %21
%25 = OpConstant %12 0.0
%26 = OpConstantComposite %11 %25 %25
%27 = OpConstantComposite %13 %25 %25 %25 %25
%28 = OpConstant %7 5
%29 = OpConstant %7 10
%31 = OpTypePointer Function %3
%33 = OpTypePointer Function %4
%35 = OpTypePointer Function %5
%37 = OpTypePointer Function %6
%39 = OpTypePointer Function %7
%41 = OpTypePointer Function %8
%43 = OpTypePointer Function %9
%45 = OpTypePointer Function %10
%47 = OpTypePointer Function %11
%49 = OpTypePointer Function %13
%63 = OpConstant %7 8
%70 = OpConstant %7 16
%74 = OpConstant %7 24
%112 = OpConstant %7 32
%15 = OpFunction %2 None %16
%14 = OpLabel
%48 = OpVariable %49 Function %27
%42 = OpVariable %43 Function %23
%36 = OpVariable %37 Function %20
%30 = OpVariable %31 Function %17
%44 = OpVariable %45 Function %24
%38 = OpVariable %39 Function %21
%32 = OpVariable %33 Function %18
%46 = OpVariable %47 Function %26
%40 = OpVariable %41 Function %22
%34 = OpVariable %35 Function %19
OpBranch %50
%50 = OpLabel
%51 = OpLoad %13 %48
%52 = OpExtInst %7 %1 PackSnorm4x8 %51
OpStore %38 %52
%53 = OpLoad %13 %48
%54 = OpExtInst %7 %1 PackUnorm4x8 %53
OpStore %38 %54
%55 = OpLoad %11 %46
%56 = OpExtInst %7 %1 PackSnorm2x16 %55
OpStore %38 %56
%57 = OpLoad %11 %46
%58 = OpExtInst %7 %1 PackUnorm2x16 %57
OpStore %38 %58
%59 = OpLoad %11 %46
%60 = OpExtInst %7 %1 PackHalf2x16 %59
OpStore %38 %60
%61 = OpLoad %6 %36
%64 = OpCompositeExtract %3 %61 0
%65 = OpBitcast %7 %64
%66 = OpBitFieldInsert %7 %21 %65 %21 %63
%67 = OpCompositeExtract %3 %61 1
%68 = OpBitcast %7 %67
%69 = OpBitFieldInsert %7 %66 %68 %63 %63
%71 = OpCompositeExtract %3 %61 2
%72 = OpBitcast %7 %71
%73 = OpBitFieldInsert %7 %69 %72 %70 %63
%75 = OpCompositeExtract %3 %61 3
%76 = OpBitcast %7 %75
%62 = OpBitFieldInsert %7 %73 %76 %74 %63
OpStore %38 %62
%77 = OpLoad %10 %44
%79 = OpCompositeExtract %7 %77 0
%80 = OpBitFieldInsert %7 %21 %79 %21 %63
%81 = OpCompositeExtract %7 %77 1
%82 = OpBitFieldInsert %7 %80 %81 %63 %63
%83 = OpCompositeExtract %7 %77 2
%84 = OpBitFieldInsert %7 %82 %83 %70 %63
%85 = OpCompositeExtract %7 %77 3
%78 = OpBitFieldInsert %7 %84 %85 %74 %63
OpStore %38 %78
%86 = OpLoad %7 %38
%87 = OpExtInst %13 %1 UnpackSnorm4x8 %86
OpStore %48 %87
%88 = OpLoad %7 %38
%89 = OpExtInst %13 %1 UnpackUnorm4x8 %88
OpStore %48 %89
%90 = OpLoad %7 %38
%91 = OpExtInst %11 %1 UnpackSnorm2x16 %90
OpStore %46 %91
%92 = OpLoad %7 %38
%93 = OpExtInst %11 %1 UnpackUnorm2x16 %92
OpStore %46 %93
%94 = OpLoad %7 %38
%95 = OpExtInst %11 %1 UnpackHalf2x16 %94
OpStore %46 %95
%96 = OpLoad %7 %38
%98 = OpBitcast %3 %96
%99 = OpBitFieldSExtract %3 %98 %21 %63
%100 = OpBitFieldSExtract %3 %98 %63 %63
%101 = OpBitFieldSExtract %3 %98 %70 %63
%102 = OpBitFieldSExtract %3 %98 %74 %63
%97 = OpCompositeConstruct %6 %99 %100 %101 %102
OpStore %36 %97
%103 = OpLoad %7 %38
%105 = OpBitFieldUExtract %7 %103 %21 %63
%106 = OpBitFieldUExtract %7 %103 %63 %63
%107 = OpBitFieldUExtract %7 %103 %70 %63
%108 = OpBitFieldUExtract %7 %103 %74 %63
%104 = OpCompositeConstruct %10 %105 %106 %107 %108
OpStore %44 %104
%109 = OpLoad %3 %30
%110 = OpLoad %3 %30
%113 = OpExtInst %7 %1 UMin %28 %112
%114 = OpISub %7 %112 %113
%115 = OpExtInst %7 %1 UMin %29 %114
%111 = OpBitFieldInsert %3 %109 %110 %113 %115
OpStore %30 %111
%116 = OpLoad %4 %32
%117 = OpLoad %4 %32
%119 = OpExtInst %7 %1 UMin %28 %112
%120 = OpISub %7 %112 %119
%121 = OpExtInst %7 %1 UMin %29 %120
%118 = OpBitFieldInsert %4 %116 %117 %119 %121
OpStore %32 %118
%122 = OpLoad %5 %34
%123 = OpLoad %5 %34
%125 = OpExtInst %7 %1 UMin %28 %112
%126 = OpISub %7 %112 %125
%127 = OpExtInst %7 %1 UMin %29 %126
%124 = OpBitFieldInsert %5 %122 %123 %125 %127
OpStore %34 %124
%128 = OpLoad %6 %36
%129 = OpLoad %6 %36
%131 = OpExtInst %7 %1 UMin %28 %112
%132 = OpISub %7 %112 %131
%133 = OpExtInst %7 %1 UMin %29 %132
%130 = OpBitFieldInsert %6 %128 %129 %131 %133
OpStore %36 %130
%134 = OpLoad %7 %38
%135 = OpLoad %7 %38
%137 = OpExtInst %7 %1 UMin %28 %112
%138 = OpISub %7 %112 %137
%139 = OpExtInst %7 %1 UMin %29 %138
%136 = OpBitFieldInsert %7 %134 %135 %137 %139
OpStore %38 %136
%140 = OpLoad %8 %40
%141 = OpLoad %8 %40
%143 = OpExtInst %7 %1 UMin %28 %112
%144 = OpISub %7 %112 %143
%145 = OpExtInst %7 %1 UMin %29 %144
%142 = OpBitFieldInsert %8 %140 %141 %143 %145
OpStore %40 %142
%146 = OpLoad %9 %42
%147 = OpLoad %9 %42
%149 = OpExtInst %7 %1 UMin %28 %112
%150 = OpISub %7 %112 %149
%151 = OpExtInst %7 %1 UMin %29 %150
%148 = OpBitFieldInsert %9 %146 %147 %149 %151
OpStore %42 %148
%152 = OpLoad %10 %44
%153 = OpLoad %10 %44
%155 = OpExtInst %7 %1 UMin %28 %112
%156 = OpISub %7 %112 %155
%157 = OpExtInst %7 %1 UMin %29 %156
%154 = OpBitFieldInsert %10 %152 %153 %155 %157
OpStore %44 %154
%158 = OpLoad %3 %30
%160 = OpExtInst %7 %1 UMin %28 %112
%161 = OpISub %7 %112 %160
%162 = OpExtInst %7 %1 UMin %29 %161
%159 = OpBitFieldSExtract %3 %158 %160 %162
OpStore %30 %159
%163 = OpLoad %4 %32
%165 = OpExtInst %7 %1 UMin %28 %112
%166 = OpISub %7 %112 %165
%167 = OpExtInst %7 %1 UMin %29 %166
%164 = OpBitFieldSExtract %4 %163 %165 %167
OpStore %32 %164
%168 = OpLoad %5 %34
%170 = OpExtInst %7 %1 UMin %28 %112
%171 = OpISub %7 %112 %170
%172 = OpExtInst %7 %1 UMin %29 %171
%169 = OpBitFieldSExtract %5 %168 %170 %172
OpStore %34 %169
%173 = OpLoad %6 %36
%175 = OpExtInst %7 %1 UMin %28 %112
%176 = OpISub %7 %112 %175
%177 = OpExtInst %7 %1 UMin %29 %176
%174 = OpBitFieldSExtract %6 %173 %175 %177
OpStore %36 %174
%178 = OpLoad %7 %38
%180 = OpExtInst %7 %1 UMin %28 %112
%181 = OpISub %7 %112 %180
%182 = OpExtInst %7 %1 UMin %29 %181
%179 = OpBitFieldUExtract %7 %178 %180 %182
OpStore %38 %179
%183 = OpLoad %8 %40
%185 = OpExtInst %7 %1 UMin %28 %112
%186 = OpISub %7 %112 %185
%187 = OpExtInst %7 %1 UMin %29 %186
%184 = OpBitFieldUExtract %8 %183 %185 %187
OpStore %40 %184
%188 = OpLoad %9 %42
%190 = OpExtInst %7 %1 UMin %28 %112
%191 = OpISub %7 %112 %190
%192 = OpExtInst %7 %1 UMin %29 %191
%189 = OpBitFieldUExtract %9 %188 %190 %192
OpStore %42 %189
%193 = OpLoad %10 %44
%195 = OpExtInst %7 %1 UMin %28 %112
%196 = OpISub %7 %112 %195
%197 = OpExtInst %7 %1 UMin %29 %196
%194 = OpBitFieldUExtract %10 %193 %195 %197
OpStore %44 %194
%198 = OpLoad %3 %30
%199 = OpExtInst %3 %1 FindILsb %198
OpStore %30 %199
%200 = OpLoad %8 %40
%201 = OpExtInst %8 %1 FindILsb %200
OpStore %40 %201
%202 = OpLoad %5 %34
%203 = OpExtInst %5 %1 FindSMsb %202
OpStore %34 %203
%204 = OpLoad %9 %42
%205 = OpExtInst %9 %1 FindUMsb %204
OpStore %42 %205
%206 = OpLoad %3 %30
%207 = OpExtInst %3 %1 FindSMsb %206
OpStore %30 %207
%208 = OpLoad %7 %38
%209 = OpExtInst %7 %1 FindUMsb %208
OpStore %38 %209
%210 = OpLoad %3 %30
%211 = OpBitCount %3 %210
OpStore %30 %211
%212 = OpLoad %4 %32
%213 = OpBitCount %4 %212
OpStore %32 %213
%214 = OpLoad %5 %34
%215 = OpBitCount %5 %214
OpStore %34 %215
%216 = OpLoad %6 %36
%217 = OpBitCount %6 %216
OpStore %36 %217
%218 = OpLoad %7 %38
%219 = OpBitCount %7 %218
OpStore %38 %219
%220 = OpLoad %8 %40
%221 = OpBitCount %8 %220
OpStore %40 %221
%222 = OpLoad %9 %42
%223 = OpBitCount %9 %222
OpStore %42 %223
%224 = OpLoad %10 %44
%225 = OpBitCount %10 %224
OpStore %44 %225
%226 = OpLoad %3 %30
%227 = OpBitReverse %3 %226
OpStore %30 %227
%228 = OpLoad %4 %32
%229 = OpBitReverse %4 %228
OpStore %32 %229
%230 = OpLoad %5 %34
%231 = OpBitReverse %5 %230
OpStore %34 %231
%232 = OpLoad %6 %36
%233 = OpBitReverse %6 %232
OpStore %36 %233
%234 = OpLoad %7 %38
%235 = OpBitReverse %7 %234
OpStore %38 %235
%236 = OpLoad %8 %40
%237 = OpBitReverse %8 %236
OpStore %40 %237
%238 = OpLoad %9 %42
%239 = OpBitReverse %9 %238
OpStore %42 %239
%240 = OpLoad %10 %44
%241 = OpBitReverse %10 %240
OpStore %44 %241
OpReturn
OpFunctionEnd