blob: 4ff74c6d9ad5bdf1d5f620774dde3f639a79e10c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
OpCapability GenericPointer
OpCapability Linkage
OpCapability Addresses
OpCapability Kernel
OpCapability Int8
OpCapability Int16
OpCapability Int64
OpCapability Float16
OpCapability Float64
OpCapability DenormFlushToZero
%39 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %12 "func_ptr"
OpExecutionMode %12 ContractionOff
OpDecorate %12 LinkageAttributes "func_ptr" Export
%void = OpTypeVoid
%float = OpTypeFloat 32
%42 = OpTypeFunction %float %float %float
%_ptr_Function_float = OpTypePointer Function %float
%ulong = OpTypeInt 64 0
%45 = OpTypeFunction %void %ulong %ulong
%_ptr_Function_ulong = OpTypePointer Function %ulong
%_ptr_Generic_ulong = OpTypePointer Generic %ulong
%ulong_1 = OpConstant %ulong 1
%ulong_0 = OpConstant %ulong 0
%1 = OpFunction %float None %42
%5 = OpFunctionParameter %float
%6 = OpFunctionParameter %float
%11 = OpLabel
%3 = OpVariable %_ptr_Function_float Function
%4 = OpVariable %_ptr_Function_float Function
%2 = OpVariable %_ptr_Function_float Function
OpStore %3 %5
OpStore %4 %6
%8 = OpLoad %float %3
%9 = OpLoad %float %4
%7 = OpFAdd %float %8 %9
OpStore %2 %7
%10 = OpLoad %float %2
OpReturnValue %10
OpFunctionEnd
%12 = OpFunction %void None %45
%20 = OpFunctionParameter %ulong
%21 = OpFunctionParameter %ulong
%37 = OpLabel
%13 = OpVariable %_ptr_Function_ulong Function
%14 = OpVariable %_ptr_Function_ulong Function
%15 = OpVariable %_ptr_Function_ulong Function
%16 = OpVariable %_ptr_Function_ulong Function
%17 = OpVariable %_ptr_Function_ulong Function
%18 = OpVariable %_ptr_Function_ulong Function
%19 = OpVariable %_ptr_Function_ulong Function
OpStore %13 %20
OpStore %14 %21
%22 = OpLoad %ulong %13 Aligned 8
OpStore %15 %22
%23 = OpLoad %ulong %14 Aligned 8
OpStore %16 %23
%25 = OpLoad %ulong %15
%35 = OpConvertUToPtr %_ptr_Generic_ulong %25
%24 = OpLoad %ulong %35 Aligned 8
OpStore %17 %24
%27 = OpLoad %ulong %17
%26 = OpIAdd %ulong %27 %ulong_1
OpStore %18 %26
%28 = OpCopyObject %ulong %ulong_0
OpStore %19 %28
%30 = OpLoad %ulong %18
%31 = OpLoad %ulong %19
%29 = OpIAdd %ulong %30 %31
OpStore %18 %29
%32 = OpLoad %ulong %16
%33 = OpLoad %ulong %18
%36 = OpConvertUToPtr %_ptr_Generic_ulong %32
OpStore %36 %33 Aligned 8
OpReturn
OpFunctionEnd
|