blob: 1e8eb02fd5ccc72c7c9c8c3f6813dc76f07d897e [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
OpExecutionMode %unused_entry_point LocalSize 1 1 1
OpMemberName %S 0 "a"
OpName %S "S"
OpMemberName %tint_symbol_1 0 "tint_symbol"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %foo "foo"
OpName %tint_mod_i32 "tint_mod_i32"
OpName %lhs "lhs"
OpName %rhs "rhs"
OpName %unused_entry_point "unused_entry_point"
OpMemberDecorate %S 0 Offset 0
OpMemberDecorate %tint_symbol_1 0 Offset 0
OpDecorate %tint_symbol_1 Block
OpDecorate %1 DescriptorSet 0
OpDecorate %1 Binding 0
OpDecorate %1 Coherent
%int = OpTypeInt 32 1
%S = OpTypeStruct %int
%tint_symbol_1 = OpTypeStruct %S
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
%1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
%void = OpTypeVoid
%8 = OpTypeFunction %void
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%int_2 = OpConstant %int 2
%20 = OpTypeFunction %int %int %int
%int_0 = OpConstant %int 0
%bool = OpTypeBool
%int_n2147483648 = OpConstant %int -2147483648
%int_n1 = OpConstant %int -1
%int_1 = OpConstant %int 1
%foo = OpFunction %void None %8
%9 = OpLabel
%10 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 %uint_0
%14 = OpLoad %int %10 None
%15 = OpFunctionCall %int %tint_mod_i32 %14 %int_2
OpStore %10 %15 None
OpReturn
OpFunctionEnd
%tint_mod_i32 = OpFunction %int None %20
%lhs = OpFunctionParameter %int
%rhs = OpFunctionParameter %int
%21 = OpLabel
%22 = OpIEqual %bool %rhs %int_0
%25 = OpIEqual %bool %lhs %int_n2147483648
%27 = OpIEqual %bool %rhs %int_n1
%29 = OpLogicalAnd %bool %25 %27
%30 = OpLogicalOr %bool %22 %29
%31 = OpSelect %int %30 %int_1 %rhs
%33 = OpSDiv %int %lhs %31
%34 = OpIMul %int %33 %31
%35 = OpISub %int %lhs %34
OpReturnValue %35
OpFunctionEnd
%unused_entry_point = OpFunction %void None %8
%37 = OpLabel
OpReturn
OpFunctionEnd