@@ -101,27 +101,13 @@ llvm.func @convert_f32x4_to_f8x4_e4m3_rs(%src : vector<4xf32>, %rbits : i32) ->
101101 llvm.return %res : vector <4 xi8 >
102102}
103103
104- // CHECK-LABEL: @convert_f32x4_to_f8x4_e4m3_rs_satfinite
105- llvm.func @convert_f32x4_to_f8x4_e4m3_rs_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
106- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e4m3x4.rs.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
107- %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f8E4M3FN )
108- llvm.return %res : vector <4 xi8 >
109- }
110-
111104// CHECK-LABEL: @convert_f32x4_to_f8x4_e4m3_rs_relu
112105llvm.func @convert_f32x4_to_f8x4_e4m3_rs_relu (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
113106 // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e4m3x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
114107 %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {relu = true } : vector <4 xf32 > -> vector <4 xi8 > (f8E4M3FN )
115108 llvm.return %res : vector <4 xi8 >
116109}
117110
118- // CHECK-LABEL: @convert_f32x4_to_f8x4_e4m3_rs_relu_satfinite
119- llvm.func @convert_f32x4_to_f8x4_e4m3_rs_relu_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
120- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e4m3x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
121- %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {relu = true , sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f8E4M3FN )
122- llvm.return %res : vector <4 xi8 >
123- }
124-
125111// -----
126112
127113// Test F32x4 -> F8x4 (E5M2) with stochastic rounding (.rs)
@@ -133,27 +119,13 @@ llvm.func @convert_f32x4_to_f8x4_e5m2_rs(%src : vector<4xf32>, %rbits : i32) ->
133119 llvm.return %res : vector <4 xi8 >
134120}
135121
136- // CHECK-LABEL: @convert_f32x4_to_f8x4_e5m2_rs_satfinite
137- llvm.func @convert_f32x4_to_f8x4_e5m2_rs_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
138- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e5m2x4.rs.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
139- %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f8E5M2 )
140- llvm.return %res : vector <4 xi8 >
141- }
142-
143122// CHECK-LABEL: @convert_f32x4_to_f8x4_e5m2_rs_relu
144123llvm.func @convert_f32x4_to_f8x4_e5m2_rs_relu (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
145124 // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e5m2x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
146125 %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {relu = true } : vector <4 xf32 > -> vector <4 xi8 > (f8E5M2 )
147126 llvm.return %res : vector <4 xi8 >
148127}
149128
150- // CHECK-LABEL: @convert_f32x4_to_f8x4_e5m2_rs_relu_satfinite
151- llvm.func @convert_f32x4_to_f8x4_e5m2_rs_relu_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
152- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e5m2x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
153- %res = nvvm.convert.f32x4.to.f8x4 %src , %rbits {relu = true , sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f8E5M2 )
154- llvm.return %res : vector <4 xi8 >
155- }
156-
157129// -----
158130
159131// Test F32x4 -> F6x4 (E2M3) with stochastic rounding (.rs)
@@ -165,27 +137,13 @@ llvm.func @convert_f32x4_to_f6x4_e2m3_rs(%src : vector<4xf32>, %rbits : i32) ->
165137 llvm.return %res : vector <4 xi8 >
166138}
167139
168- // CHECK-LABEL: @convert_f32x4_to_f6x4_e2m3_rs_satfinite
169- llvm.func @convert_f32x4_to_f6x4_e2m3_rs_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
170- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e2m3x4.rs.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
171- %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f6E2M3FN )
172- llvm.return %res : vector <4 xi8 >
173- }
174-
175140// CHECK-LABEL: @convert_f32x4_to_f6x4_e2m3_rs_relu
176141llvm.func @convert_f32x4_to_f6x4_e2m3_rs_relu (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
177142 // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e2m3x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
178143 %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {relu = true } : vector <4 xf32 > -> vector <4 xi8 > (f6E2M3FN )
179144 llvm.return %res : vector <4 xi8 >
180145}
181146
182- // CHECK-LABEL: @convert_f32x4_to_f6x4_e2m3_rs_relu_satfinite
183- llvm.func @convert_f32x4_to_f6x4_e2m3_rs_relu_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
184- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e2m3x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
185- %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {relu = true , sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f6E2M3FN )
186- llvm.return %res : vector <4 xi8 >
187- }
188-
189147// -----
190148
191149// Test F32x4 -> F6x4 (E3M2) with stochastic rounding (.rs)
@@ -197,27 +155,13 @@ llvm.func @convert_f32x4_to_f6x4_e3m2_rs(%src : vector<4xf32>, %rbits : i32) ->
197155 llvm.return %res : vector <4 xi8 >
198156}
199157
200- // CHECK-LABEL: @convert_f32x4_to_f6x4_e3m2_rs_satfinite
201- llvm.func @convert_f32x4_to_f6x4_e3m2_rs_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
202- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e3m2x4.rs.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
203- %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f6E3M2FN )
204- llvm.return %res : vector <4 xi8 >
205- }
206-
207158// CHECK-LABEL: @convert_f32x4_to_f6x4_e3m2_rs_relu
208159llvm.func @convert_f32x4_to_f6x4_e3m2_rs_relu (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
209160 // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e3m2x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
210161 %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {relu = true } : vector <4 xf32 > -> vector <4 xi8 > (f6E3M2FN )
211162 llvm.return %res : vector <4 xi8 >
212163}
213164
214- // CHECK-LABEL: @convert_f32x4_to_f6x4_e3m2_rs_relu_satfinite
215- llvm.func @convert_f32x4_to_f6x4_e3m2_rs_relu_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> vector <4 xi8 > {
216- // CHECK: %{{.*}} = call <4 x i8> @llvm.nvvm.f32x4.to.e3m2x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
217- %res = nvvm.convert.f32x4.to.f6x4 %src , %rbits {relu = true , sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> vector <4 xi8 > (f6E3M2FN )
218- llvm.return %res : vector <4 xi8 >
219- }
220-
221165// -----
222166
223167// Test F32x4 -> F4x4 (E2M1) with stochastic rounding (.rs)
@@ -229,24 +173,10 @@ llvm.func @convert_f32x4_to_f4x4_e2m1_rs(%src : vector<4xf32>, %rbits : i32) ->
229173 llvm.return %res : i16
230174}
231175
232- // CHECK-LABEL: @convert_f32x4_to_f4x4_e2m1_rs_satfinite
233- llvm.func @convert_f32x4_to_f4x4_e2m1_rs_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> i16 {
234- // CHECK: %{{.*}} = call i16 @llvm.nvvm.f32x4.to.e2m1x4.rs.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
235- %res = nvvm.convert.f32x4.to.f4x4 %src , %rbits {sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> i16 (f4E2M1FN )
236- llvm.return %res : i16
237- }
238-
239176// CHECK-LABEL: @convert_f32x4_to_f4x4_e2m1_rs_relu
240177llvm.func @convert_f32x4_to_f4x4_e2m1_rs_relu (%src : vector <4 xf32 >, %rbits : i32 ) -> i16 {
241178 // CHECK: %{{.*}} = call i16 @llvm.nvvm.f32x4.to.e2m1x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
242179 %res = nvvm.convert.f32x4.to.f4x4 %src , %rbits {relu = true } : vector <4 xf32 > -> i16 (f4E2M1FN )
243180 llvm.return %res : i16
244181}
245182
246- // CHECK-LABEL: @convert_f32x4_to_f4x4_e2m1_rs_relu_satfinite
247- llvm.func @convert_f32x4_to_f4x4_e2m1_rs_relu_satfinite (%src : vector <4 xf32 >, %rbits : i32 ) -> i16 {
248- // CHECK: %{{.*}} = call i16 @llvm.nvvm.f32x4.to.e2m1x4.rs.relu.satfinite(<4 x float> %{{.*}}, i32 %{{.*}})
249- %res = nvvm.convert.f32x4.to.f4x4 %src , %rbits {relu = true , sat = #nvvm.sat_mode <satfinite >} : vector <4 xf32 > -> i16 (f4E2M1FN )
250- llvm.return %res : i16
251- }
252-
0 commit comments