aboutsummaryrefslogtreecommitdiffhomepage
path: root/ptx/src/test/spirv_run/vector_extract.spvtxt
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