@@ -131,7 +131,6 @@ end subroutine
131131! CHECK: %{{.*}} = fir.call @__nv_double2ll_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i64
132132! CHECK: %{{.*}} = fir.call @__nv_double2ll_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i64
133133
134-
135134attributes(global) subroutine test_drcp_rX()
136135 double precision :: res
137136 double precision :: r
@@ -200,3 +199,32 @@ end subroutine
200199! CHECK: %{{.*}} = fir.call @__nv_ll2float_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
201200! CHECK: %{{.*}} = fir.call @__nv_ll2float_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
202201! CHECK: %{{.*}} = fir.call @__nv_ll2float_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
202+ attributes(global) subroutine test_float2int_rX()
203+ integer :: res
204+ real :: r
205+ res = __float2int_rd(r)
206+ res = __float2int_rn(r)
207+ res = __float2int_ru(r)
208+ res = __float2int_rz(r)
209+ end subroutine
210+
211+ ! CHECK-LABEL: _QPtest_float2int_rx
212+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
213+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
214+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
215+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
216+
217+ attributes(global) subroutine test_float2uint_rX()
218+ integer :: res
219+ real :: r
220+ res = __float2uint_rd(r)
221+ res = __float2uint_rn(r)
222+ res = __float2uint_ru(r)
223+ res = __float2uint_rz(r)
224+ end subroutine
225+
226+ ! CHECK-LABEL: _QPtest_float2uint_rx
227+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
228+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
229+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
230+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
0 commit comments