@@ -53,17 +53,29 @@ define float @sub_sat_f32(float %a, float %b) {
5353; CHECK-NEXT: sub.rp.sat.ftz.f32 %r10, %r1, %r9;
5454; CHECK-NEXT: st.param.b32 [func_retval0], %r10;
5555; CHECK-NEXT: ret;
56- %r1 = call float @llvm.nvvm.sub.rn.sat.f ( float %a , float %b )
57- %r2 = call float @llvm.nvvm.sub .rn.ftz. sat.f (float %a , float %r1 )
56+ %f0 = fneg float %b
57+ %r1 = call float @llvm.nvvm.add .rn.sat.f (float %a , float %f0 )
5858
59- %r3 = call float @llvm.nvvm.sub.rz.sat.f ( float %a , float %r2 )
60- %r4 = call float @llvm.nvvm.sub.rz .ftz.sat.f (float %a , float %r3 )
59+ %f1 = fneg float %r1
60+ %r2 = call float @llvm.nvvm.add.rn .ftz.sat.f (float %a , float %f1 )
6161
62- %r5 = call float @llvm.nvvm.sub.rm.sat.f ( float %a , float %r4 )
63- %r6 = call float @llvm.nvvm.sub.rm.ftz. sat.f (float %a , float %r5 )
62+ %f2 = fneg float %r2
63+ %r3 = call float @llvm.nvvm.add.rz. sat.f (float %a , float %f2 )
6464
65- %r7 = call float @llvm.nvvm.sub.rp.sat.f (float %a , float %r6 )
66- %r8 = call float @llvm.nvvm.sub.rp.ftz.sat.f (float %a , float %r7 )
65+ %f3 = fneg float %r3
66+ %r4 = call float @llvm.nvvm.add.rz.ftz.sat.f (float %a , float %f3 )
67+
68+ %f4 = fneg float %r4
69+ %r5 = call float @llvm.nvvm.add.rm.sat.f (float %a , float %f4 )
70+
71+ %f5 = fneg float %r5
72+ %r6 = call float @llvm.nvvm.add.rm.ftz.sat.f (float %a , float %f5 )
73+
74+ %f6 = fneg float %r6
75+ %r7 = call float @llvm.nvvm.add.rp.sat.f (float %a , float %f6 )
76+
77+ %f7 = fneg float %r7
78+ %r8 = call float @llvm.nvvm.add.rp.ftz.sat.f (float %a , float %f7 )
6779
6880 ret float %r8
6981}
0 commit comments