@@ -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
@@ -191,3 +190,32 @@ end subroutine
191190! CHECK: %{{.*}} = fir.call @__nv_ll2float_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
192191! CHECK: %{{.*}} = fir.call @__nv_ll2float_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
193192! CHECK: %{{.*}} = fir.call @__nv_ll2float_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i64) -> f32
193+ attributes(global) subroutine test_float2int_rX()
194+ integer :: res
195+ real :: r
196+ res = __float2int_rd(r)
197+ res = __float2int_rn(r)
198+ res = __float2int_ru(r)
199+ res = __float2int_rz(r)
200+ end subroutine
201+
202+ ! CHECK-LABEL: _QPtest_float2int_rx
203+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
204+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
205+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
206+ ! CHECK: %{{.*}} = fir.call @__nv_float2int_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
207+
208+ attributes(global) subroutine test_float2uint_rX()
209+ integer :: res
210+ real :: r
211+ res = __float2uint_rd(r)
212+ res = __float2uint_rn(r)
213+ res = __float2uint_ru(r)
214+ res = __float2uint_rz(r)
215+ end subroutine
216+
217+ ! CHECK-LABEL: _QPtest_float2uint_rx
218+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
219+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
220+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
221+ ! CHECK: %{{.*}} = fir.call @__nv_float2uint_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32) -> i32
0 commit comments