@@ -32,4 +32,131 @@ define i32 @__clc__sampler_extract_addressing_mode_prop(i32 %sampl) nounwind alw
32
32
entry:
33
33
%0 = lshr i32 %sampl , 2
34
34
ret i32 %0
35
- }
35
+ }
36
+
37
+ // We need wrappers around intrinsics as intrinsics are not allowed to return named structs
38
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.trap (i64 , i32 )
39
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_1d_v4i16_trap_s (i64 %img , i32 %x ) nounwind alwaysinline {
40
+ entry:
41
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.trap (i64 %img , i32 %x );
42
+ ret {i16 ,i16 ,i16 ,i16 } %0
43
+ }
44
+
45
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.trap (i64 , i32 , i32 )
46
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_2d_v4i16_trap (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
47
+ entry:
48
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.trap (i64 %img , i32 %x , i32 %y );
49
+ ret {i16 ,i16 ,i16 ,i16 } %0
50
+ }
51
+
52
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.trap (i64 , i32 , i32 , i32 )
53
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_3d_v4i16_trap (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
54
+ entry:
55
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.trap (i64 %img , i32 %x , i32 %y , i32 %z );
56
+ ret {i16 ,i16 ,i16 ,i16 } %0
57
+ }
58
+
59
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.clamp (i64 , i32 )
60
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_1d_v4i16_clamp (i64 %img , i32 %x ) nounwind alwaysinline {
61
+ entry:
62
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.clamp (i64 %img , i32 %x );
63
+ ret {i16 ,i16 ,i16 ,i16 } %0
64
+ }
65
+
66
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.clamp (i64 , i32 , i32 )
67
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_2d_v4i16_clamp (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
68
+ entry:
69
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.clamp (i64 %img , i32 %x , i32 %y );
70
+ ret {i16 ,i16 ,i16 ,i16 } %0
71
+ }
72
+
73
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.clamp (i64 , i32 , i32 , i32 )
74
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_3d_v4i16_clamp (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
75
+ entry:
76
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.clamp (i64 %img , i32 %x , i32 %y , i32 %z );
77
+ ret {i16 ,i16 ,i16 ,i16 } %0
78
+ }
79
+
80
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.zero (i64 , i32 )
81
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_1d_v4i16_zero (i64 %img , i32 %x ) nounwind alwaysinline {
82
+ entry:
83
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.1d.v4i16.zero (i64 %img , i32 %x );
84
+ ret {i16 ,i16 ,i16 ,i16 } %0
85
+ }
86
+
87
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.zero (i64 , i32 , i32 )
88
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_2d_v4i16_zero (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
89
+ entry:
90
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.2d.v4i16.zero (i64 %img , i32 %x , i32 %y );
91
+ ret {i16 ,i16 ,i16 ,i16 } %0
92
+ }
93
+
94
+ declare {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.zero (i64 , i32 , i32 , i32 )
95
+ define {i16 ,i16 ,i16 ,i16 } @__clc_llvm_nvvm_suld_3d_v4i16_zero (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
96
+ entry:
97
+ %0 = tail call {i16 ,i16 ,i16 ,i16 } @llvm.nvvm.suld.3d.v4i16.zero (i64 %img , i32 %x , i32 %y , i32 %z );
98
+ ret {i16 ,i16 ,i16 ,i16 } %0
99
+ }
100
+
101
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.trap (i64 , i32 )
102
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_1d_v4i32_trap (i64 %img , i32 %x ) nounwind alwaysinline {
103
+ entry:
104
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.trap (i64 %img , i32 %x );
105
+ ret {i32 ,i32 ,i32 ,i32 } %0
106
+ }
107
+
108
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.trap (i64 , i32 , i32 )
109
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_2d_v4i32_trap (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
110
+ entry:
111
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.trap (i64 %img , i32 %x , i32 %y );
112
+ ret {i32 ,i32 ,i32 ,i32 } %0
113
+ }
114
+
115
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.trap (i64 , i32 , i32 , i32 )
116
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_3d_v4i32_trap (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
117
+ entry:
118
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.trap (i64 %img , i32 %x , i32 %y , i32 %z );
119
+ ret {i32 ,i32 ,i32 ,i32 } %0
120
+ }
121
+
122
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.clamp (i64 , i32 )
123
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_1d_v4i32_clamp (i64 %img , i32 %x ) nounwind alwaysinline {
124
+ entry:
125
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.clamp (i64 %img , i32 %x );
126
+ ret {i32 ,i32 ,i32 ,i32 } %0
127
+ }
128
+
129
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.clamp (i64 , i32 , i32 )
130
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_2d_v4i32_clamp (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
131
+ entry:
132
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.clamp (i64 %img , i32 %x , i32 %y );
133
+ ret {i32 ,i32 ,i32 ,i32 } %0
134
+ }
135
+
136
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.clamp (i64 , i32 , i32 , i32 )
137
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_3d_v4i32_clamp (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
138
+ entry:
139
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.clamp (i64 %img , i32 %x , i32 %y , i32 %z );
140
+ ret {i32 ,i32 ,i32 ,i32 } %0
141
+ }
142
+
143
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.zero (i64 , i32 )
144
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_1d_v4i32_zero (i64 %img , i32 %x ) nounwind alwaysinline {
145
+ entry:
146
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.1d.v4i32.zero (i64 %img , i32 %x );
147
+ ret {i32 ,i32 ,i32 ,i32 } %0
148
+ }
149
+
150
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.zero (i64 , i32 , i32 )
151
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_2d_v4i32_zero (i64 %img , i32 %x , i32 %y ) nounwind alwaysinline {
152
+ entry:
153
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.2d.v4i32.zero (i64 %img , i32 %x , i32 %y );
154
+ ret {i32 ,i32 ,i32 ,i32 } %0
155
+ }
156
+
157
+ declare {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.zero (i64 , i32 , i32 , i32 )
158
+ define {i32 ,i32 ,i32 ,i32 } @__clc_llvm_nvvm_suld_3d_v4i32_zero (i64 %img , i32 %x , i32 %y , i32 %z ) nounwind alwaysinline {
159
+ entry:
160
+ %0 = tail call {i32 ,i32 ,i32 ,i32 } @llvm.nvvm.suld.3d.v4i32.zero (i64 %img , i32 %x , i32 %y , i32 %z );
161
+ ret {i32 ,i32 ,i32 ,i32 } %0
162
+ }
0 commit comments