@@ -58,6 +58,7 @@ attributes(global) subroutine devsub()
5858 res = __ffs(al)
5959 res = __brev(ai)
6060 resl = __brev(al)
61+
6162 res = __clz(ai)
6263 res = __clz(al)
6364 af = __cosf(af)
@@ -69,6 +70,10 @@ attributes(global) subroutine devsub()
6970 af = __double2float_rz(ad)
7071 af = __double2float_ru(ad)
7172 af = __double2float_rd(ad)
73+ ai = __double2int_rd(ad)
74+ ai = __double2int_rn(ad)
75+ ai = __double2int_ru(ad)
76+ ai = __double2int_rz(ad)
7277 ai = __mul24(ai, ai)
7378 ai = __umul24(ai, ai)
7479 af = __powf(af, af)
129134! CHECK: %{{.*}} = fir.call @__nv_double2float_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> f32
130135! CHECK: %{{.*}} = fir.call @__nv_double2float_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> f32
131136! CHECK: %{{.*}} = fir.call @__nv_double2float_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> f32
137+ ! CHECK: %{{.*}} = fir.call @__nv_double2int_rd(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i32
138+ ! CHECK: %{{.*}} = fir.call @__nv_double2int_rn(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i32
139+ ! CHECK: %{{.*}} = fir.call @__nv_double2int_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i32
140+ ! CHECK: %{{.*}} = fir.call @__nv_double2int_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> i32
132141! CHECK: %{{.*}} = fir.call @__nv_mul24(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i32, i32) -> i32
133142! CHECK: %{{.*}} = fir.call @__nv_umul24(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i32, i32) -> i32
134143! CHECK: %{{.*}} = fir.call @__nv_powf(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32, f32) -> f32
0 commit comments