@@ -58,6 +58,7 @@ attributes(global) subroutine devsub()
58
58
res = __ffs(al)
59
59
res = __brev(ai)
60
60
resl = __brev(al)
61
+
61
62
res = __clz(ai)
62
63
res = __clz(al)
63
64
af = __cosf(af)
@@ -69,6 +70,10 @@ attributes(global) subroutine devsub()
69
70
af = __double2float_rz(ad)
70
71
af = __double2float_ru(ad)
71
72
af = __double2float_rd(ad)
73
+ ai = __double2int_rd(ad)
74
+ ai = __double2int_rn(ad)
75
+ ai = __double2int_ru(ad)
76
+ ai = __double2int_rz(ad)
72
77
ai = __mul24(ai, ai)
73
78
ai = __umul24(ai, ai)
74
79
af = __powf(af, af)
129
134
! CHECK: %{{.*}} = fir.call @__nv_double2float_rz(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> f32
130
135
! CHECK: %{{.*}} = fir.call @__nv_double2float_ru(%{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f64) -> f32
131
136
! 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
132
141
! CHECK: %{{.*}} = fir.call @__nv_mul24(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i32, i32) -> i32
133
142
! CHECK: %{{.*}} = fir.call @__nv_umul24(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (i32, i32) -> i32
134
143
! CHECK: %{{.*}} = fir.call @__nv_powf(%{{.*}}, %{{.*}}) proc_attrs<bind_c> fastmath<contract> : (f32, f32) -> f32
0 commit comments