[llvm] 21a518f - [InstCombine] regenerate test checks; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 1 09:09:00 PDT 2019


Author: Sanjay Patel
Date: 2019-11-01T12:08:50-04:00
New Revision: 21a518f7fb60bda07f0f3e9dce57f3a34e318610

URL: https://github.com/llvm/llvm-project/commit/21a518f7fb60bda07f0f3e9dce57f3a34e318610
DIFF: https://github.com/llvm/llvm-project/commit/21a518f7fb60bda07f0f3e9dce57f3a34e318610.diff

LOG: [InstCombine] regenerate test checks; NFC

Avoid subsequent test noise from improved CHECK-LABEL matching.

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
    llvm/test/Transforms/InstCombine/minmax-fold.ll
    llvm/test/Transforms/InstCombine/minmax-fp.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/clamp-to-minmax.ll b/llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
index 49b5160ba24f..401b0710e7a3 100644
--- a/llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
+++ b/llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
@@ -3,8 +3,7 @@
 
 ; (X < C1) ? C1 : MIN(X, C2)
 define float @clamp_float_fast_ordered_strict_maxmin(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_ordered_strict_maxmin(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_ordered_strict_maxmin(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[MIN]], 1.000000e+00
@@ -20,8 +19,7 @@ define float @clamp_float_fast_ordered_strict_maxmin(float %x) {
 
 ; (X <= C1) ? C1 : MIN(X, C2)
 define float @clamp_float_fast_ordered_nonstrict_maxmin(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_ordered_nonstrict_maxmin(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_ordered_nonstrict_maxmin(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[MIN]], 1.000000e+00
@@ -37,8 +35,7 @@ define float @clamp_float_fast_ordered_nonstrict_maxmin(float %x) {
 
 ; (X > C1) ? C1 : MAX(X, C2)
 define float @clamp_float_fast_ordered_strict_minmax(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_ordered_strict_minmax(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_ordered_strict_minmax(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast ole float [[MAX]], 2.550000e+02
@@ -54,8 +51,7 @@ define float @clamp_float_fast_ordered_strict_minmax(float %x) {
 
 ; (X >= C1) ? C1 : MAX(X, C2)
 define float @clamp_float_fast_ordered_nonstrict_minmax(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_ordered_nonstrict_minmax(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_ordered_nonstrict_minmax(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast ole float [[MAX]], 2.550000e+02
@@ -74,8 +70,7 @@ define float @clamp_float_fast_ordered_nonstrict_minmax(float %x) {
 
 ; (X < C1) ? C1 : MIN(X, C2)
 define float @clamp_float_fast_unordered_strict_maxmin(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_unordered_strict_maxmin(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_unordered_strict_maxmin(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp fast oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[MIN]], 1.000000e+00
@@ -91,8 +86,7 @@ define float @clamp_float_fast_unordered_strict_maxmin(float %x) {
 
 ; (X <= C1) ? C1 : MIN(X, C2)
 define float @clamp_float_fast_unordered_nonstrict_maxmin(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_unordered_nonstrict_maxmin(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_unordered_nonstrict_maxmin(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp fast oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[MIN]], 1.000000e+00
@@ -108,8 +102,7 @@ define float @clamp_float_fast_unordered_nonstrict_maxmin(float %x) {
 
 ; (X > C1) ? C1 : MAX(X, C2)
 define float @clamp_float_fast_unordered_strict_minmax(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_unordered_strict_minmax(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_unordered_strict_minmax(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp fast ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast ole float [[MAX]], 2.550000e+02
@@ -125,8 +118,7 @@ define float @clamp_float_fast_unordered_strict_minmax(float %x) {
 
 ; (X >= C1) ? C1 : MAX(X, C2)
 define float @clamp_float_fast_unordered_nonstrict_minmax(float %x) {
-;
-; CHECK-LABEL: @clamp_float_fast_unordered_nonstrict_minmax(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_fast_unordered_nonstrict_minmax(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp fast ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast ole float [[MAX]], 2.550000e+02
@@ -145,7 +137,7 @@ define float @clamp_float_fast_unordered_nonstrict_minmax(float %x) {
 ; (X > 1.0) ? min(x, 255.0) : 1.0
 ; That did not match because select was in inverse order.
 define float @clamp_test_1(float %x) {
-; CHECK-LABEL: @clamp_test_1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_test_1(
 ; CHECK-NEXT:    [[INNER_CMP_INV:%.*]] = fcmp fast oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[INNER_SEL:%.*]] = select i1 [[INNER_CMP_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[INNER_SEL]], 1.000000e+00
@@ -163,7 +155,7 @@ define float @clamp_test_1(float %x) {
 
 ; Like @clamp_test_1 but HighConst < LowConst
 define float @clamp_negative_wrong_const(float %x) {
-; CHECK-LABEL: @clamp_negative_wrong_const(
+; CHECK-LABEL: define {{[^@]+}}@clamp_negative_wrong_const(
 ; CHECK-NEXT:    [[INNER_CMP_INV:%.*]] = fcmp fast oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[INNER_SEL:%.*]] = select i1 [[INNER_CMP_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[OUTER_CMP:%.*]] = fcmp fast ugt float [[X]], 5.120000e+02
@@ -179,7 +171,7 @@ define float @clamp_negative_wrong_const(float %x) {
 
 ; Like @clamp_test_1 but both are min
 define float @clamp_negative_same_op(float %x) {
-; CHECK-LABEL: @clamp_negative_same_op(
+; CHECK-LABEL: define {{[^@]+}}@clamp_negative_same_op(
 ; CHECK-NEXT:    [[INNER_CMP_INV:%.*]] = fcmp fast oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[INNER_SEL:%.*]] = select i1 [[INNER_CMP_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[OUTER_CMP:%.*]] = fcmp fast ult float [[X]], 1.000000e+00
@@ -198,7 +190,7 @@ define float @clamp_negative_same_op(float %x) {
 
 ; First, check that we don't do bad things in the presence of signed zeros
 define float @clamp_float_with_zero1(float %x) {
-; CHECK-LABEL: @clamp_float_with_zero1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_with_zero1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ole float [[X]], 0.000000e+00
@@ -213,7 +205,7 @@ define float @clamp_float_with_zero1(float %x) {
 }
 
 define float @clamp_float_with_zero2(float %x) {
-; CHECK-LABEL: @clamp_float_with_zero2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_with_zero2(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp fast olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp olt float [[X]], 0.000000e+00
@@ -235,8 +227,7 @@ define float @clamp_float_with_zero2(float %x) {
 
 ; (X < C1) ? C1 : MIN(X, C2)
 define float @clamp_float_ordered_strict_maxmin1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_strict_maxmin1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_strict_maxmin1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp olt float [[X]], 1.000000e+00
@@ -251,8 +242,7 @@ define float @clamp_float_ordered_strict_maxmin1(float %x) {
 }
 
 define float @clamp_float_ordered_strict_maxmin2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_strict_maxmin2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_strict_maxmin2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp olt float [[X]], 1.000000e+00
@@ -268,8 +258,7 @@ define float @clamp_float_ordered_strict_maxmin2(float %x) {
 
 ; (X <= C1) ? C1 : MIN(X, C2)
 define float @clamp_float_ordered_nonstrict_maxmin1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_nonstrict_maxmin1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_nonstrict_maxmin1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ole float [[X]], 1.000000e+00
@@ -284,8 +273,7 @@ define float @clamp_float_ordered_nonstrict_maxmin1(float %x) {
 }
 
 define float @clamp_float_ordered_nonstrict_maxmin2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_nonstrict_maxmin2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_nonstrict_maxmin2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ole float [[X]], 1.000000e+00
@@ -301,8 +289,7 @@ define float @clamp_float_ordered_nonstrict_maxmin2(float %x) {
 
 ; (X > C1) ? C1 : MAX(X, C2)
 define float @clamp_float_ordered_strict_minmax1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_strict_minmax1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_strict_minmax1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ogt float [[X]], 2.550000e+02
@@ -317,8 +304,7 @@ define float @clamp_float_ordered_strict_minmax1(float %x) {
 }
 
 define float @clamp_float_ordered_strict_minmax2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_strict_minmax2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_strict_minmax2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ogt float [[X]], 2.550000e+02
@@ -334,8 +320,7 @@ define float @clamp_float_ordered_strict_minmax2(float %x) {
 
 ; (X >= C1) ? C1 : MAX(X, C2)
 define float @clamp_float_ordered_nonstrict_minmax1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_nonstrict_minmax1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_nonstrict_minmax1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp oge float [[X]], 2.550000e+02
@@ -350,8 +335,7 @@ define float @clamp_float_ordered_nonstrict_minmax1(float %x) {
 }
 
 define float @clamp_float_ordered_nonstrict_minmax2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_ordered_nonstrict_minmax2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_ordered_nonstrict_minmax2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp oge float [[X]], 2.550000e+02
@@ -370,8 +354,7 @@ define float @clamp_float_ordered_nonstrict_minmax2(float %x) {
 
 ; (X < C1) ? C1 : MIN(X, C2)
 define float @clamp_float_unordered_strict_maxmin1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_strict_maxmin1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_strict_maxmin1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ult float [[X]], 1.000000e+00
@@ -386,8 +369,7 @@ define float @clamp_float_unordered_strict_maxmin1(float %x) {
 }
 
 define float @clamp_float_unordered_strict_maxmin2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_strict_maxmin2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_strict_maxmin2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ult float [[X]], 1.000000e+00
@@ -403,8 +385,7 @@ define float @clamp_float_unordered_strict_maxmin2(float %x) {
 
 ; (X <= C1) ? C1 : MIN(X, C2)
 define float @clamp_float_unordered_nonstrict_maxmin1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_nonstrict_maxmin1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_nonstrict_maxmin1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp olt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], float [[X]], float 2.550000e+02
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ule float [[X]], 1.000000e+00
@@ -419,8 +400,7 @@ define float @clamp_float_unordered_nonstrict_maxmin1(float %x) {
 }
 
 define float @clamp_float_unordered_nonstrict_maxmin2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_nonstrict_maxmin2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_nonstrict_maxmin2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp oge float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2_INV]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ule float [[X]], 1.000000e+00
@@ -436,8 +416,7 @@ define float @clamp_float_unordered_nonstrict_maxmin2(float %x) {
 
 ; (X > C1) ? C1 : MAX(X, C2)
 define float @clamp_float_unordered_strict_minmax1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_strict_minmax1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_strict_minmax1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ugt float [[X]], 2.550000e+02
@@ -452,8 +431,7 @@ define float @clamp_float_unordered_strict_minmax1(float %x) {
 }
 
 define float @clamp_float_unordered_strict_minmax2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_strict_minmax2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_strict_minmax2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ugt float [[X]], 2.550000e+02
@@ -469,8 +447,7 @@ define float @clamp_float_unordered_strict_minmax2(float %x) {
 
 ; (X >= C1) ? C1 : MAX(X, C2)
 define float @clamp_float_unordered_nonstrict_minmax1(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_nonstrict_minmax1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_nonstrict_minmax1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = fcmp ogt float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], float [[X]], float 1.000000e+00
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp uge float [[X]], 2.550000e+02
@@ -485,8 +462,7 @@ define float @clamp_float_unordered_nonstrict_minmax1(float %x) {
 }
 
 define float @clamp_float_unordered_nonstrict_minmax2(float %x) {
-;
-; CHECK-LABEL: @clamp_float_unordered_nonstrict_minmax2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_float_unordered_nonstrict_minmax2(
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp ole float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[CMP1:%.*]] = fcmp uge float [[X]], 2.550000e+02
@@ -502,7 +478,7 @@ define float @clamp_float_unordered_nonstrict_minmax2(float %x) {
 
 ;; Check casts behavior
 define float @ui32_clamp_and_cast_to_float(i32 %x) {
-; CHECK-LABEL: @ui32_clamp_and_cast_to_float(
+; CHECK-LABEL: define {{[^@]+}}@ui32_clamp_and_cast_to_float(
 ; CHECK-NEXT:    [[LO_CMP:%.*]] = icmp eq i32 [[X:%.*]], 0
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X]], 255
 ; CHECK-NEXT:    [[MIN1:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 255
@@ -519,7 +495,7 @@ define float @ui32_clamp_and_cast_to_float(i32 %x) {
 }
 
 define float @ui64_clamp_and_cast_to_float(i64 %x) {
-; CHECK-LABEL: @ui64_clamp_and_cast_to_float(
+; CHECK-LABEL: define {{[^@]+}}@ui64_clamp_and_cast_to_float(
 ; CHECK-NEXT:    [[LO_CMP:%.*]] = icmp eq i64 [[X:%.*]], 0
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i64 [[X]], 255
 ; CHECK-NEXT:    [[MIN1:%.*]] = select i1 [[TMP1]], i64 [[X]], i64 255
@@ -536,7 +512,7 @@ define float @ui64_clamp_and_cast_to_float(i64 %x) {
 }
 
 define float @mixed_clamp_to_float_1(i32 %x) {
-; CHECK-LABEL: @mixed_clamp_to_float_1(
+; CHECK-LABEL: define {{[^@]+}}@mixed_clamp_to_float_1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[SI_MIN:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP2:%.*]] = icmp sgt i32 [[SI_MIN]], 1
@@ -554,7 +530,7 @@ define float @mixed_clamp_to_float_1(i32 %x) {
 }
 
 define i32 @mixed_clamp_to_i32_1(float %x) {
-; CHECK-LABEL: @mixed_clamp_to_i32_1(
+; CHECK-LABEL: define {{[^@]+}}@mixed_clamp_to_i32_1(
 ; CHECK-NEXT:    [[FLOAT_MIN_CMP:%.*]] = fcmp ogt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[FLOAT_MIN:%.*]] = select i1 [[FLOAT_MIN_CMP]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[I32_MIN:%.*]] = fptosi float [[FLOAT_MIN]] to i32
@@ -573,7 +549,7 @@ define i32 @mixed_clamp_to_i32_1(float %x) {
 }
 
 define float @mixed_clamp_to_float_2(i32 %x) {
-; CHECK-LABEL: @mixed_clamp_to_float_2(
+; CHECK-LABEL: define {{[^@]+}}@mixed_clamp_to_float_2(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[SI_MIN:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP2:%.*]] = icmp sgt i32 [[SI_MIN]], 1
@@ -590,7 +566,7 @@ define float @mixed_clamp_to_float_2(i32 %x) {
 }
 
 define i32 @mixed_clamp_to_i32_2(float %x) {
-; CHECK-LABEL: @mixed_clamp_to_i32_2(
+; CHECK-LABEL: define {{[^@]+}}@mixed_clamp_to_i32_2(
 ; CHECK-NEXT:    [[FLOAT_MIN_CMP:%.*]] = fcmp ogt float [[X:%.*]], 2.550000e+02
 ; CHECK-NEXT:    [[FLOAT_MIN:%.*]] = select i1 [[FLOAT_MIN_CMP]], float 2.550000e+02, float [[X]]
 ; CHECK-NEXT:    [[I32_MIN:%.*]] = fptosi float [[FLOAT_MIN]] to i32

diff  --git a/llvm/test/Transforms/InstCombine/minmax-fold.ll b/llvm/test/Transforms/InstCombine/minmax-fold.ll
index 47588565c5ce..2832741afc34 100644
--- a/llvm/test/Transforms/InstCombine/minmax-fold.ll
+++ b/llvm/test/Transforms/InstCombine/minmax-fold.ll
@@ -3,7 +3,7 @@
 
 ; This is the canonical form for a type-changing min/max.
 define i64 @t1(i32 %a) {
-; CHECK-LABEL: @t1(
+; CHECK-LABEL: define {{[^@]+}}@t1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[A:%.*]], 5
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 5
 ; CHECK-NEXT:    [[TMP3:%.*]] = sext i32 [[TMP2]] to i64
@@ -17,7 +17,7 @@ define i64 @t1(i32 %a) {
 
 ; Check this is converted into canonical form, as above.
 define i64 @t2(i32 %a) {
-; CHECK-LABEL: @t2(
+; CHECK-LABEL: define {{[^@]+}}@t2(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[A:%.*]], 5
 ; CHECK-NEXT:    [[NARROW:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 5
 ; CHECK-NEXT:    [[TMP2:%.*]] = sext i32 [[NARROW]] to i64
@@ -31,7 +31,7 @@ define i64 @t2(i32 %a) {
 
 ; Same as @t2, with flipped operands and zext instead of sext.
 define i64 @t3(i32 %a) {
-; CHECK-LABEL: @t3(
+; CHECK-LABEL: define {{[^@]+}}@t3(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[A:%.*]], 5
 ; CHECK-NEXT:    [[NARROW:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 5
 ; CHECK-NEXT:    [[TMP2:%.*]] = zext i32 [[NARROW]] to i64
@@ -45,7 +45,7 @@ define i64 @t3(i32 %a) {
 
 ; Same again, with trunc.
 define i32 @t4(i64 %a) {
-; CHECK-LABEL: @t4(
+; CHECK-LABEL: define {{[^@]+}}@t4(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i64 [[A:%.*]], 5
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i64 [[A]], i64 5
 ; CHECK-NEXT:    [[TMP3:%.*]] = trunc i64 [[TMP2]] to i32
@@ -59,7 +59,7 @@ define i32 @t4(i64 %a) {
 
 ; Same as @t3, but with mismatched signedness between icmp and zext.
 define i64 @t5(i32 %a) {
-; CHECK-LABEL: @t5(
+; CHECK-LABEL: define {{[^@]+}}@t5(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[A:%.*]], 5
 ; CHECK-NEXT:    [[NARROW:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 5
 ; CHECK-NEXT:    [[TMP2:%.*]] = zext i32 [[NARROW]] to i64
@@ -72,7 +72,7 @@ define i64 @t5(i32 %a) {
 }
 
 define float @t6(i32 %a) {
-; CHECK-LABEL: @t6(
+; CHECK-LABEL: define {{[^@]+}}@t6(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[A:%.*]], 0
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 0
 ; CHECK-NEXT:    [[TMP3:%.*]] = sitofp i32 [[TMP2]] to float
@@ -85,7 +85,7 @@ define float @t6(i32 %a) {
 }
 
 define i16 @t7(i32 %a) {
-; CHECK-LABEL: @t7(
+; CHECK-LABEL: define {{[^@]+}}@t7(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[A:%.*]], -32768
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[A]], i32 -32768
 ; CHECK-NEXT:    [[TMP3:%.*]] = trunc i32 [[TMP2]] to i16
@@ -102,7 +102,7 @@ define i16 @t7(i32 %a) {
 ; which led to a canonicalization fight between 
diff erent
 ; parts of instcombine.
 define i32 @t8(i64 %a, i32 %b) {
-; CHECK-LABEL: @t8(
+; CHECK-LABEL: define {{[^@]+}}@t8(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i64 [[A:%.*]], -32767
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i64 [[A]], i64 -32767
 ; CHECK-NEXT:    [[TMP3:%.*]] = trunc i64 [[TMP2]] to i32
@@ -124,7 +124,7 @@ define i32 @t8(i64 %a, i32 %b) {
 
 ; Ensure this doesn't get converted to a min/max.
 define i64 @t9(i32 %a) {
-; CHECK-LABEL: @t9(
+; CHECK-LABEL: define {{[^@]+}}@t9(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[A:%.*]], -1
 ; CHECK-NEXT:    [[TMP2:%.*]] = sext i32 [[A]] to i64
 ; CHECK-NEXT:    [[TMP3:%.*]] = select i1 [[TMP1]], i64 [[TMP2]], i64 4294967295
@@ -137,7 +137,7 @@ define i64 @t9(i32 %a) {
 }
 
 define float @t10(i32 %x) {
-; CHECK-LABEL: @t10(
+; CHECK-LABEL: define {{[^@]+}}@t10(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[R1:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP2:%.*]] = sitofp i32 [[R1]] to float
@@ -150,7 +150,7 @@ define float @t10(i32 %x) {
 }
 
 define float @t11(i64 %x) {
-; CHECK-LABEL: @t11(
+; CHECK-LABEL: define {{[^@]+}}@t11(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i64 [[X:%.*]], 255
 ; CHECK-NEXT:    [[R1:%.*]] = select i1 [[TMP1]], i64 [[X]], i64 255
 ; CHECK-NEXT:    [[TMP2:%.*]] = sitofp i64 [[R1]] to float
@@ -165,7 +165,7 @@ define float @t11(i64 %x) {
 ; Reuse the first 2 bitcasts as the select operands.
 
 define <4 x i32> @bitcasts_fcmp_1(<2 x i64> %a, <2 x i64> %b) {
-; CHECK-LABEL: @bitcasts_fcmp_1(
+; CHECK-LABEL: define {{[^@]+}}@bitcasts_fcmp_1(
 ; CHECK-NEXT:    [[T0:%.*]] = bitcast <2 x i64> [[A:%.*]] to <4 x float>
 ; CHECK-NEXT:    [[T1:%.*]] = bitcast <2 x i64> [[B:%.*]] to <4 x float>
 ; CHECK-NEXT:    [[T2:%.*]] = fcmp olt <4 x float> [[T1]], [[T0]]
@@ -185,7 +185,7 @@ define <4 x i32> @bitcasts_fcmp_1(<2 x i64> %a, <2 x i64> %b) {
 ; Switch cmp operand order.
 
 define <4 x i32> @bitcasts_fcmp_2(<2 x i64> %a, <2 x i64> %b) {
-; CHECK-LABEL: @bitcasts_fcmp_2(
+; CHECK-LABEL: define {{[^@]+}}@bitcasts_fcmp_2(
 ; CHECK-NEXT:    [[T0:%.*]] = bitcast <2 x i64> [[A:%.*]] to <4 x float>
 ; CHECK-NEXT:    [[T1:%.*]] = bitcast <2 x i64> [[B:%.*]] to <4 x float>
 ; CHECK-NEXT:    [[T2:%.*]] = fcmp olt <4 x float> [[T0]], [[T1]]
@@ -205,7 +205,7 @@ define <4 x i32> @bitcasts_fcmp_2(<2 x i64> %a, <2 x i64> %b) {
 ; Integer cmp should have the same transforms.
 
 define <4 x float> @bitcasts_icmp(<2 x i64> %a, <2 x i64> %b) {
-; CHECK-LABEL: @bitcasts_icmp(
+; CHECK-LABEL: define {{[^@]+}}@bitcasts_icmp(
 ; CHECK-NEXT:    [[T0:%.*]] = bitcast <2 x i64> [[A:%.*]] to <4 x i32>
 ; CHECK-NEXT:    [[T1:%.*]] = bitcast <2 x i64> [[B:%.*]] to <4 x i32>
 ; CHECK-NEXT:    [[T2:%.*]] = icmp slt <4 x i32> [[T1]], [[T0]]
@@ -224,7 +224,7 @@ define <4 x float> @bitcasts_icmp(<2 x i64> %a, <2 x i64> %b) {
 
 ; SMIN(SMIN(X, 11), 92) -> SMIN(X, 11)
 define i32 @test68(i32 %x) {
-; CHECK-LABEL: @test68(
+; CHECK-LABEL: define {{[^@]+}}@test68(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 11
 ; CHECK-NEXT:    [[COND:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 11
 ; CHECK-NEXT:    ret i32 [[COND]]
@@ -237,7 +237,7 @@ define i32 @test68(i32 %x) {
 }
 
 define <2 x i32> @test68vec(<2 x i32> %x) {
-; CHECK-LABEL: @test68vec(
+; CHECK-LABEL: define {{[^@]+}}@test68vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt <2 x i32> [[X:%.*]], <i32 11, i32 11>
 ; CHECK-NEXT:    [[COND:%.*]] = select <2 x i1> [[TMP1]], <2 x i32> [[X]], <2 x i32> <i32 11, i32 11>
 ; CHECK-NEXT:    ret <2 x i32> [[COND]]
@@ -251,7 +251,7 @@ define <2 x i32> @test68vec(<2 x i32> %x) {
 
 ; MIN(MIN(X, 24), 83) -> MIN(X, 24)
 define i32 @test69(i32 %x) {
-; CHECK-LABEL: @test69(
+; CHECK-LABEL: define {{[^@]+}}@test69(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X:%.*]], 24
 ; CHECK-NEXT:    [[COND:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 24
 ; CHECK-NEXT:    ret i32 [[COND]]
@@ -265,7 +265,7 @@ define i32 @test69(i32 %x) {
 
 ; SMAX(SMAX(X, 75), 36) -> SMAX(X, 75)
 define i32 @test70(i32 %x) {
-; CHECK-LABEL: @test70(
+; CHECK-LABEL: define {{[^@]+}}@test70(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[X:%.*]], 75
 ; CHECK-NEXT:    [[COND:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 75
 ; CHECK-NEXT:    ret i32 [[COND]]
@@ -279,7 +279,7 @@ define i32 @test70(i32 %x) {
 
 ; MAX(MAX(X, 68), 47) -> MAX(X, 68)
 define i32 @test71(i32 %x) {
-; CHECK-LABEL: @test71(
+; CHECK-LABEL: define {{[^@]+}}@test71(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[X:%.*]], 68
 ; CHECK-NEXT:    [[COND:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 68
 ; CHECK-NEXT:    ret i32 [[COND]]
@@ -293,7 +293,7 @@ define i32 @test71(i32 %x) {
 
 ; SMIN(SMIN(X, 92), 11) -> SMIN(X, 11)
 define i32 @test72(i32 %x) {
-; CHECK-LABEL: @test72(
+; CHECK-LABEL: define {{[^@]+}}@test72(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 11
 ; CHECK-NEXT:    [[RETVAL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 11
 ; CHECK-NEXT:    ret i32 [[RETVAL]]
@@ -306,7 +306,7 @@ define i32 @test72(i32 %x) {
 }
 
 define <2 x i32> @test72vec(<2 x i32> %x) {
-; CHECK-LABEL: @test72vec(
+; CHECK-LABEL: define {{[^@]+}}@test72vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt <2 x i32> [[X:%.*]], <i32 11, i32 11>
 ; CHECK-NEXT:    [[RETVAL:%.*]] = select <2 x i1> [[TMP1]], <2 x i32> [[X]], <2 x i32> <i32 11, i32 11>
 ; CHECK-NEXT:    ret <2 x i32> [[RETVAL]]
@@ -320,7 +320,7 @@ define <2 x i32> @test72vec(<2 x i32> %x) {
 
 ; MIN(MIN(X, 83), 24) -> MIN(X, 24)
 define i32 @test73(i32 %x) {
-; CHECK-LABEL: @test73(
+; CHECK-LABEL: define {{[^@]+}}@test73(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X:%.*]], 24
 ; CHECK-NEXT:    [[RETVAL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 24
 ; CHECK-NEXT:    ret i32 [[RETVAL]]
@@ -334,7 +334,7 @@ define i32 @test73(i32 %x) {
 
 ; SMAX(SMAX(X, 36), 75) -> SMAX(X, 75)
 define i32 @test74(i32 %x) {
-; CHECK-LABEL: @test74(
+; CHECK-LABEL: define {{[^@]+}}@test74(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[X:%.*]], 75
 ; CHECK-NEXT:    [[RETVAL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 75
 ; CHECK-NEXT:    ret i32 [[RETVAL]]
@@ -348,7 +348,7 @@ define i32 @test74(i32 %x) {
 
 ; MAX(MAX(X, 47), 68) -> MAX(X, 68)
 define i32 @test75(i32 %x) {
-; CHECK-LABEL: @test75(
+; CHECK-LABEL: define {{[^@]+}}@test75(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[X:%.*]], 68
 ; CHECK-NEXT:    [[RETVAL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 68
 ; CHECK-NEXT:    ret i32 [[RETVAL]]
@@ -366,7 +366,7 @@ define i32 @test75(i32 %x) {
 ; (X <s C1) ? C1 : SMIN(X, C2) ==> SMAX(SMIN(X, C2), C1)
 
 define i32 @clamp_signed1(i32 %x) {
-; CHECK-LABEL: @clamp_signed1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_signed1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp slt i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[MIN]], 15
@@ -383,7 +383,7 @@ define i32 @clamp_signed1(i32 %x) {
 ; (X >s C1) ? C1 : SMAX(X, C2) ==> SMIN(SMAX(X, C2), C1)
 
 define i32 @clamp_signed2(i32 %x) {
-; CHECK-LABEL: @clamp_signed2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_signed2(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp sgt i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 15
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[MAX]], 255
@@ -400,7 +400,7 @@ define i32 @clamp_signed2(i32 %x) {
 ; (X >s C1) ? SMIN(X, C2) : C1 ==> SMAX(SMIN(X, C2), C1)
 
 define i32 @clamp_signed3(i32 %x) {
-; CHECK-LABEL: @clamp_signed3(
+; CHECK-LABEL: define {{[^@]+}}@clamp_signed3(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp slt i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[MIN]], 15
@@ -417,7 +417,7 @@ define i32 @clamp_signed3(i32 %x) {
 ; (X <s C1) ? SMAX(X, C2) : C1 ==> SMIN(SMAX(X, C1), C2)
 
 define i32 @clamp_signed4(i32 %x) {
-; CHECK-LABEL: @clamp_signed4(
+; CHECK-LABEL: define {{[^@]+}}@clamp_signed4(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp sgt i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 15
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[MAX]], 255
@@ -434,7 +434,7 @@ define i32 @clamp_signed4(i32 %x) {
 ; (X <u C1) ? C1 : UMIN(X, C2) ==> UMAX(UMIN(X, C2), C1)
 
 define i32 @clamp_unsigned1(i32 %x) {
-; CHECK-LABEL: @clamp_unsigned1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_unsigned1(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp ult i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[MIN]], 15
@@ -451,7 +451,7 @@ define i32 @clamp_unsigned1(i32 %x) {
 ; (X >u C1) ? C1 : UMAX(X, C2) ==> UMIN(UMAX(X, C2), C1)
 
 define i32 @clamp_unsigned2(i32 %x) {
-; CHECK-LABEL: @clamp_unsigned2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_unsigned2(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp ugt i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 15
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[MAX]], 255
@@ -468,7 +468,7 @@ define i32 @clamp_unsigned2(i32 %x) {
 ; (X >u C1) ? UMIN(X, C2) : C1 ==> UMAX(UMIN(X, C2), C1)
 
 define i32 @clamp_unsigned3(i32 %x) {
-; CHECK-LABEL: @clamp_unsigned3(
+; CHECK-LABEL: define {{[^@]+}}@clamp_unsigned3(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp ult i32 [[X:%.*]], 255
 ; CHECK-NEXT:    [[MIN:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[MIN]], 15
@@ -485,7 +485,7 @@ define i32 @clamp_unsigned3(i32 %x) {
 ; (X <u C1) ? UMAX(X, C2) : C1 ==> UMIN(UMAX(X, C2), C1)
 
 define i32 @clamp_unsigned4(i32 %x) {
-; CHECK-LABEL: @clamp_unsigned4(
+; CHECK-LABEL: define {{[^@]+}}@clamp_unsigned4(
 ; CHECK-NEXT:    [[CMP2:%.*]] = icmp ugt i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[MAX:%.*]] = select i1 [[CMP2]], i32 [[X]], i32 15
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[MAX]], 255
@@ -503,7 +503,7 @@ define i32 @clamp_unsigned4(i32 %x) {
 ; loop because of reverse cmp transformation:
 ; (icmp sgt smin(PositiveA, B) 0) -> (icmp sgt B 0)
 define i32 @clamp_check_for_no_infinite_loop1(i32 %i) {
-; CHECK-LABEL: @clamp_check_for_no_infinite_loop1(
+; CHECK-LABEL: define {{[^@]+}}@clamp_check_for_no_infinite_loop1(
 ; CHECK-NEXT:    [[CMP1:%.*]] = icmp slt i32 [[I:%.*]], 255
 ; CHECK-NEXT:    [[SEL1:%.*]] = select i1 [[CMP1]], i32 [[I]], i32 255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[SEL1]], 0
@@ -519,7 +519,7 @@ define i32 @clamp_check_for_no_infinite_loop1(i32 %i) {
 ; Check that there is no infinite loop in case of:
 ; (icmp slt smax(NegativeA, B) 0) -> (icmp slt B 0)
 define i32 @clamp_check_for_no_infinite_loop2(i32 %i) {
-; CHECK-LABEL: @clamp_check_for_no_infinite_loop2(
+; CHECK-LABEL: define {{[^@]+}}@clamp_check_for_no_infinite_loop2(
 ; CHECK-NEXT:    [[CMP1:%.*]] = icmp sgt i32 [[I:%.*]], -255
 ; CHECK-NEXT:    [[SEL1:%.*]] = select i1 [[CMP1]], i32 [[I]], i32 -255
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[SEL1]], 0
@@ -536,7 +536,7 @@ define i32 @clamp_check_for_no_infinite_loop2(i32 %i) {
 ; Check that there is no infinite loop because of reverse cmp transformation:
 ; (icmp slt smax(PositiveA, B) 2) -> (icmp eq B 1)
 define i32 @clamp_check_for_no_infinite_loop3(i32 %i) {
-; CHECK-LABEL: @clamp_check_for_no_infinite_loop3(
+; CHECK-LABEL: define {{[^@]+}}@clamp_check_for_no_infinite_loop3(
 ; CHECK-NEXT:    [[I2:%.*]] = icmp sgt i32 [[I:%.*]], 1
 ; CHECK-NEXT:    [[I3:%.*]] = select i1 [[I2]], i32 [[I]], i32 1
 ; CHECK-NEXT:    br i1 true, label [[TRUELABEL:%.*]], label [[FALSELABEL:%.*]]
@@ -567,7 +567,7 @@ falselabel:
 ; The next 3 min tests should canonicalize to the same form...and not infinite loop.
 
 define double @PR31751_umin1(i32 %x) {
-; CHECK-LABEL: @PR31751_umin1(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umin1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X:%.*]], 2147483647
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 2147483647
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -580,7 +580,7 @@ define double @PR31751_umin1(i32 %x) {
 }
 
 define double @PR31751_umin2(i32 %x) {
-; CHECK-LABEL: @PR31751_umin2(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umin2(
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp ult i32 [[X:%.*]], 2147483647
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[CMP]], i32 [[X]], i32 2147483647
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -593,7 +593,7 @@ define double @PR31751_umin2(i32 %x) {
 }
 
 define double @PR31751_umin3(i32 %x) {
-; CHECK-LABEL: @PR31751_umin3(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umin3(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X:%.*]], 2147483647
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 2147483647
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -608,7 +608,7 @@ define double @PR31751_umin3(i32 %x) {
 ; The next 3 max tests should canonicalize to the same form...and not infinite loop.
 
 define double @PR31751_umax1(i32 %x) {
-; CHECK-LABEL: @PR31751_umax1(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umax1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[X:%.*]], -2147483648
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 -2147483648
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -621,7 +621,7 @@ define double @PR31751_umax1(i32 %x) {
 }
 
 define double @PR31751_umax2(i32 %x) {
-; CHECK-LABEL: @PR31751_umax2(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umax2(
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp ugt i32 [[X:%.*]], -2147483648
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[CMP]], i32 [[X]], i32 -2147483648
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -634,7 +634,7 @@ define double @PR31751_umax2(i32 %x) {
 }
 
 define double @PR31751_umax3(i32 %x) {
-; CHECK-LABEL: @PR31751_umax3(
+; CHECK-LABEL: define {{[^@]+}}@PR31751_umax3(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[X:%.*]], -2147483648
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 -2147483648
 ; CHECK-NEXT:    [[CONV:%.*]] = sitofp i32 [[SEL]] to double
@@ -649,7 +649,7 @@ define double @PR31751_umax3(i32 %x) {
 ; The icmp/select form a canonical smax, so don't hide that by folding the final bitcast into the select.
 
 define float @bitcast_scalar_smax(float %x, float %y) {
-; CHECK-LABEL: @bitcast_scalar_smax(
+; CHECK-LABEL: define {{[^@]+}}@bitcast_scalar_smax(
 ; CHECK-NEXT:    [[BCX:%.*]] = bitcast float [[X:%.*]] to i32
 ; CHECK-NEXT:    [[BCY:%.*]] = bitcast float [[Y:%.*]] to i32
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[BCX]], [[BCY]]
@@ -668,7 +668,7 @@ define float @bitcast_scalar_smax(float %x, float %y) {
 ; FIXME: Create a canonical umax by bitcasting the select.
 
 define float @bitcast_scalar_umax(float %x, float %y) {
-; CHECK-LABEL: @bitcast_scalar_umax(
+; CHECK-LABEL: define {{[^@]+}}@bitcast_scalar_umax(
 ; CHECK-NEXT:    [[BCX:%.*]] = bitcast float [[X:%.*]] to i32
 ; CHECK-NEXT:    [[BCY:%.*]] = bitcast float [[Y:%.*]] to i32
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp ugt i32 [[BCX]], [[BCY]]
@@ -686,7 +686,7 @@ define float @bitcast_scalar_umax(float %x, float %y) {
 ; The icmp/select form a canonical smin, so don't hide that by folding the final bitcast into the select.
 
 define <8 x float> @bitcast_vector_smin(<8 x float> %x, <8 x float> %y) {
-; CHECK-LABEL: @bitcast_vector_smin(
+; CHECK-LABEL: define {{[^@]+}}@bitcast_vector_smin(
 ; CHECK-NEXT:    [[BCX:%.*]] = bitcast <8 x float> [[X:%.*]] to <8 x i32>
 ; CHECK-NEXT:    [[BCY:%.*]] = bitcast <8 x float> [[Y:%.*]] to <8 x i32>
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp slt <8 x i32> [[BCX]], [[BCY]]
@@ -705,7 +705,7 @@ define <8 x float> @bitcast_vector_smin(<8 x float> %x, <8 x float> %y) {
 ; FIXME: Create a canonical umin by bitcasting the select.
 
 define <8 x float> @bitcast_vector_umin(<8 x float> %x, <8 x float> %y) {
-; CHECK-LABEL: @bitcast_vector_umin(
+; CHECK-LABEL: define {{[^@]+}}@bitcast_vector_umin(
 ; CHECK-NEXT:    [[BCX:%.*]] = bitcast <8 x float> [[X:%.*]] to <8 x i32>
 ; CHECK-NEXT:    [[BCY:%.*]] = bitcast <8 x float> [[Y:%.*]] to <8 x i32>
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp slt <8 x i32> [[BCX]], [[BCY]]
@@ -722,7 +722,7 @@ define <8 x float> @bitcast_vector_umin(<8 x float> %x, <8 x float> %y) {
 ; Check that we look through cast and recognize min idiom.
 
 define zeroext i8 @look_through_cast1(i32 %x) {
-; CHECK-LABEL: @look_through_cast1(
+; CHECK-LABEL: define {{[^@]+}}@look_through_cast1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 511
 ; CHECK-NEXT:    [[RES1:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 511
 ; CHECK-NEXT:    [[TMP2:%.*]] = trunc i32 [[RES1]] to i8
@@ -737,7 +737,7 @@ define zeroext i8 @look_through_cast1(i32 %x) {
 ; Check that we look through cast but min is not recognized.
 
 define zeroext i8 @look_through_cast2(i32 %x) {
-; CHECK-LABEL: @look_through_cast2(
+; CHECK-LABEL: define {{[^@]+}}@look_through_cast2(
 ; CHECK-NEXT:    [[CMP1:%.*]] = icmp slt i32 [[X:%.*]], 510
 ; CHECK-NEXT:    [[X_TRUNC:%.*]] = trunc i32 [[X]] to i8
 ; CHECK-NEXT:    [[RES:%.*]] = select i1 [[CMP1]], i8 [[X_TRUNC]], i8 -1
@@ -750,7 +750,7 @@ define zeroext i8 @look_through_cast2(i32 %x) {
 }
 
 define <2 x i8> @min_through_cast_vec1(<2 x i32> %x) {
-; CHECK-LABEL: @min_through_cast_vec1(
+; CHECK-LABEL: define {{[^@]+}}@min_through_cast_vec1(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt <2 x i32> [[X:%.*]], <i32 510, i32 511>
 ; CHECK-NEXT:    [[RES1:%.*]] = select <2 x i1> [[TMP1]], <2 x i32> [[X]], <2 x i32> <i32 510, i32 511>
 ; CHECK-NEXT:    [[TMP2:%.*]] = trunc <2 x i32> [[RES1]] to <2 x i8>
@@ -763,7 +763,7 @@ define <2 x i8> @min_through_cast_vec1(<2 x i32> %x) {
 }
 
 define <2 x i8> @min_through_cast_vec2(<2 x i32> %x) {
-; CHECK-LABEL: @min_through_cast_vec2(
+; CHECK-LABEL: define {{[^@]+}}@min_through_cast_vec2(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt <2 x i32> [[X:%.*]], <i32 511, i32 511>
 ; CHECK-NEXT:    [[RES1:%.*]] = select <2 x i1> [[TMP1]], <2 x i32> [[X]], <2 x i32> <i32 511, i32 511>
 ; CHECK-NEXT:    [[TMP2:%.*]] = trunc <2 x i32> [[RES1]] to <2 x i8>
@@ -781,7 +781,7 @@ define <2 x i8> @min_through_cast_vec2(<2 x i32> %x) {
 ; min(min(a, b), min(b, c)) --> min(min(a, b), c)
 
 define i32 @common_factor_smin(i32 %a, i32 %b, i32 %c) {
-; CHECK-LABEL: @common_factor_smin(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_smin(
 ; CHECK-NEXT:    [[CMP_AB:%.*]] = icmp slt i32 [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[MIN_AB:%.*]] = select i1 [[CMP_AB]], i32 [[A]], i32 [[B]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[MIN_AB]], [[C:%.*]]
@@ -800,7 +800,7 @@ define i32 @common_factor_smin(i32 %a, i32 %b, i32 %c) {
 ; max(max(a, b), max(c, b)) --> max(max(a, b), c)
 
 define <2 x i32> @common_factor_smax(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) {
-; CHECK-LABEL: @common_factor_smax(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_smax(
 ; CHECK-NEXT:    [[CMP_AB:%.*]] = icmp sgt <2 x i32> [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[MAX_AB:%.*]] = select <2 x i1> [[CMP_AB]], <2 x i32> [[A]], <2 x i32> [[B]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt <2 x i32> [[MAX_AB]], [[C:%.*]]
@@ -819,7 +819,7 @@ define <2 x i32> @common_factor_smax(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) {
 ; min(min(b, c), min(a, b)) --> min(min(b, c), a)
 
 define <2 x i32> @common_factor_umin(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) {
-; CHECK-LABEL: @common_factor_umin(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_umin(
 ; CHECK-NEXT:    [[CMP_BC:%.*]] = icmp ult <2 x i32> [[B:%.*]], [[C:%.*]]
 ; CHECK-NEXT:    [[MIN_BC:%.*]] = select <2 x i1> [[CMP_BC]], <2 x i32> [[B]], <2 x i32> [[C]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult <2 x i32> [[MIN_BC]], [[A:%.*]]
@@ -838,7 +838,7 @@ define <2 x i32> @common_factor_umin(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c) {
 ; max(max(b, c), max(b, a)) --> max(max(b, c), a)
 
 define i32 @common_factor_umax(i32 %a, i32 %b, i32 %c) {
-; CHECK-LABEL: @common_factor_umax(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_umax(
 ; CHECK-NEXT:    [[CMP_BC:%.*]] = icmp ugt i32 [[B:%.*]], [[C:%.*]]
 ; CHECK-NEXT:    [[MAX_BC:%.*]] = select i1 [[CMP_BC]], i32 [[B]], i32 [[C]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[MAX_BC]], [[A:%.*]]
@@ -857,7 +857,7 @@ define i32 @common_factor_umax(i32 %a, i32 %b, i32 %c) {
 declare void @extra_use(i32)
 
 define i32 @common_factor_umax_extra_use_lhs(i32 %a, i32 %b, i32 %c) {
-; CHECK-LABEL: @common_factor_umax_extra_use_lhs(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_umax_extra_use_lhs(
 ; CHECK-NEXT:    [[CMP_BC:%.*]] = icmp ugt i32 [[B:%.*]], [[C:%.*]]
 ; CHECK-NEXT:    [[MAX_BC:%.*]] = select i1 [[CMP_BC]], i32 [[B]], i32 [[C]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[MAX_BC]], [[A:%.*]]
@@ -876,7 +876,7 @@ define i32 @common_factor_umax_extra_use_lhs(i32 %a, i32 %b, i32 %c) {
 }
 
 define i32 @common_factor_umax_extra_use_rhs(i32 %a, i32 %b, i32 %c) {
-; CHECK-LABEL: @common_factor_umax_extra_use_rhs(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_umax_extra_use_rhs(
 ; CHECK-NEXT:    [[CMP_BA:%.*]] = icmp ugt i32 [[B:%.*]], [[A:%.*]]
 ; CHECK-NEXT:    [[MAX_BA:%.*]] = select i1 [[CMP_BA]], i32 [[B]], i32 [[A]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 [[MAX_BA]], [[C:%.*]]
@@ -895,7 +895,7 @@ define i32 @common_factor_umax_extra_use_rhs(i32 %a, i32 %b, i32 %c) {
 }
 
 define i32 @common_factor_umax_extra_use_both(i32 %a, i32 %b, i32 %c) {
-; CHECK-LABEL: @common_factor_umax_extra_use_both(
+; CHECK-LABEL: define {{[^@]+}}@common_factor_umax_extra_use_both(
 ; CHECK-NEXT:    [[CMP_BC:%.*]] = icmp ugt i32 [[B:%.*]], [[C:%.*]]
 ; CHECK-NEXT:    [[MAX_BC:%.*]] = select i1 [[CMP_BC]], i32 [[B]], i32 [[C]]
 ; CHECK-NEXT:    [[CMP_BA:%.*]] = icmp ugt i32 [[B]], [[A:%.*]]
@@ -920,7 +920,7 @@ define i32 @common_factor_umax_extra_use_both(i32 %a, i32 %b, i32 %c) {
 ; This would assert. Don't assume that earlier min/max types match a possible later min/max.
 
 define float @not_min_of_min(i8 %i, float %x) {
-; CHECK-LABEL: @not_min_of_min(
+; CHECK-LABEL: define {{[^@]+}}@not_min_of_min(
 ; CHECK-NEXT:    [[CMP1_INV:%.*]] = fcmp fast oge float [[X:%.*]], 1.000000e+00
 ; CHECK-NEXT:    [[MIN1:%.*]] = select i1 [[CMP1_INV]], float 1.000000e+00, float [[X]]
 ; CHECK-NEXT:    [[CMP2_INV:%.*]] = fcmp fast oge float [[X]], 2.000000e+00
@@ -939,7 +939,7 @@ define float @not_min_of_min(i8 %i, float %x) {
 }
 
 define i32 @add_umin(i32 %x) {
-; CHECK-LABEL: @add_umin(
+; CHECK-LABEL: define {{[^@]+}}@add_umin(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 [[X:%.*]], 27
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 27
 ; CHECK-NEXT:    [[R:%.*]] = add nuw nsw i32 [[TMP2]], 15
@@ -952,7 +952,7 @@ define i32 @add_umin(i32 %x) {
 }
 
 define i32 @add_umin_constant_limit(i32 %x) {
-; CHECK-LABEL: @add_umin_constant_limit(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_constant_limit(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], 0
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[TMP1]], i32 41, i32 42
 ; CHECK-NEXT:    ret i32 [[R]]
@@ -967,7 +967,7 @@ define i32 @add_umin_constant_limit(i32 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i32 @add_umin_simplify(i32 %x) {
-; CHECK-LABEL: @add_umin_simplify(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_simplify(
 ; CHECK-NEXT:    ret i32 42
 ;
   %a = add nuw i32 %x, 42
@@ -980,7 +980,7 @@ define i32 @add_umin_simplify(i32 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i32 @add_umin_simplify2(i32 %x) {
-; CHECK-LABEL: @add_umin_simplify2(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_simplify2(
 ; CHECK-NEXT:    ret i32 42
 ;
   %a = add nuw i32 %x, 43
@@ -992,7 +992,7 @@ define i32 @add_umin_simplify2(i32 %x) {
 ; Negative test
 
 define i32 @add_umin_wrong_pred(i32 %x) {
-; CHECK-LABEL: @add_umin_wrong_pred(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_wrong_pred(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp slt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1007,7 +1007,7 @@ define i32 @add_umin_wrong_pred(i32 %x) {
 ; Negative test
 
 define i32 @add_umin_wrong_wrap(i32 %x) {
-; CHECK-LABEL: @add_umin_wrong_wrap(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_wrong_wrap(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp ult i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1022,7 +1022,7 @@ define i32 @add_umin_wrong_wrap(i32 %x) {
 ; Negative test
 
 define i32 @add_umin_extra_use(i32 %x, i32* %p) {
-; CHECK-LABEL: @add_umin_extra_use(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_extra_use(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    store i32 [[A]], i32* [[P:%.*]], align 4
 ; CHECK-NEXT:    [[C:%.*]] = icmp ult i32 [[A]], 42
@@ -1037,7 +1037,7 @@ define i32 @add_umin_extra_use(i32 %x, i32* %p) {
 }
 
 define <2 x i16> @add_umin_vec(<2 x i16> %x) {
-; CHECK-LABEL: @add_umin_vec(
+; CHECK-LABEL: define {{[^@]+}}@add_umin_vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult <2 x i16> [[X:%.*]], <i16 225, i16 225>
 ; CHECK-NEXT:    [[TMP2:%.*]] = select <2 x i1> [[TMP1]], <2 x i16> [[X]], <2 x i16> <i16 225, i16 225>
 ; CHECK-NEXT:    [[R:%.*]] = add nuw nsw <2 x i16> [[TMP2]], <i16 15, i16 15>
@@ -1050,7 +1050,7 @@ define <2 x i16> @add_umin_vec(<2 x i16> %x) {
 }
 
 define i37 @add_umax(i37 %x) {
-; CHECK-LABEL: @add_umax(
+; CHECK-LABEL: define {{[^@]+}}@add_umax(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i37 [[X:%.*]], 37
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i37 [[X]], i37 37
 ; CHECK-NEXT:    [[R:%.*]] = add nuw i37 [[TMP2]], 5
@@ -1063,7 +1063,7 @@ define i37 @add_umax(i37 %x) {
 }
 
 define i37 @add_umax_constant_limit(i37 %x) {
-; CHECK-LABEL: @add_umax_constant_limit(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_constant_limit(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i37 [[X:%.*]], 1
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i37 [[X]], i37 1
 ; CHECK-NEXT:    [[R:%.*]] = add nuw i37 [[TMP2]], 81
@@ -1079,7 +1079,7 @@ define i37 @add_umax_constant_limit(i37 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i37 @add_umax_simplify(i37 %x) {
-; CHECK-LABEL: @add_umax_simplify(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_simplify(
 ; CHECK-NEXT:    [[A:%.*]] = add i37 [[X:%.*]], 42
 ; CHECK-NEXT:    ret i37 [[A]]
 ;
@@ -1093,7 +1093,7 @@ define i37 @add_umax_simplify(i37 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i32 @add_umax_simplify2(i32 %x) {
-; CHECK-LABEL: @add_umax_simplify2(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_simplify2(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 57
 ; CHECK-NEXT:    ret i32 [[A]]
 ;
@@ -1106,7 +1106,7 @@ define i32 @add_umax_simplify2(i32 %x) {
 ; Negative test
 
 define i32 @add_umax_wrong_pred(i32 %x) {
-; CHECK-LABEL: @add_umax_wrong_pred(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_wrong_pred(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp sgt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1121,7 +1121,7 @@ define i32 @add_umax_wrong_pred(i32 %x) {
 ; Negative test
 
 define i32 @add_umax_wrong_wrap(i32 %x) {
-; CHECK-LABEL: @add_umax_wrong_wrap(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_wrong_wrap(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp ugt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1136,7 +1136,7 @@ define i32 @add_umax_wrong_wrap(i32 %x) {
 ; Negative test
 
 define i32 @add_umax_extra_use(i32 %x, i32* %p) {
-; CHECK-LABEL: @add_umax_extra_use(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_extra_use(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    store i32 [[A]], i32* [[P:%.*]], align 4
 ; CHECK-NEXT:    [[C:%.*]] = icmp ugt i32 [[A]], 42
@@ -1151,7 +1151,7 @@ define i32 @add_umax_extra_use(i32 %x, i32* %p) {
 }
 
 define <2 x i33> @add_umax_vec(<2 x i33> %x) {
-; CHECK-LABEL: @add_umax_vec(
+; CHECK-LABEL: define {{[^@]+}}@add_umax_vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt <2 x i33> [[X:%.*]], <i33 235, i33 235>
 ; CHECK-NEXT:    [[TMP2:%.*]] = select <2 x i1> [[TMP1]], <2 x i33> [[X]], <2 x i33> <i33 235, i33 235>
 ; CHECK-NEXT:    [[R:%.*]] = add nuw <2 x i33> [[TMP2]], <i33 5, i33 5>
@@ -1164,7 +1164,7 @@ define <2 x i33> @add_umax_vec(<2 x i33> %x) {
 }
 
 define i8 @PR14613_umin(i8 %x) {
-; CHECK-LABEL: @PR14613_umin(
+; CHECK-LABEL: define {{[^@]+}}@PR14613_umin(
 ; CHECK-NEXT:    [[U7:%.*]] = call i8 @llvm.uadd.sat.i8(i8 [[X:%.*]], i8 15)
 ; CHECK-NEXT:    ret i8 [[U7]]
 ;
@@ -1177,7 +1177,7 @@ define i8 @PR14613_umin(i8 %x) {
 }
 
 define i8 @PR14613_umax(i8 %x) {
-; CHECK-LABEL: @PR14613_umax(
+; CHECK-LABEL: define {{[^@]+}}@PR14613_umax(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i8 [[X:%.*]], -16
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i8 [[X]], i8 -16
 ; CHECK-NEXT:    [[U7:%.*]] = add nsw i8 [[TMP2]], 15
@@ -1192,7 +1192,7 @@ define i8 @PR14613_umax(i8 %x) {
 }
 
 define i32 @add_smin(i32 %x) {
-; CHECK-LABEL: @add_smin(
+; CHECK-LABEL: define {{[^@]+}}@add_smin(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 27
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 27
 ; CHECK-NEXT:    [[R:%.*]] = add nsw i32 [[TMP2]], 15
@@ -1205,7 +1205,7 @@ define i32 @add_smin(i32 %x) {
 }
 
 define i32 @add_smin_constant_limit(i32 %x) {
-; CHECK-LABEL: @add_smin_constant_limit(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_constant_limit(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i32 [[X:%.*]], 2147483646
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 2147483646
 ; CHECK-NEXT:    [[R:%.*]] = add nsw i32 [[TMP2]], -3
@@ -1221,7 +1221,7 @@ define i32 @add_smin_constant_limit(i32 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i32 @add_smin_simplify(i32 %x) {
-; CHECK-LABEL: @add_smin_simplify(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_simplify(
 ; CHECK-NEXT:    [[R:%.*]] = add nsw i32 [[X:%.*]], -3
 ; CHECK-NEXT:    ret i32 [[R]]
 ;
@@ -1235,7 +1235,7 @@ define i32 @add_smin_simplify(i32 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i32 @add_smin_simplify2(i32 %x) {
-; CHECK-LABEL: @add_smin_simplify2(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_simplify2(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], -3
 ; CHECK-NEXT:    ret i32 [[A]]
 ;
@@ -1248,7 +1248,7 @@ define i32 @add_smin_simplify2(i32 %x) {
 ; Negative test
 
 define i32 @add_smin_wrong_pred(i32 %x) {
-; CHECK-LABEL: @add_smin_wrong_pred(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_wrong_pred(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp ult i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1263,7 +1263,7 @@ define i32 @add_smin_wrong_pred(i32 %x) {
 ; Negative test
 
 define i32 @add_smin_wrong_wrap(i32 %x) {
-; CHECK-LABEL: @add_smin_wrong_wrap(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_wrong_wrap(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp slt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1278,7 +1278,7 @@ define i32 @add_smin_wrong_wrap(i32 %x) {
 ; Negative test
 
 define i32 @add_smin_extra_use(i32 %x, i32* %p) {
-; CHECK-LABEL: @add_smin_extra_use(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_extra_use(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    store i32 [[A]], i32* [[P:%.*]], align 4
 ; CHECK-NEXT:    [[C:%.*]] = icmp slt i32 [[A]], 42
@@ -1293,7 +1293,7 @@ define i32 @add_smin_extra_use(i32 %x, i32* %p) {
 }
 
 define <2 x i16> @add_smin_vec(<2 x i16> %x) {
-; CHECK-LABEL: @add_smin_vec(
+; CHECK-LABEL: define {{[^@]+}}@add_smin_vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt <2 x i16> [[X:%.*]], <i16 225, i16 225>
 ; CHECK-NEXT:    [[TMP2:%.*]] = select <2 x i1> [[TMP1]], <2 x i16> [[X]], <2 x i16> <i16 225, i16 225>
 ; CHECK-NEXT:    [[R:%.*]] = add nsw <2 x i16> [[TMP2]], <i16 15, i16 15>
@@ -1306,7 +1306,7 @@ define <2 x i16> @add_smin_vec(<2 x i16> %x) {
 }
 
 define i37 @add_smax(i37 %x) {
-; CHECK-LABEL: @add_smax(
+; CHECK-LABEL: define {{[^@]+}}@add_smax(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i37 [[X:%.*]], 37
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i37 [[X]], i37 37
 ; CHECK-NEXT:    [[R:%.*]] = add nuw nsw i37 [[TMP2]], 5
@@ -1319,7 +1319,7 @@ define i37 @add_smax(i37 %x) {
 }
 
 define i8 @add_smax_constant_limit(i8 %x) {
-; CHECK-LABEL: @add_smax_constant_limit(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_constant_limit(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i8 [[X:%.*]], -127
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i8 [[X]], i8 -127
 ; CHECK-NEXT:    [[R:%.*]] = add nsw i8 [[TMP2]], 125
@@ -1335,7 +1335,7 @@ define i8 @add_smax_constant_limit(i8 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i8 @add_smax_simplify(i8 %x) {
-; CHECK-LABEL: @add_smax_simplify(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_simplify(
 ; CHECK-NEXT:    [[R:%.*]] = add nsw i8 [[X:%.*]], 126
 ; CHECK-NEXT:    ret i8 [[R]]
 ;
@@ -1349,7 +1349,7 @@ define i8 @add_smax_simplify(i8 %x) {
 ; TODO: assert that instsimplify always gets this?
 
 define i8 @add_smax_simplify2(i8 %x) {
-; CHECK-LABEL: @add_smax_simplify2(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_simplify2(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i8 [[X:%.*]], 127
 ; CHECK-NEXT:    ret i8 [[A]]
 ;
@@ -1362,7 +1362,7 @@ define i8 @add_smax_simplify2(i8 %x) {
 ; Negative test
 
 define i32 @add_smax_wrong_pred(i32 %x) {
-; CHECK-LABEL: @add_smax_wrong_pred(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_wrong_pred(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp ugt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1377,7 +1377,7 @@ define i32 @add_smax_wrong_pred(i32 %x) {
 ; Negative test
 
 define i32 @add_smax_wrong_wrap(i32 %x) {
-; CHECK-LABEL: @add_smax_wrong_wrap(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_wrong_wrap(
 ; CHECK-NEXT:    [[A:%.*]] = add nuw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    [[C:%.*]] = icmp sgt i32 [[A]], 42
 ; CHECK-NEXT:    [[R:%.*]] = select i1 [[C]], i32 [[A]], i32 42
@@ -1392,7 +1392,7 @@ define i32 @add_smax_wrong_wrap(i32 %x) {
 ; Negative test
 
 define i32 @add_smax_extra_use(i32 %x, i32* %p) {
-; CHECK-LABEL: @add_smax_extra_use(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_extra_use(
 ; CHECK-NEXT:    [[A:%.*]] = add nsw i32 [[X:%.*]], 15
 ; CHECK-NEXT:    store i32 [[A]], i32* [[P:%.*]], align 4
 ; CHECK-NEXT:    [[C:%.*]] = icmp sgt i32 [[A]], 42
@@ -1407,7 +1407,7 @@ define i32 @add_smax_extra_use(i32 %x, i32* %p) {
 }
 
 define <2 x i33> @add_smax_vec(<2 x i33> %x) {
-; CHECK-LABEL: @add_smax_vec(
+; CHECK-LABEL: define {{[^@]+}}@add_smax_vec(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt <2 x i33> [[X:%.*]], <i33 235, i33 235>
 ; CHECK-NEXT:    [[TMP2:%.*]] = select <2 x i1> [[TMP1]], <2 x i33> [[X]], <2 x i33> <i33 235, i33 235>
 ; CHECK-NEXT:    [[R:%.*]] = add nuw nsw <2 x i33> [[TMP2]], <i33 5, i33 5>
@@ -1420,7 +1420,7 @@ define <2 x i33> @add_smax_vec(<2 x i33> %x) {
 }
 
 define i8 @PR14613_smin(i8 %x) {
-; CHECK-LABEL: @PR14613_smin(
+; CHECK-LABEL: define {{[^@]+}}@PR14613_smin(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp slt i8 [[X:%.*]], 40
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i8 [[X]], i8 40
 ; CHECK-NEXT:    [[U7:%.*]] = add nsw i8 [[TMP2]], 15
@@ -1435,7 +1435,7 @@ define i8 @PR14613_smin(i8 %x) {
 }
 
 define i8 @PR14613_smax(i8 %x) {
-; CHECK-LABEL: @PR14613_smax(
+; CHECK-LABEL: define {{[^@]+}}@PR14613_smax(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i8 [[X:%.*]], 40
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], i8 [[X]], i8 40
 ; CHECK-NEXT:    [[U7:%.*]] = add nuw i8 [[TMP2]], 15

diff  --git a/llvm/test/Transforms/InstCombine/minmax-fp.ll b/llvm/test/Transforms/InstCombine/minmax-fp.ll
index ee1fc7a22143..87983918c3b2 100644
--- a/llvm/test/Transforms/InstCombine/minmax-fp.ll
+++ b/llvm/test/Transforms/InstCombine/minmax-fp.ll
@@ -3,7 +3,7 @@
 
 ; This is the canonical form for a type-changing min/max.
 define double @t1(float %a) {
-; CHECK-LABEL: @t1(
+; CHECK-LABEL: define {{[^@]+}}@t1(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fpext float [[TMP1]] to double
@@ -17,7 +17,7 @@ define double @t1(float %a) {
 
 ; Check this is converted into canonical form, as above.
 define double @t2(float %a) {
-; CHECK-LABEL: @t2(
+; CHECK-LABEL: define {{[^@]+}}@t2(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fpext float [[TMP1]] to double
@@ -31,7 +31,7 @@ define double @t2(float %a) {
 
 ; Same again, with trunc.
 define float @t4(double %a) {
-; CHECK-LABEL: @t4(
+; CHECK-LABEL: define {{[^@]+}}@t4(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge double [[A:%.*]], 5.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], double 5.000000e+00, double [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptrunc double [[TMP1]] to float
@@ -45,7 +45,7 @@ define float @t4(double %a) {
 
 ; 
diff erent values, should not be converted.
 define double @t5(float %a) {
-; CHECK-LABEL: @t5(
+; CHECK-LABEL: define {{[^@]+}}@t5(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult float [[A:%.*]], 5.000000e+00
 ; CHECK-NEXT:    [[TMP2:%.*]] = fpext float [[A]] to double
 ; CHECK-NEXT:    [[TMP3:%.*]] = select i1 [[TMP1]], double [[TMP2]], double 5.001000e+00
@@ -61,7 +61,7 @@ define double @t5(float %a) {
 ; So the compare constant may be treated as +0.0, and we sink the fpext.
 
 define double @t6(float %a) {
-; CHECK-LABEL: @t6(
+; CHECK-LABEL: define {{[^@]+}}@t6(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fpext float [[TMP1]] to double
@@ -77,7 +77,7 @@ define double @t6(float %a) {
 ; So the compare constant may be treated as -0.0, and we sink the fpext.
 
 define double @t7(float %a) {
-; CHECK-LABEL: @t7(
+; CHECK-LABEL: define {{[^@]+}}@t7(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float -0.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fpext float [[TMP1]] to double
@@ -92,7 +92,7 @@ define double @t7(float %a) {
 ; min(min(x, 0.0), 0.0) --> min(x, 0.0)
 
 define float @fmin_fmin_zero_mismatch(float %x) {
-; CHECK-LABEL: @fmin_fmin_zero_mismatch(
+; CHECK-LABEL: define {{[^@]+}}@fmin_fmin_zero_mismatch(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[MIN2:%.*]] = select i1 [[TMP1]], float [[X]], float 0.000000e+00
 ; CHECK-NEXT:    ret float [[MIN2]]
@@ -107,7 +107,7 @@ define float @fmin_fmin_zero_mismatch(float %x) {
 ; max(max(x, -0.0), -0.0) --> max(x, -0.0)
 
 define float @fmax_fmax_zero_mismatch(float %x) {
-; CHECK-LABEL: @fmax_fmax_zero_mismatch(
+; CHECK-LABEL: define {{[^@]+}}@fmax_fmax_zero_mismatch(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt float [[X:%.*]], -0.000000e+00
 ; CHECK-NEXT:    [[MAX11:%.*]] = select i1 [[TMP1]], float [[X]], float -0.000000e+00
 ; CHECK-NEXT:    ret float [[MAX11]]
@@ -120,7 +120,7 @@ define float @fmax_fmax_zero_mismatch(float %x) {
 }
 
 define i64 @t8(float %a) {
-; CHECK-LABEL: @t8(
+; CHECK-LABEL: define {{[^@]+}}@t8(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptoui float [[TMP1]] to i64
@@ -133,7 +133,7 @@ define i64 @t8(float %a) {
 }
 
 define i8 @t9(float %a) {
-; CHECK-LABEL: @t9(
+; CHECK-LABEL: define {{[^@]+}}@t9(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
@@ -147,7 +147,7 @@ define i8 @t9(float %a) {
 
   ; Either operand could be NaN, but fast modifier applied.
 define i8 @t11(float %a, float %b) {
-; CHECK-LABEL: @t11(
+; CHECK-LABEL: define {{[^@]+}}@t11(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp fast oge float [[B:%.*]], [[A:%.*]]
 ; CHECK-NEXT:    [[DOTV:%.*]] = select i1 [[DOTINV]], float [[A]], float [[B]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = fptosi float [[DOTV]] to i8
@@ -162,7 +162,7 @@ define i8 @t11(float %a, float %b) {
 
 ; Either operand could be NaN, but nnan modifier applied.
 define i8 @t12(float %a, float %b) {
-; CHECK-LABEL: @t12(
+; CHECK-LABEL: define {{[^@]+}}@t12(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp nnan oge float [[B:%.*]], [[A:%.*]]
 ; CHECK-NEXT:    [[DOTV:%.*]] = select i1 [[DOTINV]], float [[A]], float [[B]]
 ; CHECK-NEXT:    [[TMP1:%.*]] = fptosi float [[DOTV]] to i8
@@ -177,7 +177,7 @@ define i8 @t12(float %a, float %b) {
 
 ; Float and int values do not match.
 define i8 @t13(float %a) {
-; CHECK-LABEL: @t13(
+; CHECK-LABEL: define {{[^@]+}}@t13(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult float [[A:%.*]], 1.500000e+00
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptosi float [[A]] to i8
 ; CHECK-NEXT:    [[TMP3:%.*]] = select i1 [[TMP1]], i8 [[TMP2]], i8 1
@@ -191,7 +191,7 @@ define i8 @t13(float %a) {
 
 ; %a could be -0.0, but it doesn't matter because the conversion to int is the same for 0.0 or -0.0.
 define i8 @t14(float %a) {
-; CHECK-LABEL: @t14(
+; CHECK-LABEL: define {{[^@]+}}@t14(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
@@ -204,7 +204,7 @@ define i8 @t14(float %a) {
 }
 
 define i8 @t14_commute(float %a) {
-; CHECK-LABEL: @t14_commute(
+; CHECK-LABEL: define {{[^@]+}}@t14_commute(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP2:%.*]] = select i1 [[TMP1]], float [[A]], float 0.000000e+00
 ; CHECK-NEXT:    [[TMP3:%.*]] = fptosi float [[TMP2]] to i8
@@ -217,7 +217,7 @@ define i8 @t14_commute(float %a) {
 }
 
 define i8 @t15(float %a) {
-; CHECK-LABEL: @t15(
+; CHECK-LABEL: define {{[^@]+}}@t15(
 ; CHECK-NEXT:    [[DOTINV:%.*]] = fcmp nsz oge float [[A:%.*]], 0.000000e+00
 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
@@ -230,7 +230,7 @@ define i8 @t15(float %a) {
 }
 
 define double @t16(i32 %x) {
-; CHECK-LABEL: @t16(
+; CHECK-LABEL: define {{[^@]+}}@t16(
 ; CHECK-NEXT:    [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
 ; CHECK-NEXT:    [[CST:%.*]] = sitofp i32 [[X]] to double
 ; CHECK-NEXT:    [[SEL:%.*]] = select i1 [[CMP]], double [[CST]], double 5.000000e-01
@@ -243,7 +243,7 @@ define double @t16(i32 %x) {
 }
 
 define double @t17(i32 %x) {
-; CHECK-LABEL: @t17(
+; CHECK-LABEL: define {{[^@]+}}@t17(
 ; CHECK-NEXT:    [[TMP1:%.*]] = icmp sgt i32 [[X:%.*]], 2
 ; CHECK-NEXT:    [[SEL1:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 2
 ; CHECK-NEXT:    [[TMP2:%.*]] = sitofp i32 [[SEL1]] to double
@@ -256,7 +256,7 @@ define double @t17(i32 %x) {
 }
 
 define float @fneg_fmax(float %x, float %y) {
-; CHECK-LABEL: @fneg_fmax(
+; CHECK-LABEL: define {{[^@]+}}@fneg_fmax(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan olt float [[X:%.*]], [[Y:%.*]]
 ; CHECK-NEXT:    [[MAX_V:%.*]] = select i1 [[COND]], float [[X]], float [[Y]]
 ; CHECK-NEXT:    [[MAX:%.*]] = fneg float [[MAX_V]]
@@ -270,7 +270,7 @@ define float @fneg_fmax(float %x, float %y) {
 }
 
 define <2 x float> @fsub_fmax(<2 x float> %x, <2 x float> %y) {
-; CHECK-LABEL: @fsub_fmax(
+; CHECK-LABEL: define {{[^@]+}}@fsub_fmax(
 ; CHECK-NEXT:    [[COND_INV:%.*]] = fcmp nnan nsz ogt <2 x float> [[X:%.*]], [[Y:%.*]]
 ; CHECK-NEXT:    [[MAX_V:%.*]] = select <2 x i1> [[COND_INV]], <2 x float> [[Y]], <2 x float> [[X]]
 ; CHECK-NEXT:    [[MAX:%.*]] = fsub <2 x float> <float -0.000000e+00, float -0.000000e+00>, [[MAX_V]]
@@ -284,7 +284,7 @@ define <2 x float> @fsub_fmax(<2 x float> %x, <2 x float> %y) {
 }
 
 define <2 x double> @fsub_fmin(<2 x double> %x, <2 x double> %y) {
-; CHECK-LABEL: @fsub_fmin(
+; CHECK-LABEL: define {{[^@]+}}@fsub_fmin(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan ogt <2 x double> [[X:%.*]], [[Y:%.*]]
 ; CHECK-NEXT:    [[MAX_V:%.*]] = select <2 x i1> [[COND]], <2 x double> [[X]], <2 x double> [[Y]]
 ; CHECK-NEXT:    [[MAX:%.*]] = fsub <2 x double> <double -0.000000e+00, double -0.000000e+00>, [[MAX_V]]
@@ -298,7 +298,7 @@ define <2 x double> @fsub_fmin(<2 x double> %x, <2 x double> %y) {
 }
 
 define double @fneg_fmin(double %x, double %y) {
-; CHECK-LABEL: @fneg_fmin(
+; CHECK-LABEL: define {{[^@]+}}@fneg_fmin(
 ; CHECK-NEXT:    [[COND_INV:%.*]] = fcmp nnan nsz olt double [[X:%.*]], [[Y:%.*]]
 ; CHECK-NEXT:    [[MAX_V:%.*]] = select i1 [[COND_INV]], double [[Y]], double [[X]]
 ; CHECK-NEXT:    [[MAX:%.*]] = fneg double [[MAX_V]]
@@ -312,7 +312,7 @@ define double @fneg_fmin(double %x, double %y) {
 }
 
 define float @maxnum_ogt_fmf_on_select(float %a, float %b) {
-; CHECK-LABEL: @maxnum_ogt_fmf_on_select(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_ogt_fmf_on_select(
 ; CHECK-NEXT:    [[TMP1:%.*]] = call nnan nsz float @llvm.maxnum.f32(float [[A:%.*]], float [[B:%.*]])
 ; CHECK-NEXT:    ret float [[TMP1]]
 ;
@@ -322,7 +322,7 @@ define float @maxnum_ogt_fmf_on_select(float %a, float %b) {
 }
 
 define <2 x float> @maxnum_oge_fmf_on_select(<2 x float> %a, <2 x float> %b) {
-; CHECK-LABEL: @maxnum_oge_fmf_on_select(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_oge_fmf_on_select(
 ; CHECK-NEXT:    [[TMP1:%.*]] = call nnan ninf nsz <2 x float> @llvm.maxnum.v2f32(<2 x float> [[A:%.*]], <2 x float> [[B:%.*]])
 ; CHECK-NEXT:    ret <2 x float> [[TMP1]]
 ;
@@ -332,7 +332,7 @@ define <2 x float> @maxnum_oge_fmf_on_select(<2 x float> %a, <2 x float> %b) {
 }
 
 define float @maxnum_ogt_fmf_on_fcmp(float %a, float %b) {
-; CHECK-LABEL: @maxnum_ogt_fmf_on_fcmp(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_ogt_fmf_on_fcmp(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan nsz ogt float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]
@@ -343,7 +343,7 @@ define float @maxnum_ogt_fmf_on_fcmp(float %a, float %b) {
 }
 
 define <2 x float> @maxnum_oge_fmf_on_fcmp(<2 x float> %a, <2 x float> %b) {
-; CHECK-LABEL: @maxnum_oge_fmf_on_fcmp(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_oge_fmf_on_fcmp(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan ninf nsz oge <2 x float> [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select <2 x i1> [[COND]], <2 x float> [[A]], <2 x float> [[B]]
 ; CHECK-NEXT:    ret <2 x float> [[F]]
@@ -354,7 +354,7 @@ define <2 x float> @maxnum_oge_fmf_on_fcmp(<2 x float> %a, <2 x float> %b) {
 }
 
 define float @maxnum_no_nsz(float %a, float %b) {
-; CHECK-LABEL: @maxnum_no_nsz(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_no_nsz(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp ogt float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select nnan i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]
@@ -365,7 +365,7 @@ define float @maxnum_no_nsz(float %a, float %b) {
 }
 
 define float @maxnum_no_nnan(float %a, float %b) {
-; CHECK-LABEL: @maxnum_no_nnan(
+; CHECK-LABEL: define {{[^@]+}}@maxnum_no_nnan(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp oge float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select nsz i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]
@@ -376,7 +376,7 @@ define float @maxnum_no_nnan(float %a, float %b) {
 }
 
 define float @minnum_olt_fmf_on_select(float %a, float %b) {
-; CHECK-LABEL: @minnum_olt_fmf_on_select(
+; CHECK-LABEL: define {{[^@]+}}@minnum_olt_fmf_on_select(
 ; CHECK-NEXT:    [[TMP1:%.*]] = call nnan nsz float @llvm.minnum.f32(float [[A:%.*]], float [[B:%.*]])
 ; CHECK-NEXT:    ret float [[TMP1]]
 ;
@@ -386,7 +386,7 @@ define float @minnum_olt_fmf_on_select(float %a, float %b) {
 }
 
 define <2 x float> @minnum_ole_fmf_on_select(<2 x float> %a, <2 x float> %b) {
-; CHECK-LABEL: @minnum_ole_fmf_on_select(
+; CHECK-LABEL: define {{[^@]+}}@minnum_ole_fmf_on_select(
 ; CHECK-NEXT:    [[TMP1:%.*]] = call nnan ninf nsz <2 x float> @llvm.minnum.v2f32(<2 x float> [[A:%.*]], <2 x float> [[B:%.*]])
 ; CHECK-NEXT:    ret <2 x float> [[TMP1]]
 ;
@@ -396,7 +396,7 @@ define <2 x float> @minnum_ole_fmf_on_select(<2 x float> %a, <2 x float> %b) {
 }
 
 define float @minnum_olt_fmf_on_fcmp(float %a, float %b) {
-; CHECK-LABEL: @minnum_olt_fmf_on_fcmp(
+; CHECK-LABEL: define {{[^@]+}}@minnum_olt_fmf_on_fcmp(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan nsz olt float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]
@@ -407,7 +407,7 @@ define float @minnum_olt_fmf_on_fcmp(float %a, float %b) {
 }
 
 define <2 x float> @minnum_ole_fmf_on_fcmp(<2 x float> %a, <2 x float> %b) {
-; CHECK-LABEL: @minnum_ole_fmf_on_fcmp(
+; CHECK-LABEL: define {{[^@]+}}@minnum_ole_fmf_on_fcmp(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp nnan ninf nsz ole <2 x float> [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select <2 x i1> [[COND]], <2 x float> [[A]], <2 x float> [[B]]
 ; CHECK-NEXT:    ret <2 x float> [[F]]
@@ -418,7 +418,7 @@ define <2 x float> @minnum_ole_fmf_on_fcmp(<2 x float> %a, <2 x float> %b) {
 }
 
 define float @minnum_no_nsz(float %a, float %b) {
-; CHECK-LABEL: @minnum_no_nsz(
+; CHECK-LABEL: define {{[^@]+}}@minnum_no_nsz(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp olt float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select nnan i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]
@@ -429,7 +429,7 @@ define float @minnum_no_nsz(float %a, float %b) {
 }
 
 define float @minnum_no_nnan(float %a, float %b) {
-; CHECK-LABEL: @minnum_no_nnan(
+; CHECK-LABEL: define {{[^@]+}}@minnum_no_nnan(
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp ole float [[A:%.*]], [[B:%.*]]
 ; CHECK-NEXT:    [[F:%.*]] = select nsz i1 [[COND]], float [[A]], float [[B]]
 ; CHECK-NEXT:    ret float [[F]]


        


More information about the llvm-commits mailing list