blob: 802c69b8d1d71be9ebaa5683d8c92b0612c7648a (
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
OpCapability GenericPointer
OpCapability Linkage
OpCapability Addresses
OpCapability Kernel
OpCapability Int8
OpCapability Int16
OpCapability Int64
OpCapability Float16
OpCapability Float64
%61 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %1 "vector_extract"
%void = OpTypeVoid
%ulong = OpTypeInt 64 0
%64 = OpTypeFunction %void %ulong %ulong
%_ptr_Function_ulong = OpTypePointer Function %ulong
%ushort = OpTypeInt 16 0
%_ptr_Function_ushort = OpTypePointer Function %ushort
%v4ushort = OpTypeVector %ushort 4
%_ptr_Function_v4ushort = OpTypePointer Function %v4ushort
%uchar = OpTypeInt 8 0
%v4uchar = OpTypeVector %uchar 4
%_ptr_CrossWorkgroup_v4uchar = OpTypePointer CrossWorkgroup %v4uchar
%1 = OpFunction %void None %64
%17 = OpFunctionParameter %ulong
%18 = OpFunctionParameter %ulong
%59 = OpLabel
%2 = OpVariable %_ptr_Function_ulong Function
%3 = OpVariable %_ptr_Function_ulong Function
%4 = OpVariable %_ptr_Function_ulong Function
%5 = OpVariable %_ptr_Function_ulong Function
%6 = OpVariable %_ptr_Function_ushort Function
%7 = OpVariable %_ptr_Function_ushort Function
%8 = OpVariable %_ptr_Function_ushort Function
%9 = OpVariable %_ptr_Function_ushort Function
%10 = OpVariable %_ptr_Function_v4ushort Function
OpStore %2 %17
OpStore %3 %18
%19 = OpLoad %ulong %2 Aligned 8
OpStore %4 %19
%20 = OpLoad %ulong %3 Aligned 8
OpStore %5 %20
%21 = OpLoad %ulong %4
%49 = OpConvertUToPtr %_ptr_CrossWorkgroup_v4uchar %21
%11 = OpLoad %v4uchar %49 Aligned 4
%50 = OpCompositeExtract %uchar %11 0
%51 = OpCompositeExtract %uchar %11 1
%52 = OpCompositeExtract %uchar %11 2
%53 = OpCompositeExtract %uchar %11 3
%73 = OpBitcast %uchar %50
%22 = OpUConvert %ushort %73
%74 = OpBitcast %uchar %51
%23 = OpUConvert %ushort %74
%75 = OpBitcast %uchar %52
%24 = OpUConvert %ushort %75
%76 = OpBitcast %uchar %53
%25 = OpUConvert %ushort %76
OpStore %6 %22
OpStore %7 %23
OpStore %8 %24
OpStore %9 %25
%26 = OpLoad %ushort %7
%27 = OpLoad %ushort %8
%28 = OpLoad %ushort %9
%29 = OpLoad %ushort %6
%77 = OpUndef %v4ushort
%78 = OpCompositeInsert %v4ushort %26 %77 0
%79 = OpCompositeInsert %v4ushort %27 %78 1
%80 = OpCompositeInsert %v4ushort %28 %79 2
%81 = OpCompositeInsert %v4ushort %29 %80 3
%12 = OpCopyObject %v4ushort %81
%30 = OpCopyObject %v4ushort %12
OpStore %10 %30
%31 = OpLoad %v4ushort %10
%13 = OpCopyObject %v4ushort %31
%32 = OpCompositeExtract %ushort %13 0
%33 = OpCompositeExtract %ushort %13 1
%34 = OpCompositeExtract %ushort %13 2
%35 = OpCompositeExtract %ushort %13 3
OpStore %8 %32
OpStore %9 %33
OpStore %6 %34
OpStore %7 %35
%36 = OpLoad %ushort %8
%37 = OpLoad %ushort %9
%38 = OpLoad %ushort %6
%39 = OpLoad %ushort %7
%82 = OpUndef %v4ushort
%83 = OpCompositeInsert %v4ushort %36 %82 0
%84 = OpCompositeInsert %v4ushort %37 %83 1
%85 = OpCompositeInsert %v4ushort %38 %84 2
%86 = OpCompositeInsert %v4ushort %39 %85 3
%15 = OpCopyObject %v4ushort %86
%14 = OpCopyObject %v4ushort %15
%40 = OpCompositeExtract %ushort %14 0
%41 = OpCompositeExtract %ushort %14 1
%42 = OpCompositeExtract %ushort %14 2
%43 = OpCompositeExtract %ushort %14 3
OpStore %9 %40
OpStore %6 %41
OpStore %7 %42
OpStore %8 %43
%44 = OpLoad %ushort %6
%45 = OpLoad %ushort %7
%46 = OpLoad %ushort %8
%47 = OpLoad %ushort %9
%87 = OpBitcast %ushort %44
%54 = OpUConvert %uchar %87
%88 = OpBitcast %ushort %45
%55 = OpUConvert %uchar %88
%89 = OpBitcast %ushort %46
%56 = OpUConvert %uchar %89
%90 = OpBitcast %ushort %47
%57 = OpUConvert %uchar %90
%91 = OpUndef %v4uchar
%92 = OpCompositeInsert %v4uchar %54 %91 0
%93 = OpCompositeInsert %v4uchar %55 %92 1
%94 = OpCompositeInsert %v4uchar %56 %93 2
%95 = OpCompositeInsert %v4uchar %57 %94 3
%16 = OpCopyObject %v4uchar %95
%48 = OpLoad %ulong %5
%58 = OpConvertUToPtr %_ptr_CrossWorkgroup_v4uchar %48
OpStore %58 %16 Aligned 4
OpReturn
OpFunctionEnd
|