1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 7
4; Bound: 30
5; Schema: 0
6               OpCapability Shader
7               OpCapability Int64
8          %1 = OpExtInstImport "GLSL.std.450"
9               OpMemoryModel Logical GLSL450
10               OpEntryPoint GLCompute %main "main"
11               OpExecutionMode %main LocalSize 1 1 1
12               OpSource GLSL 450
13               OpSourceExtension "GL_ARB_gpu_shader_int64"
14               OpName %main "main"
15               OpName %SSBO "SSBO"
16               OpMemberName %SSBO 0 "s64"
17               OpMemberName %SSBO 1 "u64"
18               OpName %_ ""
19               OpName %ConstantInt "ConstantInt"
20               OpName %ConstantInt64_1 "ConstantInt64_1"
21               OpName %ConstantUint "ConstantUint"
22               OpName %ConstantInt64_2 "ConstantInt64_2"
23               OpName %ConstantUint64_1 "ConstantUint64_1"
24               OpName %ConstantUint64_2 "ConstantUint64_2"
25               OpMemberDecorate %SSBO 0 Offset 0
26               OpMemberDecorate %SSBO 1 Offset 4
27               OpDecorate %SSBO BufferBlock
28               OpDecorate %_ DescriptorSet 0
29               OpDecorate %_ Binding 0
30               OpDecorate %ConstantInt SpecId 0
31               OpDecorate %ConstantUint SpecId 1
32       %void = OpTypeVoid
33          %3 = OpTypeFunction %void
34        %int = OpTypeInt 32 1
35       %uint = OpTypeInt 32 0
36       %long = OpTypeInt 64 1
37      %ulong = OpTypeInt 64 0
38       %SSBO = OpTypeStruct %int %uint
39%_ptr_Uniform_SSBO = OpTypePointer Uniform %SSBO
40          %_ = OpVariable %_ptr_Uniform_SSBO Uniform
41      %int_0 = OpConstant %int 0
42    %ulong_0 = OpConstant %ulong 0
43%ConstantInt = OpSpecConstant %int 1
44%ConstantUint = OpSpecConstant %uint 2
45%ConstantInt64_1 = OpSpecConstantOp %long SConvert %ConstantInt
46%ConstantInt64_2 = OpSpecConstantOp %long SConvert %ConstantUint
47%ConstantUint64_1 = OpSpecConstantOp %ulong SConvert %ConstantInt
48%ConstantUint64_2 = OpSpecConstantOp %ulong SConvert %ConstantUint
49         %added_long = OpSpecConstantOp %long IAdd %ConstantInt64_1 %ConstantInt64_2
50         %added_ulong = OpSpecConstantOp %ulong IAdd %ConstantUint64_1 %ConstantUint64_2
51		 %trunc_long = OpSpecConstantOp %int SConvert %added_long
52		 %trunc_ulong = OpSpecConstantOp %uint SConvert %added_ulong
53%_ptr_Uniform_int = OpTypePointer Uniform %int
54      %int_1 = OpConstant %int 1
55%_ptr_Uniform_uint = OpTypePointer Uniform %uint
56       %main = OpFunction %void None %3
57          %5 = OpLabel
58         %22 = OpAccessChain %_ptr_Uniform_int %_ %int_0
59               OpStore %22 %trunc_long
60         %29 = OpAccessChain %_ptr_Uniform_uint %_ %int_1
61               OpStore %29 %trunc_ulong
62               OpReturn
63               OpFunctionEnd
64