#version 460
layout(local_size_x = 4, local_size_y = 1, local_size_z = 1) in;

layout(set = 0, binding = 0, r32ui) uniform writeonly uimageBuffer _8;

shared uint _12[4];

void main()
{
    imageStore(_8, int(0u), uvec4(floatBitsToUint(uintBitsToFloat(_12[2u]))));
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 26
; Schema: 0
OpCapability Shader
OpCapability ImageBuffer
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main"
OpExecutionMode %3 LocalSize 4 1 1
OpName %3 "main"
OpDecorate %8 DescriptorSet 0
OpDecorate %8 Binding 0
OpDecorate %8 NonReadable
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeInt 32 0
%6 = OpTypeImage %5 Buffer 0 0 0 2 R32ui
%7 = OpTypePointer UniformConstant %6
%8 = OpVariable %7 UniformConstant
%9 = OpConstant %5 4
%10 = OpTypeArray %5 %9
%11 = OpTypePointer Workgroup %10
%12 = OpVariable %11 Workgroup
%14 = OpTypePointer Workgroup %5
%16 = OpConstant %5 2
%18 = OpTypeFloat 32
%20 = OpConstant %5 0
%22 = OpTypeVector %5 4
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %24
%24 = OpLabel
%13 = OpLoad %6 %8
%15 = OpAccessChain %14 %12 %16
%17 = OpLoad %5 %15
%19 = OpBitcast %18 %17
%21 = OpBitcast %5 %19
%23 = OpCompositeConstruct %22 %21 %21 %21 %21
OpImageWrite %13 %20 %23
OpReturn
OpFunctionEnd
#endif
