@@ -8734,47 +8734,42 @@ extern "C" __device__ float test___powf(float x, float y) {
87348734}
87358735
87368736// DEFAULT-LABEL: define dso_local noundef float @test___saturatef(
8737- // DEFAULT-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3 ]] {
8737+ // DEFAULT-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+ ]] {
87388738// DEFAULT-NEXT: [[ENTRY:.*:]]
87398739// DEFAULT-NEXT: [[CMP_I:%.*]] = fcmp contract olt float [[X]], 0.000000e+00
8740- // DEFAULT-NEXT: [[CMP1_I:%.*]] = fcmp contract ogt float [[X]], 1.000000e+00
8741- // DEFAULT-NEXT: [[COND_I:%.*]] = select contract i1 [[CMP1_I]], float 1.000000e+00, float [[X]]
8740+ // DEFAULT-NEXT: [[COND_I:%.*]] = tail call contract float @llvm.minnum.f32(float [[X]], float 1.000000e+00)
87428741// DEFAULT-NEXT: [[COND5_I:%.*]] = select contract i1 [[CMP_I]], float 0.000000e+00, float [[COND_I]]
87438742// DEFAULT-NEXT: ret float [[COND5_I]]
87448743//
87458744// FINITEONLY-LABEL: define dso_local nofpclass(nan inf) float @test___saturatef(
8746- // FINITEONLY-SAME: float noundef nofpclass(nan inf) [[X:%.*]]) local_unnamed_addr #[[ATTR3 ]] {
8745+ // FINITEONLY-SAME: float noundef nofpclass(nan inf) [[X:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+ ]] {
87478746// FINITEONLY-NEXT: [[ENTRY:.*:]]
87488747// FINITEONLY-NEXT: [[CMP_I:%.*]] = fcmp nnan ninf contract olt float [[X]], 0.000000e+00
8749- // FINITEONLY-NEXT: [[CMP1_I:%.*]] = fcmp nnan ninf contract ogt float [[X]], 1.000000e+00
8750- // FINITEONLY-NEXT: [[COND_I:%.*]] = select nnan ninf contract i1 [[CMP1_I]], float 1.000000e+00, float [[X]]
8748+ // FINITEONLY-NEXT: [[COND_I:%.*]] = tail call nnan ninf contract float @llvm.minnum.f32(float nofpclass(nan inf) [[X]], float 1.000000e+00)
87518749// FINITEONLY-NEXT: [[COND5_I:%.*]] = select nnan ninf contract i1 [[CMP_I]], float 0.000000e+00, float [[COND_I]]
87528750// FINITEONLY-NEXT: ret float [[COND5_I]]
87538751//
87548752// APPROX-LABEL: define dso_local noundef float @test___saturatef(
8755- // APPROX-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3 ]] {
8753+ // APPROX-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+ ]] {
87568754// APPROX-NEXT: [[ENTRY:.*:]]
87578755// APPROX-NEXT: [[CMP_I:%.*]] = fcmp contract olt float [[X]], 0.000000e+00
8758- // APPROX-NEXT: [[CMP1_I:%.*]] = fcmp contract ogt float [[X]], 1.000000e+00
8759- // APPROX-NEXT: [[COND_I:%.*]] = select contract i1 [[CMP1_I]], float 1.000000e+00, float [[X]]
8756+ // APPROX-NEXT: [[COND_I:%.*]] = tail call contract float @llvm.minnum.f32(float [[X]], float 1.000000e+00)
87608757// APPROX-NEXT: [[COND5_I:%.*]] = select contract i1 [[CMP_I]], float 0.000000e+00, float [[COND_I]]
87618758// APPROX-NEXT: ret float [[COND5_I]]
87628759//
87638760// NCRDIV-LABEL: define dso_local noundef float @test___saturatef(
8764- // NCRDIV-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3 ]] {
8761+ // NCRDIV-SAME: float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+ ]] {
87658762// NCRDIV-NEXT: [[ENTRY:.*:]]
87668763// NCRDIV-NEXT: [[CMP_I:%.*]] = fcmp contract olt float [[X]], 0.000000e+00
8767- // NCRDIV-NEXT: [[CMP1_I:%.*]] = fcmp contract ogt float [[X]], 1.000000e+00
8768- // NCRDIV-NEXT: [[COND_I:%.*]] = select contract i1 [[CMP1_I]], float 1.000000e+00, float [[X]]
8764+ // NCRDIV-NEXT: [[COND_I:%.*]] = tail call contract float @llvm.minnum.f32(float [[X]], float 1.000000e+00)
87698765// NCRDIV-NEXT: [[COND5_I:%.*]] = select contract i1 [[CMP_I]], float 0.000000e+00, float [[COND_I]]
87708766// NCRDIV-NEXT: ret float [[COND5_I]]
87718767//
87728768// AMDGCNSPIRV-LABEL: define spir_func noundef float @test___saturatef(
8773- // AMDGCNSPIRV-SAME: float noundef [[X:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR3 ]] {
8769+ // AMDGCNSPIRV-SAME: float noundef [[X:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2:[0-9]+ ]] {
87748770// AMDGCNSPIRV-NEXT: [[ENTRY:.*:]]
87758771// AMDGCNSPIRV-NEXT: [[CMP_I:%.*]] = fcmp contract olt float [[X]], 0.000000e+00
8776- // AMDGCNSPIRV-NEXT: [[CMP1_I:%.*]] = fcmp contract ogt float [[X]], 1.000000e+00
8777- // AMDGCNSPIRV-NEXT: [[COND_I:%.*]] = select contract i1 [[CMP1_I]], float 1.000000e+00, float [[X]]
8772+ // AMDGCNSPIRV-NEXT: [[COND_I:%.*]] = tail call contract addrspace(4) float @llvm.minnum.f32(float [[X]], float 1.000000e+00)
87788773// AMDGCNSPIRV-NEXT: [[COND5_I:%.*]] = select contract i1 [[CMP_I]], float 0.000000e+00, float [[COND_I]]
87798774// AMDGCNSPIRV-NEXT: ret float [[COND5_I]]
87808775//
0 commit comments