blob: 545922273c529d885b33662e07a5c52daa229e79 [file] [log] [blame] [edit]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 66
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %deref_modf "deref_modf"
OpName %__modf_result_f32 "__modf_result_f32"
OpMemberName %__modf_result_f32 0 "fract"
OpMemberName %__modf_result_f32 1 "whole"
OpName %a "a"
OpName %fract "fract"
OpName %whole "whole"
OpName %no_deref_modf "no_deref_modf"
OpName %a_0 "a"
OpName %fract_0 "fract"
OpName %whole_0 "whole"
OpName %deref_frexp "deref_frexp"
OpName %__frexp_result_f32 "__frexp_result_f32"
OpMemberName %__frexp_result_f32 0 "fract"
OpMemberName %__frexp_result_f32 1 "exp"
OpName %a_1 "a"
OpName %fract_1 "fract"
OpName %exp "exp"
OpName %no_deref_frexp "no_deref_frexp"
OpName %a_2 "a"
OpName %fract_2 "fract"
OpName %exp_0 "exp"
OpName %main "main"
OpMemberDecorate %__modf_result_f32 0 Offset 0
OpMemberDecorate %__modf_result_f32 1 Offset 4
OpMemberDecorate %__frexp_result_f32 0 Offset 0
OpMemberDecorate %__frexp_result_f32 1 Offset 4
%void = OpTypeVoid
%1 = OpTypeFunction %void
%float = OpTypeFloat 32
%__modf_result_f32 = OpTypeStruct %float %float
%float_0_5 = OpConstant %float 0.5
%float_1 = OpConstant %float 1
%9 = OpConstantComposite %__modf_result_f32 %float_0_5 %float_1
%_ptr_Function___modf_result_f32 = OpTypePointer Function %__modf_result_f32
%12 = OpConstantNull %__modf_result_f32
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%19 = OpConstantNull %float
%uint_1 = OpConstant %uint 1
%int = OpTypeInt 32 1
%__frexp_result_f32 = OpTypeStruct %float %int
%float_0_75 = OpConstant %float 0.75
%int_1 = OpConstant %int 1
%39 = OpConstantComposite %__frexp_result_f32 %float_0_75 %int_1
%_ptr_Function___frexp_result_f32 = OpTypePointer Function %__frexp_result_f32
%42 = OpConstantNull %__frexp_result_f32
%_ptr_Function_int = OpTypePointer Function %int
%50 = OpConstantNull %int
%deref_modf = OpFunction %void None %1
%4 = OpLabel
%a = OpVariable %_ptr_Function___modf_result_f32 Function %12
%fract = OpVariable %_ptr_Function_float Function %19
%whole = OpVariable %_ptr_Function_float Function %19
OpStore %a %9
%16 = OpAccessChain %_ptr_Function_float %a %uint_0
%17 = OpLoad %float %16
OpStore %fract %17
%21 = OpAccessChain %_ptr_Function_float %a %uint_1
%22 = OpLoad %float %21
OpStore %whole %22
OpReturn
OpFunctionEnd
%no_deref_modf = OpFunction %void None %1
%25 = OpLabel
%a_0 = OpVariable %_ptr_Function___modf_result_f32 Function %12
%fract_0 = OpVariable %_ptr_Function_float Function %19
%whole_0 = OpVariable %_ptr_Function_float Function %19
OpStore %a_0 %9
%27 = OpAccessChain %_ptr_Function_float %a_0 %uint_0
%28 = OpLoad %float %27
OpStore %fract_0 %28
%30 = OpAccessChain %_ptr_Function_float %a_0 %uint_1
%31 = OpLoad %float %30
OpStore %whole_0 %31
OpReturn
OpFunctionEnd
%deref_frexp = OpFunction %void None %1
%34 = OpLabel
%a_1 = OpVariable %_ptr_Function___frexp_result_f32 Function %42
%fract_1 = OpVariable %_ptr_Function_float Function %19
%exp = OpVariable %_ptr_Function_int Function %50
OpStore %a_1 %39
%43 = OpAccessChain %_ptr_Function_float %a_1 %uint_0
%44 = OpLoad %float %43
OpStore %fract_1 %44
%47 = OpAccessChain %_ptr_Function_int %a_1 %uint_1
%48 = OpLoad %int %47
OpStore %exp %48
OpReturn
OpFunctionEnd
%no_deref_frexp = OpFunction %void None %1
%52 = OpLabel
%a_2 = OpVariable %_ptr_Function___frexp_result_f32 Function %42
%fract_2 = OpVariable %_ptr_Function_float Function %19
%exp_0 = OpVariable %_ptr_Function_int Function %50
OpStore %a_2 %39
%54 = OpAccessChain %_ptr_Function_float %a_2 %uint_0
%55 = OpLoad %float %54
OpStore %fract_2 %55
%57 = OpAccessChain %_ptr_Function_int %a_2 %uint_1
%58 = OpLoad %int %57
OpStore %exp_0 %58
OpReturn
OpFunctionEnd
%main = OpFunction %void None %1
%61 = OpLabel
%62 = OpFunctionCall %void %deref_modf
%63 = OpFunctionCall %void %no_deref_modf
%64 = OpFunctionCall %void %deref_frexp
%65 = OpFunctionCall %void %no_deref_frexp
OpReturn
OpFunctionEnd