mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-08-02 06:09:15 +00:00
Update tests
This commit is contained in:
parent
951c7558cc
commit
9a568e2969
39 changed files with 602 additions and 436 deletions
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %34
|
%1 = OpFunction %void None %34
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %uint %23 Aligned 4
|
%12 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_uint %22
|
%41 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %uint %24 Aligned 4
|
%42 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %41 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_uint %42
|
||||||
|
%14 = OpLoad %uint %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%18 = OpLoad %uint %7
|
%18 = OpLoad %uint %7
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||||
%uint_1 = OpConstant %uint 1
|
%uint_1 = OpConstant %uint 1
|
||||||
%uint_0 = OpConstant %uint 0
|
%uint_0 = OpConstant %uint 0
|
||||||
|
@ -49,9 +50,11 @@
|
||||||
%13 = OpLoad %uint %29 Aligned 4
|
%13 = OpLoad %uint %29 Aligned 4
|
||||||
OpStore %7 %13
|
OpStore %7 %13
|
||||||
%16 = OpLoad %ulong %5
|
%16 = OpLoad %ulong %5
|
||||||
%26 = OpIAdd %ulong %16 %ulong_4
|
%30 = OpConvertUToPtr %_ptr_Generic_uint %16
|
||||||
%30 = OpConvertUToPtr %_ptr_Generic_uint %26
|
%51 = OpBitcast %_ptr_Generic_uchar %30
|
||||||
%15 = OpLoad %uint %30 Aligned 4
|
%52 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %51 %ulong_4
|
||||||
|
%26 = OpBitcast %_ptr_Generic_uint %52
|
||||||
|
%15 = OpLoad %uint %26 Aligned 4
|
||||||
OpStore %8 %15
|
OpStore %8 %15
|
||||||
%17 = OpLoad %uint %7
|
%17 = OpLoad %uint %7
|
||||||
%31 = OpBitcast %_ptr_Workgroup_uint %4
|
%31 = OpBitcast %_ptr_Workgroup_uint %4
|
||||||
|
@ -69,8 +72,10 @@
|
||||||
OpStore %34 %22 Aligned 4
|
OpStore %34 %22 Aligned 4
|
||||||
%23 = OpLoad %ulong %6
|
%23 = OpLoad %ulong %6
|
||||||
%24 = OpLoad %uint %8
|
%24 = OpLoad %uint %8
|
||||||
%28 = OpIAdd %ulong %23 %ulong_4_0
|
%35 = OpConvertUToPtr %_ptr_Generic_uint %23
|
||||||
%35 = OpConvertUToPtr %_ptr_Generic_uint %28
|
%56 = OpBitcast %_ptr_Generic_uchar %35
|
||||||
OpStore %35 %24 Aligned 4
|
%57 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %56 %ulong_4_0
|
||||||
|
%28 = OpBitcast %_ptr_Generic_uint %57
|
||||||
|
OpStore %28 %24 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
%37 = OpFunction %float None %46
|
%37 = OpFunction %float None %46
|
||||||
%39 = OpFunctionParameter %_ptr_Workgroup_float
|
%39 = OpFunctionParameter %_ptr_Workgroup_float
|
||||||
|
@ -54,9 +55,11 @@
|
||||||
%13 = OpLoad %float %29 Aligned 4
|
%13 = OpLoad %float %29 Aligned 4
|
||||||
OpStore %7 %13
|
OpStore %7 %13
|
||||||
%16 = OpLoad %ulong %5
|
%16 = OpLoad %ulong %5
|
||||||
%26 = OpIAdd %ulong %16 %ulong_4
|
%30 = OpConvertUToPtr %_ptr_Generic_float %16
|
||||||
%30 = OpConvertUToPtr %_ptr_Generic_float %26
|
%58 = OpBitcast %_ptr_Generic_uchar %30
|
||||||
%15 = OpLoad %float %30 Aligned 4
|
%59 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %58 %ulong_4
|
||||||
|
%26 = OpBitcast %_ptr_Generic_float %59
|
||||||
|
%15 = OpLoad %float %26 Aligned 4
|
||||||
OpStore %8 %15
|
OpStore %8 %15
|
||||||
%17 = OpLoad %float %7
|
%17 = OpLoad %float %7
|
||||||
%31 = OpBitcast %_ptr_Workgroup_float %4
|
%31 = OpBitcast %_ptr_Workgroup_float %4
|
||||||
|
@ -74,8 +77,10 @@
|
||||||
OpStore %34 %22 Aligned 4
|
OpStore %34 %22 Aligned 4
|
||||||
%23 = OpLoad %ulong %6
|
%23 = OpLoad %ulong %6
|
||||||
%24 = OpLoad %float %8
|
%24 = OpLoad %float %8
|
||||||
%28 = OpIAdd %ulong %23 %ulong_4_0
|
%35 = OpConvertUToPtr %_ptr_Generic_float %23
|
||||||
%35 = OpConvertUToPtr %_ptr_Generic_float %28
|
%60 = OpBitcast %_ptr_Generic_uchar %35
|
||||||
OpStore %35 %24 Aligned 4
|
%61 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %60 %ulong_4_0
|
||||||
|
%28 = OpBitcast %_ptr_Generic_float %61
|
||||||
|
OpStore %28 %24 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%uint_100 = OpConstant %uint 100
|
%uint_100 = OpConstant %uint 100
|
||||||
%uint_1 = OpConstant %uint 1
|
%uint_1 = OpConstant %uint 1
|
||||||
%uint_0 = OpConstant %uint 0
|
%uint_0 = OpConstant %uint 0
|
||||||
|
@ -45,16 +47,20 @@
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%16 = OpLoad %uint %6
|
%16 = OpLoad %uint %6
|
||||||
%24 = OpIAdd %ulong %15 %ulong_4
|
%31 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%32 = OpConvertUToPtr %_ptr_Generic_uint %24
|
%49 = OpBitcast %_ptr_Generic_uchar %31
|
||||||
|
%50 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %49 %ulong_4
|
||||||
|
%24 = OpBitcast %_ptr_Generic_uint %50
|
||||||
%33 = OpCopyObject %uint %16
|
%33 = OpCopyObject %uint %16
|
||||||
%31 = OpAtomicCompareExchange %uint %32 %uint_1 %uint_0 %uint_0 %uint_100 %33
|
%32 = OpAtomicCompareExchange %uint %24 %uint_1 %uint_0 %uint_0 %uint_100 %33
|
||||||
%14 = OpCopyObject %uint %31
|
%14 = OpCopyObject %uint %32
|
||||||
OpStore %6 %14
|
OpStore %6 %14
|
||||||
%18 = OpLoad %ulong %4
|
%18 = OpLoad %ulong %4
|
||||||
%27 = OpIAdd %ulong %18 %ulong_4_0
|
%34 = OpConvertUToPtr %_ptr_Generic_uint %18
|
||||||
%34 = OpConvertUToPtr %_ptr_Generic_uint %27
|
%53 = OpBitcast %_ptr_Generic_uchar %34
|
||||||
%17 = OpLoad %uint %34 Aligned 4
|
%54 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %53 %ulong_4_0
|
||||||
|
%27 = OpBitcast %_ptr_Generic_uint %54
|
||||||
|
%17 = OpLoad %uint %27 Aligned 4
|
||||||
OpStore %7 %17
|
OpStore %7 %17
|
||||||
%19 = OpLoad %ulong %5
|
%19 = OpLoad %ulong %5
|
||||||
%20 = OpLoad %uint %6
|
%20 = OpLoad %uint %6
|
||||||
|
@ -62,8 +68,10 @@
|
||||||
OpStore %35 %20 Aligned 4
|
OpStore %35 %20 Aligned 4
|
||||||
%21 = OpLoad %ulong %5
|
%21 = OpLoad %ulong %5
|
||||||
%22 = OpLoad %uint %7
|
%22 = OpLoad %uint %7
|
||||||
%29 = OpIAdd %ulong %21 %ulong_4_1
|
%36 = OpConvertUToPtr %_ptr_Generic_uint %21
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_uint %29
|
%55 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
OpStore %36 %22 Aligned 4
|
%56 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %55 %ulong_4_1
|
||||||
|
%29 = OpBitcast %_ptr_Generic_uint %56
|
||||||
|
OpStore %29 %22 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
%47 = OpExtInstImport "OpenCL.std"
|
%47 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %1 "atom_inc"
|
OpEntryPoint Kernel %1 "atom_inc"
|
||||||
OpDecorate %42 LinkageAttributes "__zluda_ptx_impl__atom_relaxed_gpu_global_inc" Import
|
|
||||||
OpDecorate %38 LinkageAttributes "__zluda_ptx_impl__atom_relaxed_gpu_generic_inc" Import
|
OpDecorate %38 LinkageAttributes "__zluda_ptx_impl__atom_relaxed_gpu_generic_inc" Import
|
||||||
|
OpDecorate %42 LinkageAttributes "__zluda_ptx_impl__atom_relaxed_gpu_global_inc" Import
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
|
||||||
%51 = OpTypeFunction %uint %_ptr_CrossWorkgroup_uint %uint
|
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%53 = OpTypeFunction %uint %_ptr_Generic_uint %uint
|
%51 = OpTypeFunction %uint %_ptr_Generic_uint %uint
|
||||||
|
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
||||||
|
%53 = OpTypeFunction %uint %_ptr_CrossWorkgroup_uint %uint
|
||||||
%ulong = OpTypeInt 64 0
|
%ulong = OpTypeInt 64 0
|
||||||
%55 = OpTypeFunction %void %ulong %ulong
|
%55 = OpTypeFunction %void %ulong %ulong
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
|
@ -25,15 +25,17 @@
|
||||||
%uint_101 = OpConstant %uint 101
|
%uint_101 = OpConstant %uint 101
|
||||||
%uint_101_0 = OpConstant %uint 101
|
%uint_101_0 = OpConstant %uint 101
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%42 = OpFunction %uint None %51
|
%38 = OpFunction %uint None %51
|
||||||
%44 = OpFunctionParameter %_ptr_CrossWorkgroup_uint
|
|
||||||
%45 = OpFunctionParameter %uint
|
|
||||||
OpFunctionEnd
|
|
||||||
%38 = OpFunction %uint None %53
|
|
||||||
%40 = OpFunctionParameter %_ptr_Generic_uint
|
%40 = OpFunctionParameter %_ptr_Generic_uint
|
||||||
%41 = OpFunctionParameter %uint
|
%41 = OpFunctionParameter %uint
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
%42 = OpFunction %uint None %53
|
||||||
|
%44 = OpFunctionParameter %_ptr_CrossWorkgroup_uint
|
||||||
|
%45 = OpFunctionParameter %uint
|
||||||
|
OpFunctionEnd
|
||||||
%1 = OpFunction %void None %55
|
%1 = OpFunction %void None %55
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
%10 = OpFunctionParameter %ulong
|
%10 = OpFunctionParameter %ulong
|
||||||
|
@ -69,13 +71,17 @@
|
||||||
OpStore %34 %20 Aligned 4
|
OpStore %34 %20 Aligned 4
|
||||||
%21 = OpLoad %ulong %5
|
%21 = OpLoad %ulong %5
|
||||||
%22 = OpLoad %uint %7
|
%22 = OpLoad %uint %7
|
||||||
%28 = OpIAdd %ulong %21 %ulong_4
|
%35 = OpConvertUToPtr %_ptr_Generic_uint %21
|
||||||
%35 = OpConvertUToPtr %_ptr_Generic_uint %28
|
%60 = OpBitcast %_ptr_Generic_uchar %35
|
||||||
OpStore %35 %22 Aligned 4
|
%61 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %60 %ulong_4
|
||||||
|
%28 = OpBitcast %_ptr_Generic_uint %61
|
||||||
|
OpStore %28 %22 Aligned 4
|
||||||
%23 = OpLoad %ulong %5
|
%23 = OpLoad %ulong %5
|
||||||
%24 = OpLoad %uint %8
|
%24 = OpLoad %uint %8
|
||||||
%30 = OpIAdd %ulong %23 %ulong_8
|
%36 = OpConvertUToPtr %_ptr_Generic_uint %23
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_uint %30
|
%62 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
OpStore %36 %24 Aligned 4
|
%63 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %62 %ulong_8
|
||||||
|
%30 = OpBitcast %_ptr_Generic_uint %63
|
||||||
|
OpStore %30 %24 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%34 = OpFunction %uint None %43
|
%34 = OpFunction %uint None %43
|
||||||
%36 = OpFunctionParameter %uint
|
%36 = OpFunctionParameter %uint
|
||||||
|
@ -48,14 +50,18 @@
|
||||||
%13 = OpLoad %uint %29 Aligned 4
|
%13 = OpLoad %uint %29 Aligned 4
|
||||||
OpStore %6 %13
|
OpStore %6 %13
|
||||||
%16 = OpLoad %ulong %4
|
%16 = OpLoad %ulong %4
|
||||||
%26 = OpIAdd %ulong %16 %ulong_4
|
%30 = OpConvertUToPtr %_ptr_Generic_uint %16
|
||||||
%30 = OpConvertUToPtr %_ptr_Generic_uint %26
|
%51 = OpBitcast %_ptr_Generic_uchar %30
|
||||||
%15 = OpLoad %uint %30 Aligned 4
|
%52 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %51 %ulong_4
|
||||||
|
%26 = OpBitcast %_ptr_Generic_uint %52
|
||||||
|
%15 = OpLoad %uint %26 Aligned 4
|
||||||
OpStore %7 %15
|
OpStore %7 %15
|
||||||
%18 = OpLoad %ulong %4
|
%18 = OpLoad %ulong %4
|
||||||
%28 = OpIAdd %ulong %18 %ulong_8
|
%31 = OpConvertUToPtr %_ptr_Generic_uint %18
|
||||||
%31 = OpConvertUToPtr %_ptr_Generic_uint %28
|
%53 = OpBitcast %_ptr_Generic_uchar %31
|
||||||
%17 = OpLoad %uint %31 Aligned 4
|
%54 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %53 %ulong_8
|
||||||
|
%28 = OpBitcast %_ptr_Generic_uint %54
|
||||||
|
%17 = OpLoad %uint %28 Aligned 4
|
||||||
OpStore %8 %17
|
OpStore %8 %17
|
||||||
%20 = OpLoad %uint %6
|
%20 = OpLoad %uint %6
|
||||||
%21 = OpLoad %uint %7
|
%21 = OpLoad %uint %7
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%ulong_12 = OpConstant %ulong 12
|
%ulong_12 = OpConstant %ulong 12
|
||||||
%44 = OpFunction %uint None %54
|
%44 = OpFunction %uint None %54
|
||||||
|
@ -51,19 +53,25 @@
|
||||||
%14 = OpLoad %uint %35 Aligned 4
|
%14 = OpLoad %uint %35 Aligned 4
|
||||||
OpStore %6 %14
|
OpStore %6 %14
|
||||||
%17 = OpLoad %ulong %4
|
%17 = OpLoad %ulong %4
|
||||||
%30 = OpIAdd %ulong %17 %ulong_4
|
%36 = OpConvertUToPtr %_ptr_Generic_uint %17
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_uint %30
|
%62 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
%16 = OpLoad %uint %36 Aligned 4
|
%63 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %62 %ulong_4
|
||||||
|
%30 = OpBitcast %_ptr_Generic_uint %63
|
||||||
|
%16 = OpLoad %uint %30 Aligned 4
|
||||||
OpStore %7 %16
|
OpStore %7 %16
|
||||||
%19 = OpLoad %ulong %4
|
%19 = OpLoad %ulong %4
|
||||||
%32 = OpIAdd %ulong %19 %ulong_8
|
%37 = OpConvertUToPtr %_ptr_Generic_uint %19
|
||||||
%37 = OpConvertUToPtr %_ptr_Generic_uint %32
|
%64 = OpBitcast %_ptr_Generic_uchar %37
|
||||||
%18 = OpLoad %uint %37 Aligned 4
|
%65 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %64 %ulong_8
|
||||||
|
%32 = OpBitcast %_ptr_Generic_uint %65
|
||||||
|
%18 = OpLoad %uint %32 Aligned 4
|
||||||
OpStore %8 %18
|
OpStore %8 %18
|
||||||
%21 = OpLoad %ulong %4
|
%21 = OpLoad %ulong %4
|
||||||
%34 = OpIAdd %ulong %21 %ulong_12
|
%38 = OpConvertUToPtr %_ptr_Generic_uint %21
|
||||||
%38 = OpConvertUToPtr %_ptr_Generic_uint %34
|
%66 = OpBitcast %_ptr_Generic_uchar %38
|
||||||
%20 = OpLoad %uint %38 Aligned 4
|
%67 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %66 %ulong_12
|
||||||
|
%34 = OpBitcast %_ptr_Generic_uint %67
|
||||||
|
%20 = OpLoad %uint %34 Aligned 4
|
||||||
OpStore %9 %20
|
OpStore %9 %20
|
||||||
%23 = OpLoad %uint %6
|
%23 = OpLoad %uint %6
|
||||||
%24 = OpLoad %uint %7
|
%24 = OpLoad %uint %7
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
%23 = OpBitcast %_ptr_Function_ulong %10
|
%23 = OpBitcast %_ptr_Function_ulong %10
|
||||||
%24 = OpCopyObject %ulong %18
|
%24 = OpCopyObject %ulong %18
|
||||||
OpStore %23 %24 Aligned 8
|
OpStore %23 %24 Aligned 8
|
||||||
%43 = OpFunctionCall %void %1 %11 %10
|
%43 = OpFunctionCall %void %1 %10 %11
|
||||||
%19 = OpLoad %ulong %11 Aligned 8
|
%19 = OpLoad %ulong %11 Aligned 8
|
||||||
OpStore %9 %19
|
OpStore %9 %19
|
||||||
%20 = OpLoad %ulong %8
|
%20 = OpLoad %ulong %8
|
||||||
|
@ -52,8 +52,8 @@
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%1 = OpFunction %void None %44
|
%1 = OpFunction %void None %44
|
||||||
%27 = OpFunctionParameter %_ptr_Function_ulong
|
|
||||||
%28 = OpFunctionParameter %_ptr_Function_ulong
|
%28 = OpFunctionParameter %_ptr_Function_ulong
|
||||||
|
%27 = OpFunctionParameter %_ptr_Function_ulong
|
||||||
%35 = OpLabel
|
%35 = OpLabel
|
||||||
%29 = OpVariable %_ptr_Function_ulong Function
|
%29 = OpVariable %_ptr_Function_ulong Function
|
||||||
%30 = OpLoad %ulong %28 Aligned 8
|
%30 = OpLoad %ulong %28 Aligned 8
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
%1 = OpFunction %void None %37
|
%1 = OpFunction %void None %37
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
|
@ -40,9 +42,11 @@
|
||||||
%12 = OpLoad %float %28 Aligned 4
|
%12 = OpLoad %float %28 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%25 = OpIAdd %ulong %15 %ulong_4
|
%29 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%29 = OpConvertUToPtr %_ptr_Generic_float %25
|
%44 = OpBitcast %_ptr_Generic_uchar %29
|
||||||
%14 = OpLoad %float %29 Aligned 4
|
%45 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %44 %ulong_4
|
||||||
|
%25 = OpBitcast %_ptr_Generic_float %45
|
||||||
|
%14 = OpLoad %float %25 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %float %6
|
%17 = OpLoad %float %6
|
||||||
%16 = OpExtInst %float %34 rint %17
|
%16 = OpExtInst %float %34 rint %17
|
||||||
|
@ -56,8 +60,10 @@
|
||||||
OpStore %30 %21 Aligned 4
|
OpStore %30 %21 Aligned 4
|
||||||
%22 = OpLoad %ulong %5
|
%22 = OpLoad %ulong %5
|
||||||
%23 = OpLoad %float %7
|
%23 = OpLoad %float %7
|
||||||
%27 = OpIAdd %ulong %22 %ulong_4_0
|
%31 = OpConvertUToPtr %_ptr_Generic_float %22
|
||||||
%31 = OpConvertUToPtr %_ptr_Generic_float %27
|
%46 = OpBitcast %_ptr_Generic_uchar %31
|
||||||
OpStore %31 %23 Aligned 4
|
%47 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %46 %ulong_4_0
|
||||||
|
%27 = OpBitcast %_ptr_Generic_float %47
|
||||||
|
OpStore %27 %23 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
%1 = OpFunction %void None %37
|
%1 = OpFunction %void None %37
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
|
@ -40,9 +42,11 @@
|
||||||
%12 = OpLoad %float %28 Aligned 4
|
%12 = OpLoad %float %28 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%25 = OpIAdd %ulong %15 %ulong_4
|
%29 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%29 = OpConvertUToPtr %_ptr_Generic_float %25
|
%44 = OpBitcast %_ptr_Generic_uchar %29
|
||||||
%14 = OpLoad %float %29 Aligned 4
|
%45 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %44 %ulong_4
|
||||||
|
%25 = OpBitcast %_ptr_Generic_float %45
|
||||||
|
%14 = OpLoad %float %25 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %float %6
|
%17 = OpLoad %float %6
|
||||||
%16 = OpExtInst %float %34 trunc %17
|
%16 = OpExtInst %float %34 trunc %17
|
||||||
|
@ -56,8 +60,10 @@
|
||||||
OpStore %30 %21 Aligned 4
|
OpStore %30 %21 Aligned 4
|
||||||
%22 = OpLoad %ulong %5
|
%22 = OpLoad %ulong %5
|
||||||
%23 = OpLoad %float %7
|
%23 = OpLoad %float %7
|
||||||
%27 = OpIAdd %ulong %22 %ulong_4_0
|
%31 = OpConvertUToPtr %_ptr_Generic_float %22
|
||||||
%31 = OpConvertUToPtr %_ptr_Generic_float %27
|
%46 = OpBitcast %_ptr_Generic_uchar %31
|
||||||
OpStore %31 %23 Aligned 4
|
%47 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %46 %ulong_4_0
|
||||||
|
%27 = OpBitcast %_ptr_Generic_float %47
|
||||||
|
OpStore %27 %23 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -21,8 +21,11 @@
|
||||||
%float = OpTypeFloat 32
|
%float = OpTypeFloat 32
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
|
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
||||||
%1 = OpFunction %void None %45
|
%1 = OpFunction %void None %45
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -45,10 +48,12 @@
|
||||||
%12 = OpBitcast %uint %28
|
%12 = OpBitcast %uint %28
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%25 = OpIAdd %ulong %15 %ulong_4
|
%30 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%31 = OpConvertUToPtr %_ptr_Generic_float %25
|
%53 = OpBitcast %_ptr_Generic_uchar %30
|
||||||
%30 = OpLoad %float %31 Aligned 4
|
%54 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %53 %ulong_4
|
||||||
%14 = OpBitcast %uint %30
|
%25 = OpBitcast %_ptr_Generic_float %54
|
||||||
|
%31 = OpLoad %float %25 Aligned 4
|
||||||
|
%14 = OpBitcast %uint %31
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%33 = OpBitcast %float %17
|
%33 = OpBitcast %float %17
|
||||||
|
@ -67,9 +72,11 @@
|
||||||
OpStore %36 %37 Aligned 4
|
OpStore %36 %37 Aligned 4
|
||||||
%22 = OpLoad %ulong %5
|
%22 = OpLoad %ulong %5
|
||||||
%23 = OpLoad %uint %7
|
%23 = OpLoad %uint %7
|
||||||
%27 = OpIAdd %ulong %22 %ulong_4_0
|
%38 = OpConvertUToPtr %_ptr_CrossWorkgroup_uint %22
|
||||||
%38 = OpConvertUToPtr %_ptr_CrossWorkgroup_uint %27
|
%57 = OpBitcast %_ptr_CrossWorkgroup_uchar %38
|
||||||
|
%58 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %57 %ulong_4_0
|
||||||
|
%27 = OpBitcast %_ptr_CrossWorkgroup_uint %58
|
||||||
%39 = OpCopyObject %uint %23
|
%39 = OpCopyObject %uint %23
|
||||||
OpStore %38 %39 Aligned 4
|
OpStore %27 %39 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -40,9 +42,11 @@
|
||||||
%12 = OpLoad %float %23 Aligned 4
|
%12 = OpLoad %float %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_float %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %float %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_float %39
|
||||||
|
%14 = OpLoad %float %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %float %6
|
%17 = OpLoad %float %6
|
||||||
%18 = OpLoad %float %7
|
%18 = OpLoad %float %7
|
||||||
|
|
|
@ -7,37 +7,30 @@
|
||||||
OpCapability Int64
|
OpCapability Int64
|
||||||
OpCapability Float16
|
OpCapability Float16
|
||||||
OpCapability Float64
|
OpCapability Float64
|
||||||
%30 = OpExtInstImport "OpenCL.std"
|
%27 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %2 "extern_shared" %1
|
OpEntryPoint Kernel %2 "extern_shared" %1
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||||
%_ptr_Workgroup__ptr_Workgroup_uint = OpTypePointer Workgroup %_ptr_Workgroup_uint
|
%1 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||||
%1 = OpVariable %_ptr_Workgroup__ptr_Workgroup_uint Workgroup
|
|
||||||
%ulong = OpTypeInt 64 0
|
%ulong = OpTypeInt 64 0
|
||||||
%uchar = OpTypeInt 8 0
|
%uchar = OpTypeInt 8 0
|
||||||
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
||||||
%38 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
%34 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
||||||
%_ptr_Function__ptr_Workgroup_uchar = OpTypePointer Function %_ptr_Workgroup_uchar
|
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%_ptr_Function__ptr_Workgroup_uint = OpTypePointer Function %_ptr_Workgroup_uint
|
|
||||||
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
||||||
%2 = OpFunction %void None %38
|
%2 = OpFunction %void None %34
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
%26 = OpFunctionParameter %_ptr_Workgroup_uchar
|
%24 = OpFunctionParameter %_ptr_Workgroup_uchar
|
||||||
%39 = OpLabel
|
%22 = OpLabel
|
||||||
%27 = OpVariable %_ptr_Function__ptr_Workgroup_uchar Function
|
|
||||||
%3 = OpVariable %_ptr_Function_ulong Function
|
%3 = OpVariable %_ptr_Function_ulong Function
|
||||||
%4 = OpVariable %_ptr_Function_ulong Function
|
%4 = OpVariable %_ptr_Function_ulong Function
|
||||||
%5 = OpVariable %_ptr_Function_ulong Function
|
%5 = OpVariable %_ptr_Function_ulong Function
|
||||||
%6 = OpVariable %_ptr_Function_ulong Function
|
%6 = OpVariable %_ptr_Function_ulong Function
|
||||||
%7 = OpVariable %_ptr_Function_ulong Function
|
%7 = OpVariable %_ptr_Function_ulong Function
|
||||||
OpStore %27 %26
|
|
||||||
OpBranch %24
|
|
||||||
%24 = OpLabel
|
|
||||||
OpStore %3 %8
|
OpStore %3 %8
|
||||||
OpStore %4 %9
|
OpStore %4 %9
|
||||||
%10 = OpLoad %ulong %3 Aligned 8
|
%10 = OpLoad %ulong %3 Aligned 8
|
||||||
|
@ -45,22 +38,20 @@
|
||||||
%11 = OpLoad %ulong %4 Aligned 8
|
%11 = OpLoad %ulong %4 Aligned 8
|
||||||
OpStore %6 %11
|
OpStore %6 %11
|
||||||
%13 = OpLoad %ulong %5
|
%13 = OpLoad %ulong %5
|
||||||
%20 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %13
|
%18 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %13
|
||||||
%12 = OpLoad %ulong %20 Aligned 8
|
%12 = OpLoad %ulong %18 Aligned 8
|
||||||
OpStore %7 %12
|
OpStore %7 %12
|
||||||
%28 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %27
|
%14 = OpLoad %ulong %7
|
||||||
%14 = OpLoad %_ptr_Workgroup_uint %28
|
%25 = OpBitcast %_ptr_Workgroup_uint %24
|
||||||
%15 = OpLoad %ulong %7
|
%19 = OpBitcast %_ptr_Workgroup_ulong %25
|
||||||
%21 = OpBitcast %_ptr_Workgroup_ulong %14
|
OpStore %19 %14 Aligned 8
|
||||||
OpStore %21 %15 Aligned 8
|
%26 = OpBitcast %_ptr_Workgroup_uint %24
|
||||||
%29 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %27
|
%20 = OpBitcast %_ptr_Workgroup_ulong %26
|
||||||
%17 = OpLoad %_ptr_Workgroup_uint %29
|
%15 = OpLoad %ulong %20 Aligned 8
|
||||||
%22 = OpBitcast %_ptr_Workgroup_ulong %17
|
OpStore %7 %15
|
||||||
%16 = OpLoad %ulong %22 Aligned 8
|
%16 = OpLoad %ulong %6
|
||||||
OpStore %7 %16
|
%17 = OpLoad %ulong %7
|
||||||
%18 = OpLoad %ulong %6
|
%21 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %16
|
||||||
%19 = OpLoad %ulong %7
|
OpStore %21 %17 Aligned 8
|
||||||
%23 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %18
|
|
||||||
OpStore %23 %19 Aligned 8
|
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -7,87 +7,72 @@
|
||||||
OpCapability Int64
|
OpCapability Int64
|
||||||
OpCapability Float16
|
OpCapability Float16
|
||||||
OpCapability Float64
|
OpCapability Float64
|
||||||
%46 = OpExtInstImport "OpenCL.std"
|
%40 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %14 "extern_shared_call" %1
|
OpEntryPoint Kernel %12 "extern_shared_call" %1
|
||||||
OpDecorate %1 Alignment 4
|
OpDecorate %1 Alignment 4
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||||
%_ptr_Workgroup__ptr_Workgroup_uint = OpTypePointer Workgroup %_ptr_Workgroup_uint
|
%1 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||||
%1 = OpVariable %_ptr_Workgroup__ptr_Workgroup_uint Workgroup
|
|
||||||
%uchar = OpTypeInt 8 0
|
%uchar = OpTypeInt 8 0
|
||||||
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
||||||
%53 = OpTypeFunction %void %_ptr_Workgroup_uchar
|
%46 = OpTypeFunction %void %_ptr_Workgroup_uchar
|
||||||
%_ptr_Function__ptr_Workgroup_uchar = OpTypePointer Function %_ptr_Workgroup_uchar
|
|
||||||
%ulong = OpTypeInt 64 0
|
%ulong = OpTypeInt 64 0
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_Function__ptr_Workgroup_uint = OpTypePointer Function %_ptr_Workgroup_uint
|
|
||||||
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
||||||
%ulong_2 = OpConstant %ulong 2
|
%ulong_2 = OpConstant %ulong 2
|
||||||
%60 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
%50 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%2 = OpFunction %void None %53
|
%2 = OpFunction %void None %46
|
||||||
%38 = OpFunctionParameter %_ptr_Workgroup_uchar
|
%34 = OpFunctionParameter %_ptr_Workgroup_uchar
|
||||||
%54 = OpLabel
|
%11 = OpLabel
|
||||||
%39 = OpVariable %_ptr_Function__ptr_Workgroup_uchar Function
|
|
||||||
%3 = OpVariable %_ptr_Function_ulong Function
|
%3 = OpVariable %_ptr_Function_ulong Function
|
||||||
OpStore %39 %38
|
%35 = OpBitcast %_ptr_Workgroup_uint %34
|
||||||
OpBranch %13
|
%9 = OpBitcast %_ptr_Workgroup_ulong %35
|
||||||
%13 = OpLabel
|
%4 = OpLoad %ulong %9 Aligned 8
|
||||||
%40 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %39
|
|
||||||
%5 = OpLoad %_ptr_Workgroup_uint %40
|
|
||||||
%11 = OpBitcast %_ptr_Workgroup_ulong %5
|
|
||||||
%4 = OpLoad %ulong %11 Aligned 8
|
|
||||||
OpStore %3 %4
|
OpStore %3 %4
|
||||||
|
%6 = OpLoad %ulong %3
|
||||||
|
%5 = OpIAdd %ulong %6 %ulong_2
|
||||||
|
OpStore %3 %5
|
||||||
%7 = OpLoad %ulong %3
|
%7 = OpLoad %ulong %3
|
||||||
%6 = OpIAdd %ulong %7 %ulong_2
|
%36 = OpBitcast %_ptr_Workgroup_uint %34
|
||||||
OpStore %3 %6
|
%10 = OpBitcast %_ptr_Workgroup_ulong %36
|
||||||
%41 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %39
|
OpStore %10 %7 Aligned 8
|
||||||
%8 = OpLoad %_ptr_Workgroup_uint %41
|
|
||||||
%9 = OpLoad %ulong %3
|
|
||||||
%12 = OpBitcast %_ptr_Workgroup_ulong %8
|
|
||||||
OpStore %12 %9 Aligned 8
|
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
%14 = OpFunction %void None %60
|
%12 = OpFunction %void None %50
|
||||||
%20 = OpFunctionParameter %ulong
|
%18 = OpFunctionParameter %ulong
|
||||||
%21 = OpFunctionParameter %ulong
|
%19 = OpFunctionParameter %ulong
|
||||||
%42 = OpFunctionParameter %_ptr_Workgroup_uchar
|
%37 = OpFunctionParameter %_ptr_Workgroup_uchar
|
||||||
%61 = OpLabel
|
%32 = OpLabel
|
||||||
%43 = OpVariable %_ptr_Function__ptr_Workgroup_uchar Function
|
%13 = OpVariable %_ptr_Function_ulong Function
|
||||||
|
%14 = OpVariable %_ptr_Function_ulong Function
|
||||||
%15 = OpVariable %_ptr_Function_ulong Function
|
%15 = OpVariable %_ptr_Function_ulong Function
|
||||||
%16 = OpVariable %_ptr_Function_ulong Function
|
%16 = OpVariable %_ptr_Function_ulong Function
|
||||||
%17 = OpVariable %_ptr_Function_ulong Function
|
%17 = OpVariable %_ptr_Function_ulong Function
|
||||||
%18 = OpVariable %_ptr_Function_ulong Function
|
OpStore %13 %18
|
||||||
%19 = OpVariable %_ptr_Function_ulong Function
|
OpStore %14 %19
|
||||||
OpStore %43 %42
|
%20 = OpLoad %ulong %13 Aligned 8
|
||||||
OpBranch %36
|
|
||||||
%36 = OpLabel
|
|
||||||
OpStore %15 %20
|
OpStore %15 %20
|
||||||
|
%21 = OpLoad %ulong %14 Aligned 8
|
||||||
OpStore %16 %21
|
OpStore %16 %21
|
||||||
%22 = OpLoad %ulong %15 Aligned 8
|
%23 = OpLoad %ulong %15
|
||||||
|
%28 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %23
|
||||||
|
%22 = OpLoad %ulong %28 Aligned 8
|
||||||
OpStore %17 %22
|
OpStore %17 %22
|
||||||
%23 = OpLoad %ulong %16 Aligned 8
|
%24 = OpLoad %ulong %17
|
||||||
OpStore %18 %23
|
%38 = OpBitcast %_ptr_Workgroup_uint %37
|
||||||
%25 = OpLoad %ulong %17
|
%29 = OpBitcast %_ptr_Workgroup_ulong %38
|
||||||
%32 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %25
|
OpStore %29 %24 Aligned 8
|
||||||
%24 = OpLoad %ulong %32 Aligned 8
|
%52 = OpFunctionCall %void %2 %37
|
||||||
OpStore %19 %24
|
%39 = OpBitcast %_ptr_Workgroup_uint %37
|
||||||
%44 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %43
|
%30 = OpBitcast %_ptr_Workgroup_ulong %39
|
||||||
%26 = OpLoad %_ptr_Workgroup_uint %44
|
%25 = OpLoad %ulong %30 Aligned 8
|
||||||
%27 = OpLoad %ulong %19
|
OpStore %17 %25
|
||||||
%33 = OpBitcast %_ptr_Workgroup_ulong %26
|
%26 = OpLoad %ulong %16
|
||||||
OpStore %33 %27 Aligned 8
|
%27 = OpLoad %ulong %17
|
||||||
%63 = OpFunctionCall %void %2 %42
|
%31 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %26
|
||||||
%45 = OpBitcast %_ptr_Function__ptr_Workgroup_uint %43
|
OpStore %31 %27 Aligned 8
|
||||||
%29 = OpLoad %_ptr_Workgroup_uint %45
|
|
||||||
%34 = OpBitcast %_ptr_Workgroup_ulong %29
|
|
||||||
%28 = OpLoad %ulong %34 Aligned 8
|
|
||||||
OpStore %19 %28
|
|
||||||
%30 = OpLoad %ulong %18
|
|
||||||
%31 = OpLoad %ulong %19
|
|
||||||
%35 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %30
|
|
||||||
OpStore %35 %31 Aligned 8
|
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%1 = OpFunction %void None %38
|
%1 = OpFunction %void None %38
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -41,14 +43,18 @@
|
||||||
%13 = OpLoad %float %29 Aligned 4
|
%13 = OpLoad %float %29 Aligned 4
|
||||||
OpStore %6 %13
|
OpStore %6 %13
|
||||||
%16 = OpLoad %ulong %4
|
%16 = OpLoad %ulong %4
|
||||||
%26 = OpIAdd %ulong %16 %ulong_4
|
%30 = OpConvertUToPtr %_ptr_Generic_float %16
|
||||||
%30 = OpConvertUToPtr %_ptr_Generic_float %26
|
%45 = OpBitcast %_ptr_Generic_uchar %30
|
||||||
%15 = OpLoad %float %30 Aligned 4
|
%46 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %45 %ulong_4
|
||||||
|
%26 = OpBitcast %_ptr_Generic_float %46
|
||||||
|
%15 = OpLoad %float %26 Aligned 4
|
||||||
OpStore %7 %15
|
OpStore %7 %15
|
||||||
%18 = OpLoad %ulong %4
|
%18 = OpLoad %ulong %4
|
||||||
%28 = OpIAdd %ulong %18 %ulong_8
|
%31 = OpConvertUToPtr %_ptr_Generic_float %18
|
||||||
%31 = OpConvertUToPtr %_ptr_Generic_float %28
|
%47 = OpBitcast %_ptr_Generic_uchar %31
|
||||||
%17 = OpLoad %float %31 Aligned 4
|
%48 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %47 %ulong_8
|
||||||
|
%28 = OpBitcast %_ptr_Generic_float %48
|
||||||
|
%17 = OpLoad %float %28 Aligned 4
|
||||||
OpStore %8 %17
|
OpStore %8 %17
|
||||||
%20 = OpLoad %float %6
|
%20 = OpLoad %float %6
|
||||||
%21 = OpLoad %float %7
|
%21 = OpLoad %float %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
%1 = OpFunction %void None %33
|
%1 = OpFunction %void None %33
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
|
@ -40,9 +42,11 @@
|
||||||
%12 = OpLoad %uint %24 Aligned 4
|
%12 = OpLoad %uint %24 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%21 = OpIAdd %ulong %15 %ulong_4
|
%25 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%25 = OpConvertUToPtr %_ptr_Generic_uint %21
|
%40 = OpBitcast %_ptr_Generic_uchar %25
|
||||||
%14 = OpLoad %uint %25 Aligned 4
|
%41 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %40 %ulong_4
|
||||||
|
%21 = OpBitcast %_ptr_Generic_uint %41
|
||||||
|
%14 = OpLoad %uint %21 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%16 = OpLoad %ulong %5
|
%16 = OpLoad %ulong %5
|
||||||
%17 = OpLoad %uint %7
|
%17 = OpLoad %uint %7
|
||||||
|
@ -50,8 +54,10 @@
|
||||||
OpStore %26 %17 Aligned 4
|
OpStore %26 %17 Aligned 4
|
||||||
%18 = OpLoad %ulong %5
|
%18 = OpLoad %ulong %5
|
||||||
%19 = OpLoad %uint %6
|
%19 = OpLoad %uint %6
|
||||||
%23 = OpIAdd %ulong %18 %ulong_4_0
|
%27 = OpConvertUToPtr %_ptr_Generic_uint %18
|
||||||
%27 = OpConvertUToPtr %_ptr_Generic_uint %23
|
%42 = OpBitcast %_ptr_Generic_uchar %27
|
||||||
OpStore %27 %19 Aligned 4
|
%43 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %42 %ulong_4_0
|
||||||
|
%23 = OpBitcast %_ptr_Generic_uint %43
|
||||||
|
OpStore %23 %19 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%ulong_4_0 = OpConstant %ulong 4
|
%ulong_4_0 = OpConstant %ulong 4
|
||||||
%ulong_8_0 = OpConstant %ulong 8
|
%ulong_8_0 = OpConstant %ulong 8
|
||||||
|
@ -44,20 +46,24 @@
|
||||||
%14 = OpLoad %uint %38 Aligned 4
|
%14 = OpLoad %uint %38 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %ulong %4
|
%17 = OpLoad %ulong %4
|
||||||
%31 = OpIAdd %ulong %17 %ulong_4
|
%39 = OpConvertUToPtr %_ptr_Generic_uint %17
|
||||||
%39 = OpConvertUToPtr %_ptr_Generic_uint %31
|
%56 = OpBitcast %_ptr_Generic_uchar %39
|
||||||
%16 = OpLoad %uint %39 Aligned 4
|
%57 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %56 %ulong_4
|
||||||
|
%31 = OpBitcast %_ptr_Generic_uint %57
|
||||||
|
%16 = OpLoad %uint %31 Aligned 4
|
||||||
OpStore %8 %16
|
OpStore %8 %16
|
||||||
%19 = OpLoad %ulong %4
|
%19 = OpLoad %ulong %4
|
||||||
%33 = OpIAdd %ulong %19 %ulong_8
|
%40 = OpConvertUToPtr %_ptr_Generic_uint %19
|
||||||
%40 = OpConvertUToPtr %_ptr_Generic_uint %33
|
%58 = OpBitcast %_ptr_Generic_uchar %40
|
||||||
%18 = OpLoad %uint %40 Aligned 4
|
%59 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %58 %ulong_8
|
||||||
|
%33 = OpBitcast %_ptr_Generic_uint %59
|
||||||
|
%18 = OpLoad %uint %33 Aligned 4
|
||||||
OpStore %9 %18
|
OpStore %9 %18
|
||||||
%21 = OpLoad %uint %7
|
%21 = OpLoad %uint %7
|
||||||
%22 = OpLoad %uint %8
|
%22 = OpLoad %uint %8
|
||||||
%23 = OpLoad %uint %9
|
%23 = OpLoad %uint %9
|
||||||
%54 = OpIMul %uint %21 %22
|
%60 = OpIMul %uint %21 %22
|
||||||
%20 = OpIAdd %uint %23 %54
|
%20 = OpIAdd %uint %23 %60
|
||||||
OpStore %6 %20
|
OpStore %6 %20
|
||||||
%24 = OpLoad %ulong %5
|
%24 = OpLoad %ulong %5
|
||||||
%25 = OpLoad %uint %6
|
%25 = OpLoad %uint %6
|
||||||
|
@ -65,13 +71,17 @@
|
||||||
OpStore %41 %25 Aligned 4
|
OpStore %41 %25 Aligned 4
|
||||||
%26 = OpLoad %ulong %5
|
%26 = OpLoad %ulong %5
|
||||||
%27 = OpLoad %uint %6
|
%27 = OpLoad %uint %6
|
||||||
%35 = OpIAdd %ulong %26 %ulong_4_0
|
%42 = OpConvertUToPtr %_ptr_Generic_uint %26
|
||||||
%42 = OpConvertUToPtr %_ptr_Generic_uint %35
|
%61 = OpBitcast %_ptr_Generic_uchar %42
|
||||||
OpStore %42 %27 Aligned 4
|
%62 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %61 %ulong_4_0
|
||||||
|
%35 = OpBitcast %_ptr_Generic_uint %62
|
||||||
|
OpStore %35 %27 Aligned 4
|
||||||
%28 = OpLoad %ulong %5
|
%28 = OpLoad %ulong %5
|
||||||
%29 = OpLoad %uint %6
|
%29 = OpLoad %uint %6
|
||||||
%37 = OpIAdd %ulong %28 %ulong_8_0
|
%43 = OpConvertUToPtr %_ptr_Generic_uint %28
|
||||||
%43 = OpConvertUToPtr %_ptr_Generic_uint %37
|
%63 = OpBitcast %_ptr_Generic_uchar %43
|
||||||
OpStore %43 %29 Aligned 4
|
%64 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %63 %ulong_8_0
|
||||||
|
%37 = OpBitcast %_ptr_Generic_uint %64
|
||||||
|
OpStore %37 %29 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %uint %23 Aligned 4
|
%12 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_uint %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %uint %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_uint %39
|
||||||
|
%14 = OpLoad %uint %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%18 = OpLoad %uint %7
|
%18 = OpLoad %uint %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %uint %23 Aligned 4
|
%12 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_uint %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %uint %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_uint %39
|
||||||
|
%14 = OpLoad %uint %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%18 = OpLoad %uint %7
|
%18 = OpLoad %uint %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %float %23 Aligned 4
|
%12 = OpLoad %float %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_float %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %float %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_float %39
|
||||||
|
%14 = OpLoad %float %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %float %6
|
%17 = OpLoad %float %6
|
||||||
%18 = OpLoad %float %7
|
%18 = OpLoad %float %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_float = OpTypePointer Function %float
|
%_ptr_Function_float = OpTypePointer Function %float
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %float %23 Aligned 4
|
%12 = OpLoad %float %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_float %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_float %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %float %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_float %39
|
||||||
|
%14 = OpLoad %float %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %float %6
|
%17 = OpLoad %float %6
|
||||||
%18 = OpLoad %float %7
|
%18 = OpLoad %float %7
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
%_ptr_CrossWorkgroup_uint = OpTypePointer CrossWorkgroup %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
%_struct_38 = OpTypeStruct %uint %uint
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
||||||
|
%_struct_42 = OpTypeStruct %uint %uint
|
||||||
%v2uint = OpTypeVector %uint 2
|
%v2uint = OpTypeVector %uint 2
|
||||||
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
||||||
%1 = OpFunction %void None %33
|
%1 = OpFunction %void None %33
|
||||||
|
@ -43,17 +45,19 @@
|
||||||
%13 = OpLoad %uint %24 Aligned 4
|
%13 = OpLoad %uint %24 Aligned 4
|
||||||
OpStore %6 %13
|
OpStore %6 %13
|
||||||
%16 = OpLoad %ulong %4
|
%16 = OpLoad %ulong %4
|
||||||
%23 = OpIAdd %ulong %16 %ulong_4
|
%25 = OpConvertUToPtr %_ptr_CrossWorkgroup_uint %16
|
||||||
%25 = OpConvertUToPtr %_ptr_CrossWorkgroup_uint %23
|
%40 = OpBitcast %_ptr_CrossWorkgroup_uchar %25
|
||||||
%15 = OpLoad %uint %25 Aligned 4
|
%41 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %40 %ulong_4
|
||||||
|
%23 = OpBitcast %_ptr_CrossWorkgroup_uint %41
|
||||||
|
%15 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %7 %15
|
OpStore %7 %15
|
||||||
%18 = OpLoad %uint %6
|
%18 = OpLoad %uint %6
|
||||||
%19 = OpLoad %uint %7
|
%19 = OpLoad %uint %7
|
||||||
%39 = OpSMulExtended %_struct_38 %18 %19
|
%43 = OpSMulExtended %_struct_42 %18 %19
|
||||||
%40 = OpCompositeExtract %uint %39 0
|
%44 = OpCompositeExtract %uint %43 0
|
||||||
%41 = OpCompositeExtract %uint %39 1
|
%45 = OpCompositeExtract %uint %43 1
|
||||||
%43 = OpCompositeConstruct %v2uint %40 %41
|
%47 = OpCompositeConstruct %v2uint %44 %45
|
||||||
%17 = OpBitcast %ulong %43
|
%17 = OpBitcast %ulong %47
|
||||||
OpStore %8 %17
|
OpStore %8 %17
|
||||||
%20 = OpLoad %ulong %5
|
%20 = OpLoad %ulong %5
|
||||||
%21 = OpLoad %ulong %8
|
%21 = OpLoad %ulong %8
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %34
|
%1 = OpFunction %void None %34
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -37,9 +39,11 @@
|
||||||
%12 = OpLoad %ulong %23 Aligned 8
|
%12 = OpLoad %ulong %23 Aligned 8
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_8
|
%24 = OpConvertUToPtr %_ptr_Generic_ulong %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_ulong %22
|
%39 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %ulong %24 Aligned 8
|
%40 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %39 %ulong_8
|
||||||
|
%22 = OpBitcast %_ptr_Generic_ulong %40
|
||||||
|
%14 = OpLoad %ulong %22 Aligned 8
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %ulong %6
|
%17 = OpLoad %ulong %6
|
||||||
%18 = OpLoad %ulong %7
|
%18 = OpLoad %ulong %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%true = OpConstantTrue %bool
|
%true = OpConstantTrue %bool
|
||||||
%false = OpConstantFalse %bool
|
%false = OpConstantFalse %bool
|
||||||
%ulong_1 = OpConstant %ulong 1
|
%ulong_1 = OpConstant %ulong 1
|
||||||
|
@ -45,9 +47,11 @@
|
||||||
%18 = OpLoad %ulong %37 Aligned 8
|
%18 = OpLoad %ulong %37 Aligned 8
|
||||||
OpStore %6 %18
|
OpStore %6 %18
|
||||||
%21 = OpLoad %ulong %4
|
%21 = OpLoad %ulong %4
|
||||||
%34 = OpIAdd %ulong %21 %ulong_8
|
%38 = OpConvertUToPtr %_ptr_Generic_ulong %21
|
||||||
%38 = OpConvertUToPtr %_ptr_Generic_ulong %34
|
%52 = OpBitcast %_ptr_Generic_uchar %38
|
||||||
%20 = OpLoad %ulong %38 Aligned 8
|
%53 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %52 %ulong_8
|
||||||
|
%34 = OpBitcast %_ptr_Generic_ulong %53
|
||||||
|
%20 = OpLoad %ulong %34 Aligned 8
|
||||||
OpStore %7 %20
|
OpStore %7 %20
|
||||||
%23 = OpLoad %ulong %6
|
%23 = OpLoad %ulong %6
|
||||||
%24 = OpLoad %ulong %7
|
%24 = OpLoad %ulong %7
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
%ulong_0 = OpConstant %ulong 0
|
%ulong_0 = OpConstant %ulong 0
|
||||||
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_0_0 = OpConstant %ulong 0
|
%ulong_0_0 = OpConstant %ulong 0
|
||||||
|
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
||||||
%1 = OpFunction %void None %37
|
%1 = OpFunction %void None %37
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -48,10 +49,10 @@
|
||||||
%12 = OpCopyObject %ulong %24
|
%12 = OpCopyObject %ulong %24
|
||||||
OpStore %7 %12
|
OpStore %7 %12
|
||||||
%14 = OpLoad %ulong %7
|
%14 = OpLoad %ulong %7
|
||||||
%26 = OpCopyObject %ulong %14
|
%19 = OpIAdd %ulong %14 %ulong_1
|
||||||
%19 = OpIAdd %ulong %26 %ulong_1
|
%26 = OpBitcast %_ptr_Generic_ulong %4
|
||||||
%27 = OpBitcast %_ptr_Generic_ulong %4
|
%27 = OpCopyObject %ulong %19
|
||||||
OpStore %27 %19 Aligned 8
|
OpStore %26 %27 Aligned 8
|
||||||
%28 = OpBitcast %_ptr_Generic_ulong %4
|
%28 = OpBitcast %_ptr_Generic_ulong %4
|
||||||
%47 = OpBitcast %_ptr_Generic_uchar %28
|
%47 = OpBitcast %_ptr_Generic_uchar %28
|
||||||
%48 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %47 %ulong_0
|
%48 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %47 %ulong_0
|
||||||
|
@ -61,9 +62,11 @@
|
||||||
OpStore %7 %15
|
OpStore %7 %15
|
||||||
%16 = OpLoad %ulong %6
|
%16 = OpLoad %ulong %6
|
||||||
%17 = OpLoad %ulong %7
|
%17 = OpLoad %ulong %7
|
||||||
%23 = OpIAdd %ulong %16 %ulong_0_0
|
%30 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %16
|
||||||
%30 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %23
|
%50 = OpBitcast %_ptr_CrossWorkgroup_uchar %30
|
||||||
|
%51 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %50 %ulong_0_0
|
||||||
|
%23 = OpBitcast %_ptr_CrossWorkgroup_ulong %51
|
||||||
%31 = OpCopyObject %ulong %17
|
%31 = OpCopyObject %ulong %17
|
||||||
OpStore %30 %31 Aligned 8
|
OpStore %23 %31 Aligned 8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %uint %23 Aligned 4
|
%12 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_uint %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %uint %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_uint %39
|
||||||
|
%14 = OpLoad %uint %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%18 = OpLoad %uint %7
|
%18 = OpLoad %uint %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_ushort = OpTypePointer Function %ushort
|
%_ptr_Function_ushort = OpTypePointer Function %ushort
|
||||||
%_ptr_Generic_ushort = OpTypePointer Generic %ushort
|
%_ptr_Generic_ushort = OpTypePointer Generic %ushort
|
||||||
%ulong_2 = OpConstant %ulong 2
|
%ulong_2 = OpConstant %ulong 2
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%false = OpConstantFalse %bool
|
%false = OpConstantFalse %bool
|
||||||
%1 = OpFunction %void None %32
|
%1 = OpFunction %void None %32
|
||||||
|
@ -41,9 +43,11 @@
|
||||||
%12 = OpLoad %ushort %24 Aligned 2
|
%12 = OpLoad %ushort %24 Aligned 2
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_2
|
%25 = OpConvertUToPtr %_ptr_Generic_ushort %15
|
||||||
%25 = OpConvertUToPtr %_ptr_Generic_ushort %22
|
%39 = OpBitcast %_ptr_Generic_uchar %25
|
||||||
%14 = OpLoad %ushort %25 Aligned 2
|
%40 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %39 %ulong_2
|
||||||
|
%22 = OpBitcast %_ptr_Generic_ushort %40
|
||||||
|
%14 = OpLoad %ushort %22 Aligned 2
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %ushort %6
|
%17 = OpLoad %ushort %6
|
||||||
%18 = OpLoad %ushort %7
|
%18 = OpLoad %ushort %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_ushort = OpTypePointer Function %ushort
|
%_ptr_Function_ushort = OpTypePointer Function %ushort
|
||||||
%_ptr_Generic_ushort = OpTypePointer Generic %ushort
|
%_ptr_Generic_ushort = OpTypePointer Generic %ushort
|
||||||
%ulong_2 = OpConstant %ulong 2
|
%ulong_2 = OpConstant %ulong 2
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%bool = OpTypeBool
|
%bool = OpTypeBool
|
||||||
%true = OpConstantTrue %bool
|
%true = OpConstantTrue %bool
|
||||||
%1 = OpFunction %void None %32
|
%1 = OpFunction %void None %32
|
||||||
|
@ -41,9 +43,11 @@
|
||||||
%12 = OpLoad %ushort %24 Aligned 2
|
%12 = OpLoad %ushort %24 Aligned 2
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_2
|
%25 = OpConvertUToPtr %_ptr_Generic_ushort %15
|
||||||
%25 = OpConvertUToPtr %_ptr_Generic_ushort %22
|
%39 = OpBitcast %_ptr_Generic_uchar %25
|
||||||
%14 = OpLoad %ushort %25 Aligned 2
|
%40 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %39 %ulong_2
|
||||||
|
%22 = OpBitcast %_ptr_Generic_ushort %40
|
||||||
|
%14 = OpLoad %ushort %22 Aligned 2
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %ushort %6
|
%17 = OpLoad %ushort %6
|
||||||
%18 = OpLoad %ushort %7
|
%18 = OpLoad %ushort %7
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_1 = OpConstant %ulong 1
|
%ulong_1 = OpConstant %ulong 1
|
||||||
%ulong_2 = OpConstant %ulong 2
|
%ulong_2 = OpConstant %ulong 2
|
||||||
%1 = OpFunction %void None %43
|
%1 = OpFunction %void None %43
|
||||||
|
@ -43,9 +45,11 @@
|
||||||
%18 = OpLoad %ulong %35 Aligned 8
|
%18 = OpLoad %ulong %35 Aligned 8
|
||||||
OpStore %6 %18
|
OpStore %6 %18
|
||||||
%21 = OpLoad %ulong %4
|
%21 = OpLoad %ulong %4
|
||||||
%32 = OpIAdd %ulong %21 %ulong_8
|
%36 = OpConvertUToPtr %_ptr_Generic_ulong %21
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_ulong %32
|
%50 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
%20 = OpLoad %ulong %36 Aligned 8
|
%51 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %50 %ulong_8
|
||||||
|
%32 = OpBitcast %_ptr_Generic_ulong %51
|
||||||
|
%20 = OpLoad %ulong %32 Aligned 8
|
||||||
OpStore %7 %20
|
OpStore %7 %20
|
||||||
%23 = OpLoad %ulong %6
|
%23 = OpLoad %ulong %6
|
||||||
%24 = OpLoad %ulong %7
|
%24 = OpLoad %ulong %7
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %43
|
%1 = OpFunction %void None %43
|
||||||
%14 = OpFunctionParameter %ulong
|
%14 = OpFunctionParameter %ulong
|
||||||
%15 = OpFunctionParameter %ulong
|
%15 = OpFunctionParameter %ulong
|
||||||
|
@ -43,9 +45,11 @@
|
||||||
%18 = OpLoad %float %35 Aligned 4
|
%18 = OpLoad %float %35 Aligned 4
|
||||||
OpStore %6 %18
|
OpStore %6 %18
|
||||||
%21 = OpLoad %ulong %4
|
%21 = OpLoad %ulong %4
|
||||||
%34 = OpIAdd %ulong %21 %ulong_4
|
%36 = OpConvertUToPtr %_ptr_Generic_float %21
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_float %34
|
%52 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
%20 = OpLoad %float %36 Aligned 4
|
%53 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %52 %ulong_4
|
||||||
|
%34 = OpBitcast %_ptr_Generic_float %53
|
||||||
|
%20 = OpLoad %float %34 Aligned 4
|
||||||
OpStore %7 %20
|
OpStore %7 %20
|
||||||
%23 = OpLoad %float %6
|
%23 = OpLoad %float %6
|
||||||
%24 = OpLoad %float %7
|
%24 = OpLoad %float %7
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %43
|
%1 = OpFunction %void None %43
|
||||||
%14 = OpFunctionParameter %ulong
|
%14 = OpFunctionParameter %ulong
|
||||||
%15 = OpFunctionParameter %ulong
|
%15 = OpFunctionParameter %ulong
|
||||||
|
@ -43,9 +45,11 @@
|
||||||
%18 = OpLoad %float %35 Aligned 4
|
%18 = OpLoad %float %35 Aligned 4
|
||||||
OpStore %6 %18
|
OpStore %6 %18
|
||||||
%21 = OpLoad %ulong %4
|
%21 = OpLoad %ulong %4
|
||||||
%34 = OpIAdd %ulong %21 %ulong_4
|
%36 = OpConvertUToPtr %_ptr_Generic_float %21
|
||||||
%36 = OpConvertUToPtr %_ptr_Generic_float %34
|
%52 = OpBitcast %_ptr_Generic_uchar %36
|
||||||
%20 = OpLoad %float %36 Aligned 4
|
%53 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %52 %ulong_4
|
||||||
|
%34 = OpBitcast %_ptr_Generic_float %53
|
||||||
|
%20 = OpLoad %float %34 Aligned 4
|
||||||
OpStore %7 %20
|
OpStore %7 %20
|
||||||
%23 = OpLoad %float %6
|
%23 = OpLoad %float %6
|
||||||
%24 = OpLoad %float %7
|
%24 = OpLoad %float %7
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%ulong_12 = OpConstant %ulong 12
|
%ulong_12 = OpConstant %ulong 12
|
||||||
%ulong_16 = OpConstant %ulong 16
|
%ulong_16 = OpConstant %ulong 16
|
||||||
|
@ -69,45 +71,59 @@
|
||||||
%36 = OpLoad %float %116 Aligned 4
|
%36 = OpLoad %float %116 Aligned 4
|
||||||
OpStore %6 %36
|
OpStore %6 %36
|
||||||
%39 = OpLoad %ulong %4
|
%39 = OpLoad %ulong %4
|
||||||
%89 = OpIAdd %ulong %39 %ulong_4
|
%117 = OpConvertUToPtr %_ptr_Generic_float %39
|
||||||
%117 = OpConvertUToPtr %_ptr_Generic_float %89
|
%144 = OpBitcast %_ptr_Generic_uchar %117
|
||||||
%38 = OpLoad %float %117 Aligned 4
|
%145 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %144 %ulong_4
|
||||||
|
%89 = OpBitcast %_ptr_Generic_float %145
|
||||||
|
%38 = OpLoad %float %89 Aligned 4
|
||||||
OpStore %7 %38
|
OpStore %7 %38
|
||||||
%41 = OpLoad %ulong %4
|
%41 = OpLoad %ulong %4
|
||||||
%91 = OpIAdd %ulong %41 %ulong_8
|
%118 = OpConvertUToPtr %_ptr_Generic_float %41
|
||||||
%118 = OpConvertUToPtr %_ptr_Generic_float %91
|
%146 = OpBitcast %_ptr_Generic_uchar %118
|
||||||
%40 = OpLoad %float %118 Aligned 4
|
%147 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %146 %ulong_8
|
||||||
|
%91 = OpBitcast %_ptr_Generic_float %147
|
||||||
|
%40 = OpLoad %float %91 Aligned 4
|
||||||
OpStore %8 %40
|
OpStore %8 %40
|
||||||
%43 = OpLoad %ulong %4
|
%43 = OpLoad %ulong %4
|
||||||
%93 = OpIAdd %ulong %43 %ulong_12
|
%119 = OpConvertUToPtr %_ptr_Generic_float %43
|
||||||
%119 = OpConvertUToPtr %_ptr_Generic_float %93
|
%148 = OpBitcast %_ptr_Generic_uchar %119
|
||||||
%42 = OpLoad %float %119 Aligned 4
|
%149 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %148 %ulong_12
|
||||||
|
%93 = OpBitcast %_ptr_Generic_float %149
|
||||||
|
%42 = OpLoad %float %93 Aligned 4
|
||||||
OpStore %9 %42
|
OpStore %9 %42
|
||||||
%45 = OpLoad %ulong %4
|
%45 = OpLoad %ulong %4
|
||||||
%95 = OpIAdd %ulong %45 %ulong_16
|
%120 = OpConvertUToPtr %_ptr_Generic_float %45
|
||||||
%120 = OpConvertUToPtr %_ptr_Generic_float %95
|
%150 = OpBitcast %_ptr_Generic_uchar %120
|
||||||
%44 = OpLoad %float %120 Aligned 4
|
%151 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %150 %ulong_16
|
||||||
|
%95 = OpBitcast %_ptr_Generic_float %151
|
||||||
|
%44 = OpLoad %float %95 Aligned 4
|
||||||
OpStore %10 %44
|
OpStore %10 %44
|
||||||
%47 = OpLoad %ulong %4
|
%47 = OpLoad %ulong %4
|
||||||
%97 = OpIAdd %ulong %47 %ulong_20
|
%121 = OpConvertUToPtr %_ptr_Generic_float %47
|
||||||
%121 = OpConvertUToPtr %_ptr_Generic_float %97
|
%152 = OpBitcast %_ptr_Generic_uchar %121
|
||||||
%46 = OpLoad %float %121 Aligned 4
|
%153 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %152 %ulong_20
|
||||||
|
%97 = OpBitcast %_ptr_Generic_float %153
|
||||||
|
%46 = OpLoad %float %97 Aligned 4
|
||||||
OpStore %11 %46
|
OpStore %11 %46
|
||||||
%49 = OpLoad %ulong %4
|
%49 = OpLoad %ulong %4
|
||||||
%99 = OpIAdd %ulong %49 %ulong_24
|
%122 = OpConvertUToPtr %_ptr_Generic_float %49
|
||||||
%122 = OpConvertUToPtr %_ptr_Generic_float %99
|
%154 = OpBitcast %_ptr_Generic_uchar %122
|
||||||
%48 = OpLoad %float %122 Aligned 4
|
%155 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %154 %ulong_24
|
||||||
|
%99 = OpBitcast %_ptr_Generic_float %155
|
||||||
|
%48 = OpLoad %float %99 Aligned 4
|
||||||
OpStore %12 %48
|
OpStore %12 %48
|
||||||
%51 = OpLoad %ulong %4
|
%51 = OpLoad %ulong %4
|
||||||
%101 = OpIAdd %ulong %51 %ulong_28
|
%123 = OpConvertUToPtr %_ptr_Generic_float %51
|
||||||
%123 = OpConvertUToPtr %_ptr_Generic_float %101
|
%156 = OpBitcast %_ptr_Generic_uchar %123
|
||||||
%50 = OpLoad %float %123 Aligned 4
|
%157 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %156 %ulong_28
|
||||||
|
%101 = OpBitcast %_ptr_Generic_float %157
|
||||||
|
%50 = OpLoad %float %101 Aligned 4
|
||||||
OpStore %13 %50
|
OpStore %13 %50
|
||||||
%53 = OpLoad %float %6
|
%53 = OpLoad %float %6
|
||||||
%54 = OpLoad %float %7
|
%54 = OpLoad %float %7
|
||||||
%142 = OpIsNan %bool %53
|
%158 = OpIsNan %bool %53
|
||||||
%143 = OpIsNan %bool %54
|
%159 = OpIsNan %bool %54
|
||||||
%52 = OpLogicalOr %bool %142 %143
|
%52 = OpLogicalOr %bool %158 %159
|
||||||
OpStore %15 %52
|
OpStore %15 %52
|
||||||
%55 = OpLoad %bool %15
|
%55 = OpLoad %bool %15
|
||||||
OpBranchConditional %55 %16 %17
|
OpBranchConditional %55 %16 %17
|
||||||
|
@ -129,9 +145,9 @@
|
||||||
OpStore %124 %60 Aligned 4
|
OpStore %124 %60 Aligned 4
|
||||||
%62 = OpLoad %float %8
|
%62 = OpLoad %float %8
|
||||||
%63 = OpLoad %float %9
|
%63 = OpLoad %float %9
|
||||||
%145 = OpIsNan %bool %62
|
%161 = OpIsNan %bool %62
|
||||||
%146 = OpIsNan %bool %63
|
%162 = OpIsNan %bool %63
|
||||||
%61 = OpLogicalOr %bool %145 %146
|
%61 = OpLogicalOr %bool %161 %162
|
||||||
OpStore %15 %61
|
OpStore %15 %61
|
||||||
%64 = OpLoad %bool %15
|
%64 = OpLoad %bool %15
|
||||||
OpBranchConditional %64 %20 %21
|
OpBranchConditional %64 %20 %21
|
||||||
|
@ -149,14 +165,16 @@
|
||||||
%23 = OpLabel
|
%23 = OpLabel
|
||||||
%68 = OpLoad %ulong %5
|
%68 = OpLoad %ulong %5
|
||||||
%69 = OpLoad %uint %14
|
%69 = OpLoad %uint %14
|
||||||
%107 = OpIAdd %ulong %68 %ulong_4_0
|
%125 = OpConvertUToPtr %_ptr_Generic_uint %68
|
||||||
%125 = OpConvertUToPtr %_ptr_Generic_uint %107
|
%163 = OpBitcast %_ptr_Generic_uchar %125
|
||||||
OpStore %125 %69 Aligned 4
|
%164 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %163 %ulong_4_0
|
||||||
|
%107 = OpBitcast %_ptr_Generic_uint %164
|
||||||
|
OpStore %107 %69 Aligned 4
|
||||||
%71 = OpLoad %float %10
|
%71 = OpLoad %float %10
|
||||||
%72 = OpLoad %float %11
|
%72 = OpLoad %float %11
|
||||||
%147 = OpIsNan %bool %71
|
%165 = OpIsNan %bool %71
|
||||||
%148 = OpIsNan %bool %72
|
%166 = OpIsNan %bool %72
|
||||||
%70 = OpLogicalOr %bool %147 %148
|
%70 = OpLogicalOr %bool %165 %166
|
||||||
OpStore %15 %70
|
OpStore %15 %70
|
||||||
%73 = OpLoad %bool %15
|
%73 = OpLoad %bool %15
|
||||||
OpBranchConditional %73 %24 %25
|
OpBranchConditional %73 %24 %25
|
||||||
|
@ -174,14 +192,16 @@
|
||||||
%27 = OpLabel
|
%27 = OpLabel
|
||||||
%77 = OpLoad %ulong %5
|
%77 = OpLoad %ulong %5
|
||||||
%78 = OpLoad %uint %14
|
%78 = OpLoad %uint %14
|
||||||
%111 = OpIAdd %ulong %77 %ulong_8_0
|
%126 = OpConvertUToPtr %_ptr_Generic_uint %77
|
||||||
%126 = OpConvertUToPtr %_ptr_Generic_uint %111
|
%167 = OpBitcast %_ptr_Generic_uchar %126
|
||||||
OpStore %126 %78 Aligned 4
|
%168 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %167 %ulong_8_0
|
||||||
|
%111 = OpBitcast %_ptr_Generic_uint %168
|
||||||
|
OpStore %111 %78 Aligned 4
|
||||||
%80 = OpLoad %float %12
|
%80 = OpLoad %float %12
|
||||||
%81 = OpLoad %float %13
|
%81 = OpLoad %float %13
|
||||||
%149 = OpIsNan %bool %80
|
%169 = OpIsNan %bool %80
|
||||||
%150 = OpIsNan %bool %81
|
%170 = OpIsNan %bool %81
|
||||||
%79 = OpLogicalOr %bool %149 %150
|
%79 = OpLogicalOr %bool %169 %170
|
||||||
OpStore %15 %79
|
OpStore %15 %79
|
||||||
%82 = OpLoad %bool %15
|
%82 = OpLoad %bool %15
|
||||||
OpBranchConditional %82 %28 %29
|
OpBranchConditional %82 %28 %29
|
||||||
|
@ -199,8 +219,10 @@
|
||||||
%31 = OpLabel
|
%31 = OpLabel
|
||||||
%86 = OpLoad %ulong %5
|
%86 = OpLoad %ulong %5
|
||||||
%87 = OpLoad %uint %14
|
%87 = OpLoad %uint %14
|
||||||
%115 = OpIAdd %ulong %86 %ulong_12_0
|
%127 = OpConvertUToPtr %_ptr_Generic_uint %86
|
||||||
%127 = OpConvertUToPtr %_ptr_Generic_uint %115
|
%171 = OpBitcast %_ptr_Generic_uchar %127
|
||||||
OpStore %127 %87 Aligned 4
|
%172 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %171 %ulong_12_0
|
||||||
|
%115 = OpBitcast %_ptr_Generic_uint %172
|
||||||
|
OpStore %115 %87 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||||
%_ptr_Generic_float = OpTypePointer Generic %float
|
%_ptr_Generic_float = OpTypePointer Generic %float
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%ulong_8 = OpConstant %ulong 8
|
%ulong_8 = OpConstant %ulong 8
|
||||||
%ulong_12 = OpConstant %ulong 12
|
%ulong_12 = OpConstant %ulong 12
|
||||||
%ulong_16 = OpConstant %ulong 16
|
%ulong_16 = OpConstant %ulong 16
|
||||||
|
@ -77,46 +79,60 @@
|
||||||
%36 = OpLoad %float %116 Aligned 4
|
%36 = OpLoad %float %116 Aligned 4
|
||||||
OpStore %6 %36
|
OpStore %6 %36
|
||||||
%39 = OpLoad %ulong %4
|
%39 = OpLoad %ulong %4
|
||||||
%89 = OpIAdd %ulong %39 %ulong_4
|
%117 = OpConvertUToPtr %_ptr_Generic_float %39
|
||||||
%117 = OpConvertUToPtr %_ptr_Generic_float %89
|
%144 = OpBitcast %_ptr_Generic_uchar %117
|
||||||
%38 = OpLoad %float %117 Aligned 4
|
%145 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %144 %ulong_4
|
||||||
|
%89 = OpBitcast %_ptr_Generic_float %145
|
||||||
|
%38 = OpLoad %float %89 Aligned 4
|
||||||
OpStore %7 %38
|
OpStore %7 %38
|
||||||
%41 = OpLoad %ulong %4
|
%41 = OpLoad %ulong %4
|
||||||
%91 = OpIAdd %ulong %41 %ulong_8
|
%118 = OpConvertUToPtr %_ptr_Generic_float %41
|
||||||
%118 = OpConvertUToPtr %_ptr_Generic_float %91
|
%146 = OpBitcast %_ptr_Generic_uchar %118
|
||||||
%40 = OpLoad %float %118 Aligned 4
|
%147 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %146 %ulong_8
|
||||||
|
%91 = OpBitcast %_ptr_Generic_float %147
|
||||||
|
%40 = OpLoad %float %91 Aligned 4
|
||||||
OpStore %8 %40
|
OpStore %8 %40
|
||||||
%43 = OpLoad %ulong %4
|
%43 = OpLoad %ulong %4
|
||||||
%93 = OpIAdd %ulong %43 %ulong_12
|
%119 = OpConvertUToPtr %_ptr_Generic_float %43
|
||||||
%119 = OpConvertUToPtr %_ptr_Generic_float %93
|
%148 = OpBitcast %_ptr_Generic_uchar %119
|
||||||
%42 = OpLoad %float %119 Aligned 4
|
%149 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %148 %ulong_12
|
||||||
|
%93 = OpBitcast %_ptr_Generic_float %149
|
||||||
|
%42 = OpLoad %float %93 Aligned 4
|
||||||
OpStore %9 %42
|
OpStore %9 %42
|
||||||
%45 = OpLoad %ulong %4
|
%45 = OpLoad %ulong %4
|
||||||
%95 = OpIAdd %ulong %45 %ulong_16
|
%120 = OpConvertUToPtr %_ptr_Generic_float %45
|
||||||
%120 = OpConvertUToPtr %_ptr_Generic_float %95
|
%150 = OpBitcast %_ptr_Generic_uchar %120
|
||||||
%44 = OpLoad %float %120 Aligned 4
|
%151 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %150 %ulong_16
|
||||||
|
%95 = OpBitcast %_ptr_Generic_float %151
|
||||||
|
%44 = OpLoad %float %95 Aligned 4
|
||||||
OpStore %10 %44
|
OpStore %10 %44
|
||||||
%47 = OpLoad %ulong %4
|
%47 = OpLoad %ulong %4
|
||||||
%97 = OpIAdd %ulong %47 %ulong_20
|
%121 = OpConvertUToPtr %_ptr_Generic_float %47
|
||||||
%121 = OpConvertUToPtr %_ptr_Generic_float %97
|
%152 = OpBitcast %_ptr_Generic_uchar %121
|
||||||
%46 = OpLoad %float %121 Aligned 4
|
%153 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %152 %ulong_20
|
||||||
|
%97 = OpBitcast %_ptr_Generic_float %153
|
||||||
|
%46 = OpLoad %float %97 Aligned 4
|
||||||
OpStore %11 %46
|
OpStore %11 %46
|
||||||
%49 = OpLoad %ulong %4
|
%49 = OpLoad %ulong %4
|
||||||
%99 = OpIAdd %ulong %49 %ulong_24
|
%122 = OpConvertUToPtr %_ptr_Generic_float %49
|
||||||
%122 = OpConvertUToPtr %_ptr_Generic_float %99
|
%154 = OpBitcast %_ptr_Generic_uchar %122
|
||||||
%48 = OpLoad %float %122 Aligned 4
|
%155 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %154 %ulong_24
|
||||||
|
%99 = OpBitcast %_ptr_Generic_float %155
|
||||||
|
%48 = OpLoad %float %99 Aligned 4
|
||||||
OpStore %12 %48
|
OpStore %12 %48
|
||||||
%51 = OpLoad %ulong %4
|
%51 = OpLoad %ulong %4
|
||||||
%101 = OpIAdd %ulong %51 %ulong_28
|
%123 = OpConvertUToPtr %_ptr_Generic_float %51
|
||||||
%123 = OpConvertUToPtr %_ptr_Generic_float %101
|
%156 = OpBitcast %_ptr_Generic_uchar %123
|
||||||
%50 = OpLoad %float %123 Aligned 4
|
%157 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %156 %ulong_28
|
||||||
|
%101 = OpBitcast %_ptr_Generic_float %157
|
||||||
|
%50 = OpLoad %float %101 Aligned 4
|
||||||
OpStore %13 %50
|
OpStore %13 %50
|
||||||
%53 = OpLoad %float %6
|
%53 = OpLoad %float %6
|
||||||
%54 = OpLoad %float %7
|
%54 = OpLoad %float %7
|
||||||
%142 = OpIsNan %bool %53
|
%158 = OpIsNan %bool %53
|
||||||
%143 = OpIsNan %bool %54
|
%159 = OpIsNan %bool %54
|
||||||
%144 = OpLogicalOr %bool %142 %143
|
%160 = OpLogicalOr %bool %158 %159
|
||||||
%52 = OpSelect %bool %144 %false %true
|
%52 = OpSelect %bool %160 %false %true
|
||||||
OpStore %15 %52
|
OpStore %15 %52
|
||||||
%55 = OpLoad %bool %15
|
%55 = OpLoad %bool %15
|
||||||
OpBranchConditional %55 %16 %17
|
OpBranchConditional %55 %16 %17
|
||||||
|
@ -138,10 +154,10 @@
|
||||||
OpStore %124 %60 Aligned 4
|
OpStore %124 %60 Aligned 4
|
||||||
%62 = OpLoad %float %8
|
%62 = OpLoad %float %8
|
||||||
%63 = OpLoad %float %9
|
%63 = OpLoad %float %9
|
||||||
%148 = OpIsNan %bool %62
|
%164 = OpIsNan %bool %62
|
||||||
%149 = OpIsNan %bool %63
|
%165 = OpIsNan %bool %63
|
||||||
%150 = OpLogicalOr %bool %148 %149
|
%166 = OpLogicalOr %bool %164 %165
|
||||||
%61 = OpSelect %bool %150 %false_0 %true_0
|
%61 = OpSelect %bool %166 %false_0 %true_0
|
||||||
OpStore %15 %61
|
OpStore %15 %61
|
||||||
%64 = OpLoad %bool %15
|
%64 = OpLoad %bool %15
|
||||||
OpBranchConditional %64 %20 %21
|
OpBranchConditional %64 %20 %21
|
||||||
|
@ -159,15 +175,17 @@
|
||||||
%23 = OpLabel
|
%23 = OpLabel
|
||||||
%68 = OpLoad %ulong %5
|
%68 = OpLoad %ulong %5
|
||||||
%69 = OpLoad %uint %14
|
%69 = OpLoad %uint %14
|
||||||
%107 = OpIAdd %ulong %68 %ulong_4_0
|
%125 = OpConvertUToPtr %_ptr_Generic_uint %68
|
||||||
%125 = OpConvertUToPtr %_ptr_Generic_uint %107
|
%169 = OpBitcast %_ptr_Generic_uchar %125
|
||||||
OpStore %125 %69 Aligned 4
|
%170 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %169 %ulong_4_0
|
||||||
|
%107 = OpBitcast %_ptr_Generic_uint %170
|
||||||
|
OpStore %107 %69 Aligned 4
|
||||||
%71 = OpLoad %float %10
|
%71 = OpLoad %float %10
|
||||||
%72 = OpLoad %float %11
|
%72 = OpLoad %float %11
|
||||||
%153 = OpIsNan %bool %71
|
%171 = OpIsNan %bool %71
|
||||||
%154 = OpIsNan %bool %72
|
%172 = OpIsNan %bool %72
|
||||||
%155 = OpLogicalOr %bool %153 %154
|
%173 = OpLogicalOr %bool %171 %172
|
||||||
%70 = OpSelect %bool %155 %false_1 %true_1
|
%70 = OpSelect %bool %173 %false_1 %true_1
|
||||||
OpStore %15 %70
|
OpStore %15 %70
|
||||||
%73 = OpLoad %bool %15
|
%73 = OpLoad %bool %15
|
||||||
OpBranchConditional %73 %24 %25
|
OpBranchConditional %73 %24 %25
|
||||||
|
@ -185,15 +203,17 @@
|
||||||
%27 = OpLabel
|
%27 = OpLabel
|
||||||
%77 = OpLoad %ulong %5
|
%77 = OpLoad %ulong %5
|
||||||
%78 = OpLoad %uint %14
|
%78 = OpLoad %uint %14
|
||||||
%111 = OpIAdd %ulong %77 %ulong_8_0
|
%126 = OpConvertUToPtr %_ptr_Generic_uint %77
|
||||||
%126 = OpConvertUToPtr %_ptr_Generic_uint %111
|
%176 = OpBitcast %_ptr_Generic_uchar %126
|
||||||
OpStore %126 %78 Aligned 4
|
%177 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %176 %ulong_8_0
|
||||||
|
%111 = OpBitcast %_ptr_Generic_uint %177
|
||||||
|
OpStore %111 %78 Aligned 4
|
||||||
%80 = OpLoad %float %12
|
%80 = OpLoad %float %12
|
||||||
%81 = OpLoad %float %13
|
%81 = OpLoad %float %13
|
||||||
%158 = OpIsNan %bool %80
|
%178 = OpIsNan %bool %80
|
||||||
%159 = OpIsNan %bool %81
|
%179 = OpIsNan %bool %81
|
||||||
%160 = OpLogicalOr %bool %158 %159
|
%180 = OpLogicalOr %bool %178 %179
|
||||||
%79 = OpSelect %bool %160 %false_2 %true_2
|
%79 = OpSelect %bool %180 %false_2 %true_2
|
||||||
OpStore %15 %79
|
OpStore %15 %79
|
||||||
%82 = OpLoad %bool %15
|
%82 = OpLoad %bool %15
|
||||||
OpBranchConditional %82 %28 %29
|
OpBranchConditional %82 %28 %29
|
||||||
|
@ -211,8 +231,10 @@
|
||||||
%31 = OpLabel
|
%31 = OpLabel
|
||||||
%86 = OpLoad %ulong %5
|
%86 = OpLoad %ulong %5
|
||||||
%87 = OpLoad %uint %14
|
%87 = OpLoad %uint %14
|
||||||
%115 = OpIAdd %ulong %86 %ulong_12_0
|
%127 = OpConvertUToPtr %_ptr_Generic_uint %86
|
||||||
%127 = OpConvertUToPtr %_ptr_Generic_uint %115
|
%183 = OpBitcast %_ptr_Generic_uchar %127
|
||||||
OpStore %127 %87 Aligned 4
|
%184 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %183 %ulong_12_0
|
||||||
|
%115 = OpBitcast %_ptr_Generic_uint %184
|
||||||
|
OpStore %115 %87 Aligned 4
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -24,7 +24,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
||||||
%uint_0 = OpConstant %uint 0
|
%ulong_0 = OpConstant %ulong 0
|
||||||
|
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
||||||
%1 = OpFunction %void None %40
|
%1 = OpFunction %void None %40
|
||||||
%10 = OpFunctionParameter %ulong
|
%10 = OpFunctionParameter %ulong
|
||||||
%11 = OpFunctionParameter %ulong
|
%11 = OpFunctionParameter %ulong
|
||||||
|
@ -54,9 +55,11 @@
|
||||||
%27 = OpConvertUToPtr %_ptr_Workgroup_ulong %17
|
%27 = OpConvertUToPtr %_ptr_Workgroup_ulong %17
|
||||||
OpStore %27 %18 Aligned 8
|
OpStore %27 %18 Aligned 8
|
||||||
%20 = OpLoad %uint %7
|
%20 = OpLoad %uint %7
|
||||||
%24 = OpIAdd %uint %20 %uint_0
|
%28 = OpConvertUToPtr %_ptr_Workgroup_ulong %20
|
||||||
%28 = OpConvertUToPtr %_ptr_Workgroup_ulong %24
|
%46 = OpBitcast %_ptr_Workgroup_uchar %28
|
||||||
%19 = OpLoad %ulong %28 Aligned 8
|
%47 = OpInBoundsPtrAccessChain %_ptr_Workgroup_uchar %46 %ulong_0
|
||||||
|
%24 = OpBitcast %_ptr_Workgroup_ulong %47
|
||||||
|
%19 = OpLoad %ulong %24 Aligned 8
|
||||||
OpStore %9 %19
|
OpStore %9 %19
|
||||||
%21 = OpLoad %ulong %6
|
%21 = OpLoad %ulong %6
|
||||||
%22 = OpLoad %ulong %9
|
%22 = OpLoad %ulong %9
|
||||||
|
|
|
@ -7,27 +7,24 @@
|
||||||
OpCapability Int64
|
OpCapability Int64
|
||||||
OpCapability Float16
|
OpCapability Float16
|
||||||
OpCapability Float64
|
OpCapability Float64
|
||||||
%33 = OpExtInstImport "OpenCL.std"
|
%31 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %2 "shared_ptr_take_address" %1
|
OpEntryPoint Kernel %2 "shared_ptr_take_address" %1
|
||||||
OpDecorate %1 Alignment 4
|
OpDecorate %1 Alignment 4
|
||||||
%void = OpTypeVoid
|
%void = OpTypeVoid
|
||||||
%uchar = OpTypeInt 8 0
|
%uchar = OpTypeInt 8 0
|
||||||
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
%_ptr_Workgroup_uchar = OpTypePointer Workgroup %uchar
|
||||||
%_ptr_Workgroup__ptr_Workgroup_uchar = OpTypePointer Workgroup %_ptr_Workgroup_uchar
|
%1 = OpVariable %_ptr_Workgroup_uchar Workgroup
|
||||||
%1 = OpVariable %_ptr_Workgroup__ptr_Workgroup_uchar Workgroup
|
|
||||||
%ulong = OpTypeInt 64 0
|
%ulong = OpTypeInt 64 0
|
||||||
%39 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
%36 = OpTypeFunction %void %ulong %ulong %_ptr_Workgroup_uchar
|
||||||
%_ptr_Function__ptr_Workgroup_uchar = OpTypePointer Function %_ptr_Workgroup_uchar
|
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
%_ptr_Workgroup_ulong = OpTypePointer Workgroup %ulong
|
||||||
%2 = OpFunction %void None %39
|
%2 = OpFunction %void None %36
|
||||||
%10 = OpFunctionParameter %ulong
|
%10 = OpFunctionParameter %ulong
|
||||||
%11 = OpFunctionParameter %ulong
|
%11 = OpFunctionParameter %ulong
|
||||||
%31 = OpFunctionParameter %_ptr_Workgroup_uchar
|
%30 = OpFunctionParameter %_ptr_Workgroup_uchar
|
||||||
%40 = OpLabel
|
%28 = OpLabel
|
||||||
%32 = OpVariable %_ptr_Function__ptr_Workgroup_uchar Function
|
|
||||||
%3 = OpVariable %_ptr_Function_ulong Function
|
%3 = OpVariable %_ptr_Function_ulong Function
|
||||||
%4 = OpVariable %_ptr_Function_ulong Function
|
%4 = OpVariable %_ptr_Function_ulong Function
|
||||||
%5 = OpVariable %_ptr_Function_ulong Function
|
%5 = OpVariable %_ptr_Function_ulong Function
|
||||||
|
@ -35,34 +32,30 @@
|
||||||
%7 = OpVariable %_ptr_Function_ulong Function
|
%7 = OpVariable %_ptr_Function_ulong Function
|
||||||
%8 = OpVariable %_ptr_Function_ulong Function
|
%8 = OpVariable %_ptr_Function_ulong Function
|
||||||
%9 = OpVariable %_ptr_Function_ulong Function
|
%9 = OpVariable %_ptr_Function_ulong Function
|
||||||
OpStore %32 %31
|
|
||||||
OpBranch %29
|
|
||||||
%29 = OpLabel
|
|
||||||
OpStore %3 %10
|
OpStore %3 %10
|
||||||
OpStore %4 %11
|
OpStore %4 %11
|
||||||
%12 = OpLoad %ulong %3 Aligned 8
|
%12 = OpLoad %ulong %3 Aligned 8
|
||||||
OpStore %5 %12
|
OpStore %5 %12
|
||||||
%13 = OpLoad %ulong %4 Aligned 8
|
%13 = OpLoad %ulong %4 Aligned 8
|
||||||
OpStore %6 %13
|
OpStore %6 %13
|
||||||
%15 = OpLoad %_ptr_Workgroup_uchar %32
|
%23 = OpConvertPtrToU %ulong %30
|
||||||
%24 = OpConvertPtrToU %ulong %15
|
%14 = OpCopyObject %ulong %23
|
||||||
%14 = OpCopyObject %ulong %24
|
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %ulong %5
|
%16 = OpLoad %ulong %5
|
||||||
%25 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %17
|
%24 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %16
|
||||||
%16 = OpLoad %ulong %25 Aligned 8
|
%15 = OpLoad %ulong %24 Aligned 8
|
||||||
OpStore %8 %16
|
OpStore %8 %15
|
||||||
%18 = OpLoad %ulong %7
|
%17 = OpLoad %ulong %7
|
||||||
%19 = OpLoad %ulong %8
|
%18 = OpLoad %ulong %8
|
||||||
%26 = OpConvertUToPtr %_ptr_Workgroup_ulong %18
|
%25 = OpConvertUToPtr %_ptr_Workgroup_ulong %17
|
||||||
OpStore %26 %19 Aligned 8
|
OpStore %25 %18 Aligned 8
|
||||||
%21 = OpLoad %ulong %7
|
%20 = OpLoad %ulong %7
|
||||||
%27 = OpConvertUToPtr %_ptr_Workgroup_ulong %21
|
%26 = OpConvertUToPtr %_ptr_Workgroup_ulong %20
|
||||||
%20 = OpLoad %ulong %27 Aligned 8
|
%19 = OpLoad %ulong %26 Aligned 8
|
||||||
OpStore %9 %20
|
OpStore %9 %19
|
||||||
%22 = OpLoad %ulong %6
|
%21 = OpLoad %ulong %6
|
||||||
%23 = OpLoad %ulong %9
|
%22 = OpLoad %ulong %9
|
||||||
%28 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %22
|
%27 = OpConvertUToPtr %_ptr_CrossWorkgroup_ulong %21
|
||||||
OpStore %28 %23 Aligned 8
|
OpStore %27 %22 Aligned 8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
OpCapability Int64
|
OpCapability Int64
|
||||||
OpCapability Float16
|
OpCapability Float16
|
||||||
OpCapability Float64
|
OpCapability Float64
|
||||||
%50 = OpExtInstImport "OpenCL.std"
|
%54 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %1 "stateful_ld_st_ntid" %gl_LocalInvocationID
|
OpEntryPoint Kernel %1 "stateful_ld_st_ntid" %gl_LocalInvocationID
|
||||||
OpDecorate %gl_LocalInvocationID BuiltIn LocalInvocationId
|
OpDecorate %gl_LocalInvocationID BuiltIn LocalInvocationId
|
||||||
|
@ -18,34 +18,34 @@
|
||||||
%gl_LocalInvocationID = OpVariable %_ptr_Input_v3ulong Input
|
%gl_LocalInvocationID = OpVariable %_ptr_Input_v3ulong Input
|
||||||
%uchar = OpTypeInt 8 0
|
%uchar = OpTypeInt 8 0
|
||||||
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
||||||
%57 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
|
%61 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
|
||||||
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
|
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%1 = OpFunction %void None %57
|
%1 = OpFunction %void None %61
|
||||||
%20 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
%20 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
||||||
%21 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
%21 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
||||||
%48 = OpLabel
|
%52 = OpLabel
|
||||||
%2 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%12 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%3 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%13 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%10 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%10 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%11 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%11 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%6 = OpVariable %_ptr_Function_uint Function
|
%6 = OpVariable %_ptr_Function_uint Function
|
||||||
%7 = OpVariable %_ptr_Function_ulong Function
|
%7 = OpVariable %_ptr_Function_ulong Function
|
||||||
%8 = OpVariable %_ptr_Function_ulong Function
|
%8 = OpVariable %_ptr_Function_ulong Function
|
||||||
OpStore %2 %20
|
OpStore %12 %20
|
||||||
OpStore %3 %21
|
OpStore %13 %21
|
||||||
%13 = OpBitcast %_ptr_Function_ulong %2
|
%45 = OpBitcast %_ptr_Function_ulong %12
|
||||||
%44 = OpLoad %ulong %13 Aligned 8
|
%44 = OpLoad %ulong %45 Aligned 8
|
||||||
%12 = OpCopyObject %ulong %44
|
%14 = OpCopyObject %ulong %44
|
||||||
%22 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %12
|
%22 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %14
|
||||||
OpStore %10 %22
|
OpStore %10 %22
|
||||||
%15 = OpBitcast %_ptr_Function_ulong %3
|
%47 = OpBitcast %_ptr_Function_ulong %13
|
||||||
%45 = OpLoad %ulong %15 Aligned 8
|
%46 = OpLoad %ulong %47 Aligned 8
|
||||||
%14 = OpCopyObject %ulong %45
|
%15 = OpCopyObject %ulong %46
|
||||||
%23 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %14
|
%23 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %15
|
||||||
OpStore %11 %23
|
OpStore %11 %23
|
||||||
%24 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
%24 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
||||||
%17 = OpConvertPtrToU %ulong %24
|
%17 = OpConvertPtrToU %ulong %24
|
||||||
|
@ -57,35 +57,37 @@
|
||||||
%18 = OpCopyObject %ulong %19
|
%18 = OpCopyObject %ulong %19
|
||||||
%27 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %18
|
%27 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %18
|
||||||
OpStore %11 %27
|
OpStore %11 %27
|
||||||
%62 = OpLoad %v3ulong %gl_LocalInvocationID
|
%66 = OpLoad %v3ulong %gl_LocalInvocationID
|
||||||
%43 = OpCompositeExtract %ulong %62 0
|
%43 = OpCompositeExtract %ulong %66 0
|
||||||
%63 = OpBitcast %ulong %43
|
%67 = OpBitcast %ulong %43
|
||||||
%29 = OpUConvert %uint %63
|
%29 = OpUConvert %uint %67
|
||||||
%28 = OpCopyObject %uint %29
|
%28 = OpCopyObject %uint %29
|
||||||
OpStore %6 %28
|
OpStore %6 %28
|
||||||
%31 = OpLoad %uint %6
|
%31 = OpLoad %uint %6
|
||||||
%64 = OpBitcast %uint %31
|
%68 = OpBitcast %uint %31
|
||||||
%30 = OpUConvert %ulong %64
|
%30 = OpUConvert %ulong %68
|
||||||
OpStore %7 %30
|
OpStore %7 %30
|
||||||
%33 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
%33 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
||||||
%34 = OpLoad %ulong %7
|
%34 = OpLoad %ulong %7
|
||||||
%65 = OpBitcast %_ptr_CrossWorkgroup_uchar %33
|
%48 = OpCopyObject %ulong %34
|
||||||
%66 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %65 %34
|
%69 = OpBitcast %_ptr_CrossWorkgroup_uchar %33
|
||||||
%32 = OpBitcast %_ptr_CrossWorkgroup_uchar %66
|
%70 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %69 %48
|
||||||
|
%32 = OpBitcast %_ptr_CrossWorkgroup_uchar %70
|
||||||
OpStore %10 %32
|
OpStore %10 %32
|
||||||
%36 = OpLoad %_ptr_CrossWorkgroup_uchar %11
|
%36 = OpLoad %_ptr_CrossWorkgroup_uchar %11
|
||||||
%37 = OpLoad %ulong %7
|
%37 = OpLoad %ulong %7
|
||||||
%67 = OpBitcast %_ptr_CrossWorkgroup_uchar %36
|
%49 = OpCopyObject %ulong %37
|
||||||
%68 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %67 %37
|
%71 = OpBitcast %_ptr_CrossWorkgroup_uchar %36
|
||||||
%35 = OpBitcast %_ptr_CrossWorkgroup_uchar %68
|
%72 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %71 %49
|
||||||
|
%35 = OpBitcast %_ptr_CrossWorkgroup_uchar %72
|
||||||
OpStore %11 %35
|
OpStore %11 %35
|
||||||
%39 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
%39 = OpLoad %_ptr_CrossWorkgroup_uchar %10
|
||||||
%46 = OpBitcast %_ptr_CrossWorkgroup_ulong %39
|
%50 = OpBitcast %_ptr_CrossWorkgroup_ulong %39
|
||||||
%38 = OpLoad %ulong %46 Aligned 8
|
%38 = OpLoad %ulong %50 Aligned 8
|
||||||
OpStore %8 %38
|
OpStore %8 %38
|
||||||
%40 = OpLoad %_ptr_CrossWorkgroup_uchar %11
|
%40 = OpLoad %_ptr_CrossWorkgroup_uchar %11
|
||||||
%41 = OpLoad %ulong %8
|
%41 = OpLoad %ulong %8
|
||||||
%47 = OpBitcast %_ptr_CrossWorkgroup_ulong %40
|
%51 = OpBitcast %_ptr_CrossWorkgroup_ulong %40
|
||||||
OpStore %47 %41 Aligned 8
|
OpStore %51 %41 Aligned 8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
OpCapability Int64
|
OpCapability Int64
|
||||||
OpCapability Float16
|
OpCapability Float16
|
||||||
OpCapability Float64
|
OpCapability Float64
|
||||||
%58 = OpExtInstImport "OpenCL.std"
|
%62 = OpExtInstImport "OpenCL.std"
|
||||||
OpMemoryModel Physical64 OpenCL
|
OpMemoryModel Physical64 OpenCL
|
||||||
OpEntryPoint Kernel %1 "stateful_ld_st_ntid_chain" %gl_LocalInvocationID
|
OpEntryPoint Kernel %1 "stateful_ld_st_ntid_chain" %gl_LocalInvocationID
|
||||||
OpDecorate %gl_LocalInvocationID BuiltIn LocalInvocationId
|
OpDecorate %gl_LocalInvocationID BuiltIn LocalInvocationId
|
||||||
|
@ -18,18 +18,18 @@
|
||||||
%gl_LocalInvocationID = OpVariable %_ptr_Input_v3ulong Input
|
%gl_LocalInvocationID = OpVariable %_ptr_Input_v3ulong Input
|
||||||
%uchar = OpTypeInt 8 0
|
%uchar = OpTypeInt 8 0
|
||||||
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
|
||||||
%65 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
|
%69 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar %_ptr_CrossWorkgroup_uchar
|
||||||
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
|
%_ptr_Function__ptr_CrossWorkgroup_uchar = OpTypePointer Function %_ptr_CrossWorkgroup_uchar
|
||||||
%uint = OpTypeInt 32 0
|
%uint = OpTypeInt 32 0
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
%_ptr_Function_ulong = OpTypePointer Function %ulong
|
||||||
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
%_ptr_CrossWorkgroup_ulong = OpTypePointer CrossWorkgroup %ulong
|
||||||
%1 = OpFunction %void None %65
|
%1 = OpFunction %void None %69
|
||||||
%28 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
%28 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
||||||
%29 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
%29 = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
|
||||||
%56 = OpLabel
|
%60 = OpLabel
|
||||||
%2 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%20 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%3 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%21 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%14 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%14 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%15 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%15 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
%16 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
%16 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_uchar Function
|
||||||
|
@ -39,17 +39,17 @@
|
||||||
%10 = OpVariable %_ptr_Function_uint Function
|
%10 = OpVariable %_ptr_Function_uint Function
|
||||||
%11 = OpVariable %_ptr_Function_ulong Function
|
%11 = OpVariable %_ptr_Function_ulong Function
|
||||||
%12 = OpVariable %_ptr_Function_ulong Function
|
%12 = OpVariable %_ptr_Function_ulong Function
|
||||||
OpStore %2 %28
|
OpStore %20 %28
|
||||||
OpStore %3 %29
|
OpStore %21 %29
|
||||||
%21 = OpBitcast %_ptr_Function_ulong %2
|
%53 = OpBitcast %_ptr_Function_ulong %20
|
||||||
%52 = OpLoad %ulong %21 Aligned 8
|
%52 = OpLoad %ulong %53 Aligned 8
|
||||||
%20 = OpCopyObject %ulong %52
|
%22 = OpCopyObject %ulong %52
|
||||||
%30 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %20
|
%30 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %22
|
||||||
OpStore %14 %30
|
OpStore %14 %30
|
||||||
%23 = OpBitcast %_ptr_Function_ulong %3
|
%55 = OpBitcast %_ptr_Function_ulong %21
|
||||||
%53 = OpLoad %ulong %23 Aligned 8
|
%54 = OpLoad %ulong %55 Aligned 8
|
||||||
%22 = OpCopyObject %ulong %53
|
%23 = OpCopyObject %ulong %54
|
||||||
%31 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %22
|
%31 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %23
|
||||||
OpStore %17 %31
|
OpStore %17 %31
|
||||||
%32 = OpLoad %_ptr_CrossWorkgroup_uchar %14
|
%32 = OpLoad %_ptr_CrossWorkgroup_uchar %14
|
||||||
%25 = OpConvertPtrToU %ulong %32
|
%25 = OpConvertPtrToU %ulong %32
|
||||||
|
@ -61,35 +61,37 @@
|
||||||
%26 = OpCopyObject %ulong %27
|
%26 = OpCopyObject %ulong %27
|
||||||
%35 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %26
|
%35 = OpConvertUToPtr %_ptr_CrossWorkgroup_uchar %26
|
||||||
OpStore %18 %35
|
OpStore %18 %35
|
||||||
%70 = OpLoad %v3ulong %gl_LocalInvocationID
|
%74 = OpLoad %v3ulong %gl_LocalInvocationID
|
||||||
%51 = OpCompositeExtract %ulong %70 0
|
%51 = OpCompositeExtract %ulong %74 0
|
||||||
%71 = OpBitcast %ulong %51
|
%75 = OpBitcast %ulong %51
|
||||||
%37 = OpUConvert %uint %71
|
%37 = OpUConvert %uint %75
|
||||||
%36 = OpCopyObject %uint %37
|
%36 = OpCopyObject %uint %37
|
||||||
OpStore %10 %36
|
OpStore %10 %36
|
||||||
%39 = OpLoad %uint %10
|
%39 = OpLoad %uint %10
|
||||||
%72 = OpBitcast %uint %39
|
%76 = OpBitcast %uint %39
|
||||||
%38 = OpUConvert %ulong %72
|
%38 = OpUConvert %ulong %76
|
||||||
OpStore %11 %38
|
OpStore %11 %38
|
||||||
%41 = OpLoad %_ptr_CrossWorkgroup_uchar %15
|
%41 = OpLoad %_ptr_CrossWorkgroup_uchar %15
|
||||||
%42 = OpLoad %ulong %11
|
%42 = OpLoad %ulong %11
|
||||||
%73 = OpBitcast %_ptr_CrossWorkgroup_uchar %41
|
%56 = OpCopyObject %ulong %42
|
||||||
%74 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %73 %42
|
%77 = OpBitcast %_ptr_CrossWorkgroup_uchar %41
|
||||||
%40 = OpBitcast %_ptr_CrossWorkgroup_uchar %74
|
%78 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %77 %56
|
||||||
|
%40 = OpBitcast %_ptr_CrossWorkgroup_uchar %78
|
||||||
OpStore %16 %40
|
OpStore %16 %40
|
||||||
%44 = OpLoad %_ptr_CrossWorkgroup_uchar %18
|
%44 = OpLoad %_ptr_CrossWorkgroup_uchar %18
|
||||||
%45 = OpLoad %ulong %11
|
%45 = OpLoad %ulong %11
|
||||||
%75 = OpBitcast %_ptr_CrossWorkgroup_uchar %44
|
%57 = OpCopyObject %ulong %45
|
||||||
%76 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %75 %45
|
%79 = OpBitcast %_ptr_CrossWorkgroup_uchar %44
|
||||||
%43 = OpBitcast %_ptr_CrossWorkgroup_uchar %76
|
%80 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_uchar %79 %57
|
||||||
|
%43 = OpBitcast %_ptr_CrossWorkgroup_uchar %80
|
||||||
OpStore %19 %43
|
OpStore %19 %43
|
||||||
%47 = OpLoad %_ptr_CrossWorkgroup_uchar %16
|
%47 = OpLoad %_ptr_CrossWorkgroup_uchar %16
|
||||||
%54 = OpBitcast %_ptr_CrossWorkgroup_ulong %47
|
%58 = OpBitcast %_ptr_CrossWorkgroup_ulong %47
|
||||||
%46 = OpLoad %ulong %54 Aligned 8
|
%46 = OpLoad %ulong %58 Aligned 8
|
||||||
OpStore %12 %46
|
OpStore %12 %46
|
||||||
%48 = OpLoad %_ptr_CrossWorkgroup_uchar %19
|
%48 = OpLoad %_ptr_CrossWorkgroup_uchar %19
|
||||||
%49 = OpLoad %ulong %12
|
%49 = OpLoad %ulong %12
|
||||||
%55 = OpBitcast %_ptr_CrossWorkgroup_ulong %48
|
%59 = OpBitcast %_ptr_CrossWorkgroup_ulong %48
|
||||||
OpStore %55 %49 Aligned 8
|
OpStore %59 %49 Aligned 8
|
||||||
OpReturn
|
OpReturn
|
||||||
OpFunctionEnd
|
OpFunctionEnd
|
||||||
|
|
|
@ -25,8 +25,8 @@
|
||||||
%1 = OpFunction %v2uint None %55
|
%1 = OpFunction %v2uint None %55
|
||||||
%7 = OpFunctionParameter %v2uint
|
%7 = OpFunctionParameter %v2uint
|
||||||
%24 = OpLabel
|
%24 = OpLabel
|
||||||
%2 = OpVariable %_ptr_Function_v2uint Function
|
|
||||||
%3 = OpVariable %_ptr_Function_v2uint Function
|
%3 = OpVariable %_ptr_Function_v2uint Function
|
||||||
|
%2 = OpVariable %_ptr_Function_v2uint Function
|
||||||
%4 = OpVariable %_ptr_Function_v2uint Function
|
%4 = OpVariable %_ptr_Function_v2uint Function
|
||||||
%5 = OpVariable %_ptr_Function_uint Function
|
%5 = OpVariable %_ptr_Function_uint Function
|
||||||
%6 = OpVariable %_ptr_Function_uint Function
|
%6 = OpVariable %_ptr_Function_uint Function
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||||
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
%_ptr_Generic_uint = OpTypePointer Generic %uint
|
||||||
%ulong_4 = OpConstant %ulong 4
|
%ulong_4 = OpConstant %ulong 4
|
||||||
|
%uchar = OpTypeInt 8 0
|
||||||
|
%_ptr_Generic_uchar = OpTypePointer Generic %uchar
|
||||||
%1 = OpFunction %void None %31
|
%1 = OpFunction %void None %31
|
||||||
%8 = OpFunctionParameter %ulong
|
%8 = OpFunctionParameter %ulong
|
||||||
%9 = OpFunctionParameter %ulong
|
%9 = OpFunctionParameter %ulong
|
||||||
|
@ -39,9 +41,11 @@
|
||||||
%12 = OpLoad %uint %23 Aligned 4
|
%12 = OpLoad %uint %23 Aligned 4
|
||||||
OpStore %6 %12
|
OpStore %6 %12
|
||||||
%15 = OpLoad %ulong %4
|
%15 = OpLoad %ulong %4
|
||||||
%22 = OpIAdd %ulong %15 %ulong_4
|
%24 = OpConvertUToPtr %_ptr_Generic_uint %15
|
||||||
%24 = OpConvertUToPtr %_ptr_Generic_uint %22
|
%38 = OpBitcast %_ptr_Generic_uchar %24
|
||||||
%14 = OpLoad %uint %24 Aligned 4
|
%39 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %38 %ulong_4
|
||||||
|
%22 = OpBitcast %_ptr_Generic_uint %39
|
||||||
|
%14 = OpLoad %uint %22 Aligned 4
|
||||||
OpStore %7 %14
|
OpStore %7 %14
|
||||||
%17 = OpLoad %uint %6
|
%17 = OpLoad %uint %6
|
||||||
%18 = OpLoad %uint %7
|
%18 = OpLoad %uint %7
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue