@@ -132,7 +132,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
132132; SI-NEXT: s_or_b32 s8, s8, s9
133133; SI-NEXT: s_add_i32 s6, s6, s8
134134; SI-NEXT: s_cmp_lt_i32 s0, 31
135- ; SI-NEXT: s_cselect_b32 s6, s6, 0x7c00
135+ ; SI-NEXT: s_cmovk_i32 s6, 0x7c00
136136; SI-NEXT: s_cmp_lg_u32 s1, 0
137137; SI-NEXT: s_cselect_b32 s1, s2, 0x7c00
138138; SI-NEXT: s_cmpk_eq_i32 s0, 0x40f
@@ -188,10 +188,10 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
188188; VI-SAFE-SDAG-NEXT: s_lshr_b32 s5, s5, 2
189189; VI-SAFE-SDAG-NEXT: s_add_i32 s5, s5, s8
190190; VI-SAFE-SDAG-NEXT: s_cmp_lt_i32 s6, 31
191- ; VI-SAFE-SDAG-NEXT: s_cselect_b32 s5, s5, 0x7c00
191+ ; VI-SAFE-SDAG-NEXT: s_cmovk_i32 s5, 0x7c00
192192; VI-SAFE-SDAG-NEXT: s_cmp_lg_u32 s4, 0
193193; VI-SAFE-SDAG-NEXT: s_movk_i32 s4, 0x7e00
194- ; VI-SAFE-SDAG-NEXT: s_cselect_b32 s4, s4, 0x7c00
194+ ; VI-SAFE-SDAG-NEXT: s_cmovk_i32 s4, 0x7c00
195195; VI-SAFE-SDAG-NEXT: s_cmpk_eq_i32 s6, 0x40f
196196; VI-SAFE-SDAG-NEXT: s_cselect_b32 s4, s4, s5
197197; VI-SAFE-SDAG-NEXT: s_lshr_b32 s5, s7, 16
@@ -240,7 +240,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
240240; VI-SAFE-GISEL-NEXT: s_or_b32 s6, s7, s6
241241; VI-SAFE-GISEL-NEXT: s_add_i32 s2, s2, s6
242242; VI-SAFE-GISEL-NEXT: s_cmp_gt_i32 s4, 30
243- ; VI-SAFE-GISEL-NEXT: s_cselect_b32 s2, 0x7c00, s2
243+ ; VI-SAFE-GISEL-NEXT: s_cmovk_i32 s2, 0x7c00
244244; VI-SAFE-GISEL-NEXT: s_cmpk_eq_i32 s4, 0x40f
245245; VI-SAFE-GISEL-NEXT: s_cselect_b32 s2, s5, s2
246246; VI-SAFE-GISEL-NEXT: s_lshr_b32 s3, s3, 16
@@ -312,7 +312,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
312312; GFX10-SAFE-SDAG-NEXT: s_add_i32 s5, s5, s6
313313; GFX10-SAFE-SDAG-NEXT: s_cmp_lt_i32 s2, 31
314314; GFX10-SAFE-SDAG-NEXT: s_movk_i32 s6, 0x7e00
315- ; GFX10-SAFE-SDAG-NEXT: s_cselect_b32 s5, s5, 0x7c00
315+ ; GFX10-SAFE-SDAG-NEXT: s_cmovk_i32 s5, 0x7c00
316316; GFX10-SAFE-SDAG-NEXT: s_cmp_lg_u32 s4, 0
317317; GFX10-SAFE-SDAG-NEXT: s_cselect_b32 s4, s6, 0x7c00
318318; GFX10-SAFE-SDAG-NEXT: s_cmpk_eq_i32 s2, 0x40f
@@ -365,7 +365,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
365365; GFX10-SAFE-GISEL-NEXT: s_or_b32 s6, s7, s6
366366; GFX10-SAFE-GISEL-NEXT: s_add_i32 s2, s2, s6
367367; GFX10-SAFE-GISEL-NEXT: s_cmp_gt_i32 s4, 30
368- ; GFX10-SAFE-GISEL-NEXT: s_cselect_b32 s2, 0x7c00, s2
368+ ; GFX10-SAFE-GISEL-NEXT: s_cmovk_i32 s2, 0x7c00
369369; GFX10-SAFE-GISEL-NEXT: s_cmpk_eq_i32 s4, 0x40f
370370; GFX10-SAFE-GISEL-NEXT: s_cselect_b32 s2, s5, s2
371371; GFX10-SAFE-GISEL-NEXT: s_lshr_b32 s3, s3, 16
@@ -444,7 +444,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
444444; GFX11-SAFE-SDAG-NEXT: s_add_i32 s5, s5, s6
445445; GFX11-SAFE-SDAG-NEXT: s_cmp_lt_i32 s2, 31
446446; GFX11-SAFE-SDAG-NEXT: s_movk_i32 s6, 0x7e00
447- ; GFX11-SAFE-SDAG-NEXT: s_cselect_b32 s5, s5, 0x7c00
447+ ; GFX11-SAFE-SDAG-NEXT: s_cmovk_i32 s5, 0x7c00
448448; GFX11-SAFE-SDAG-NEXT: s_cmp_lg_u32 s4, 0
449449; GFX11-SAFE-SDAG-NEXT: s_cselect_b32 s4, s6, 0x7c00
450450; GFX11-SAFE-SDAG-NEXT: s_cmpk_eq_i32 s2, 0x40f
@@ -501,7 +501,7 @@ define amdgpu_kernel void @fptrunc_f64_to_f16(ptr addrspace(1) %out, double %in)
501501; GFX11-SAFE-GISEL-NEXT: s_or_b32 s6, s7, s6
502502; GFX11-SAFE-GISEL-NEXT: s_add_i32 s2, s2, s6
503503; GFX11-SAFE-GISEL-NEXT: s_cmp_gt_i32 s4, 30
504- ; GFX11-SAFE-GISEL-NEXT: s_cselect_b32 s2, 0x7c00, s2
504+ ; GFX11-SAFE-GISEL-NEXT: s_cmovk_i32 s2, 0x7c00
505505; GFX11-SAFE-GISEL-NEXT: s_cmpk_eq_i32 s4, 0x40f
506506; GFX11-SAFE-GISEL-NEXT: s_cselect_b32 s2, s5, s2
507507; GFX11-SAFE-GISEL-NEXT: s_lshr_b32 s3, s3, 16
0 commit comments