<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">This is breaking tests when building without assertions enabled, e.g.
<a href="https://lab.llvm.org/buildbot/#/builders/67/builds/13266/steps/7/logs/stdio">https://lab.llvm.org/buildbot/#/builders/67/builds/13266/steps/7/logs/stdio</a>, I think because the initial entry: label isn’t generated in such builds. Could you please take a look?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">cfe-commits <cfe-commits-bounces@lists.llvm.org> on behalf of Nikita Popov via cfe-commits <cfe-commits@lists.llvm.org><br>
<b>Date: </b>Friday, November 10, 2023 at 7:28 AM<br>
<b>To: </b>cfe-commits@lists.llvm.org <cfe-commits@lists.llvm.org><br>
<b>Subject: </b>[clang] cd7ba9f - [Clang] Generate test checks (NFC)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">!-------------------------------------------------------------------|<br>
  This Message Is From an External Sender<br>
<br>
|-------------------------------------------------------------------!<br>
<br>
<br>
Author: Nikita Popov<br>
Date: 2023-11-10T16:27:37+01:00<br>
New Revision: cd7ba9f3d090afb5d3b15b0dcf379d15d1e11e33<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/cd7ba9f3d090afb5d3b15b0dcf379d15d1e11e33">https://github.com/llvm/llvm-project/commit/cd7ba9f3d090afb5d3b15b0dcf379d15d1e11e33</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/cd7ba9f3d090afb5d3b15b0dcf379d15d1e11e33.diff">https://github.com/llvm/llvm-project/commit/cd7ba9f3d090afb5d3b15b0dcf379d15d1e11e33.diff</a><br>
<br>
LOG: [Clang] Generate test checks (NFC)<br>
<br>
Added: <br>
    <br>
<br>
Modified: <br>
    clang/test/Analysis/builtin_signbit.cpp<br>
<br>
Removed: <br>
    <br>
<br>
<br>
################################################################################<br>
diff  --git a/clang/test/Analysis/builtin_signbit.cpp b/clang/test/Analysis/builtin_signbit.cpp<br>
index 251391952f9c586..a0bf7a45be1302b 100644<br>
--- a/clang/test/Analysis/builtin_signbit.cpp<br>
+++ b/clang/test/Analysis/builtin_signbit.cpp<br>
@@ -1,46 +1,113 @@<br>
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 3<br>
 // RUN: %clang -target powerpc-linux-gnu -emit-llvm -S -mabi=ibmlongdouble \<br>
-// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-BE<br>
+// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK-BE32<br>
 // RUN: %clang -target powerpc64-linux-gnu -emit-llvm -S -mabi=ibmlongdouble \<br>
-// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-BE<br>
+// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK-BE64<br>
 // RUN: %clang -target powerpc64le-linux-gnu -emit-llvm -S -mabi=ibmlongdouble \<br>
-// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-LE<br>
+// RUN:   -O0 %s -o - | FileCheck %s --check-prefixes=CHECK-LE<br>
 <br>
 bool b;<br>
 double d = -1.0;<br>
 long double ld = -1.0L;<br>
+// CHECK-BE32-LABEL: define dso_local void @_Z12test_signbitv(<br>
+// CHECK-BE32-SAME: ) #[[ATTR0:[0-9]+]] {<br>
+// CHECK-BE32-NEXT:  entry:<br>
+// CHECK-BE32-NEXT:    [[FROMBOOL:%.*]] = zext i1 icmp slt (i64 trunc (i128 lshr (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128), i128 64) to i64), i64 0) to i8<br>
+// CHECK-BE32-NEXT:    store i8 [[FROMBOOL]], ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    [[TMP0:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-BE32-NEXT:    [[TMP1:%.*]] = bitcast ppc_fp128 [[TMP0]] to i128<br>
+// CHECK-BE32-NEXT:    [[TMP2:%.*]] = lshr i128 [[TMP1]], 64<br>
+// CHECK-BE32-NEXT:    [[TMP3:%.*]] = trunc i128 [[TMP2]] to i64<br>
+// CHECK-BE32-NEXT:    [[TMP4:%.*]] = icmp slt i64 [[TMP3]], 0<br>
+// CHECK-BE32-NEXT:    [[FROMBOOL1:%.*]] = zext i1 [[TMP4]] to i8<br>
+// CHECK-BE32-NEXT:    store i8 [[FROMBOOL1]], ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    store i8 0, ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    [[TMP5:%.*]] = load double, ptr @d, align 8<br>
+// CHECK-BE32-NEXT:    [[CONV:%.*]] = fptrunc double [[TMP5]] to float<br>
+// CHECK-BE32-NEXT:    [[TMP6:%.*]] = bitcast float [[CONV]] to i32<br>
+// CHECK-BE32-NEXT:    [[TMP7:%.*]] = icmp slt i32 [[TMP6]], 0<br>
+// CHECK-BE32-NEXT:    [[FROMBOOL2:%.*]] = zext i1 [[TMP7]] to i8<br>
+// CHECK-BE32-NEXT:    store i8 [[FROMBOOL2]], ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    [[FROMBOOL3:%.*]] = zext i1 icmp slt (i64 trunc (i128 lshr (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128), i128 64) to i64), i64 0) to i8<br>
+// CHECK-BE32-NEXT:    store i8 [[FROMBOOL3]], ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    [[TMP8:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-BE32-NEXT:    [[TMP9:%.*]] = bitcast ppc_fp128 [[TMP8]] to i128<br>
+// CHECK-BE32-NEXT:    [[TMP10:%.*]] = lshr i128 [[TMP9]], 64<br>
+// CHECK-BE32-NEXT:    [[TMP11:%.*]] = trunc i128 [[TMP10]] to i64<br>
+// CHECK-BE32-NEXT:    [[TMP12:%.*]] = icmp slt i64 [[TMP11]], 0<br>
+// CHECK-BE32-NEXT:    [[FROMBOOL4:%.*]] = zext i1 [[TMP12]] to i8<br>
+// CHECK-BE32-NEXT:    store i8 [[FROMBOOL4]], ptr @b, align 1<br>
+// CHECK-BE32-NEXT:    ret void<br>
+//<br>
+// CHECK-BE64-LABEL: define dso_local void @_Z12test_signbitv(<br>
+// CHECK-BE64-SAME: ) #[[ATTR0:[0-9]+]] {<br>
+// CHECK-BE64-NEXT:  entry:<br>
+// CHECK-BE64-NEXT:    [[FROMBOOL:%.*]] = zext i1 icmp slt (i64 trunc (i128 lshr (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128), i128 64) to i64), i64 0) to i8<br>
+// CHECK-BE64-NEXT:    store i8 [[FROMBOOL]], ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    [[TMP0:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-BE64-NEXT:    [[TMP1:%.*]] = bitcast ppc_fp128 [[TMP0]] to i128<br>
+// CHECK-BE64-NEXT:    [[TMP2:%.*]] = lshr i128 [[TMP1]], 64<br>
+// CHECK-BE64-NEXT:    [[TMP3:%.*]] = trunc i128 [[TMP2]] to i64<br>
+// CHECK-BE64-NEXT:    [[TMP4:%.*]] = icmp slt i64 [[TMP3]], 0<br>
+// CHECK-BE64-NEXT:    [[FROMBOOL1:%.*]] = zext i1 [[TMP4]] to i8<br>
+// CHECK-BE64-NEXT:    store i8 [[FROMBOOL1]], ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    store i8 0, ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    [[TMP5:%.*]] = load double, ptr @d, align 8<br>
+// CHECK-BE64-NEXT:    [[CONV:%.*]] = fptrunc double [[TMP5]] to float<br>
+// CHECK-BE64-NEXT:    [[TMP6:%.*]] = bitcast float [[CONV]] to i32<br>
+// CHECK-BE64-NEXT:    [[TMP7:%.*]] = icmp slt i32 [[TMP6]], 0<br>
+// CHECK-BE64-NEXT:    [[FROMBOOL2:%.*]] = zext i1 [[TMP7]] to i8<br>
+// CHECK-BE64-NEXT:    store i8 [[FROMBOOL2]], ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    [[FROMBOOL3:%.*]] = zext i1 icmp slt (i64 trunc (i128 lshr (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128), i128 64) to i64), i64 0) to i8<br>
+// CHECK-BE64-NEXT:    store i8 [[FROMBOOL3]], ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    [[TMP8:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-BE64-NEXT:    [[TMP9:%.*]] = bitcast ppc_fp128 [[TMP8]] to i128<br>
+// CHECK-BE64-NEXT:    [[TMP10:%.*]] = lshr i128 [[TMP9]], 64<br>
+// CHECK-BE64-NEXT:    [[TMP11:%.*]] = trunc i128 [[TMP10]] to i64<br>
+// CHECK-BE64-NEXT:    [[TMP12:%.*]] = icmp slt i64 [[TMP11]], 0<br>
+// CHECK-BE64-NEXT:    [[FROMBOOL4:%.*]] = zext i1 [[TMP12]] to i8<br>
+// CHECK-BE64-NEXT:    store i8 [[FROMBOOL4]], ptr @b, align 1<br>
+// CHECK-BE64-NEXT:    ret void<br>
+//<br>
+// CHECK-LE-LABEL: define dso_local void @_Z12test_signbitv(<br>
+// CHECK-LE-SAME: ) #[[ATTR0:[0-9]+]] {<br>
+// CHECK-LE-NEXT:  entry:<br>
+// CHECK-LE-NEXT:    [[FROMBOOL:%.*]] = zext i1 icmp slt (i64 trunc (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128) to i64), i64 0) to i8<br>
+// CHECK-LE-NEXT:    store i8 [[FROMBOOL]], ptr @b, align 1<br>
+// CHECK-LE-NEXT:    [[TMP0:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-LE-NEXT:    [[TMP1:%.*]] = bitcast ppc_fp128 [[TMP0]] to i128<br>
+// CHECK-LE-NEXT:    [[TMP2:%.*]] = trunc i128 [[TMP1]] to i64<br>
+// CHECK-LE-NEXT:    [[TMP3:%.*]] = icmp slt i64 [[TMP2]], 0<br>
+// CHECK-LE-NEXT:    [[FROMBOOL1:%.*]] = zext i1 [[TMP3]] to i8<br>
+// CHECK-LE-NEXT:    store i8 [[FROMBOOL1]], ptr @b, align 1<br>
+// CHECK-LE-NEXT:    store i8 0, ptr @b, align 1<br>
+// CHECK-LE-NEXT:    [[TMP4:%.*]] = load double, ptr @d, align 8<br>
+// CHECK-LE-NEXT:    [[CONV:%.*]] = fptrunc double [[TMP4]] to float<br>
+// CHECK-LE-NEXT:    [[TMP5:%.*]] = bitcast float [[CONV]] to i32<br>
+// CHECK-LE-NEXT:    [[TMP6:%.*]] = icmp slt i32 [[TMP5]], 0<br>
+// CHECK-LE-NEXT:    [[FROMBOOL2:%.*]] = zext i1 [[TMP6]] to i8<br>
+// CHECK-LE-NEXT:    store i8 [[FROMBOOL2]], ptr @b, align 1<br>
+// CHECK-LE-NEXT:    [[FROMBOOL3:%.*]] = zext i1 icmp slt (i64 trunc (i128 bitcast (ppc_fp128 0xM3FF00000000000000000000000000000 to i128) to i64), i64 0) to i8<br>
+// CHECK-LE-NEXT:    store i8 [[FROMBOOL3]], ptr @b, align 1<br>
+// CHECK-LE-NEXT:    [[TMP7:%.*]] = load ppc_fp128, ptr @ld, align 16<br>
+// CHECK-LE-NEXT:    [[TMP8:%.*]] = bitcast ppc_fp128 [[TMP7]] to i128<br>
+// CHECK-LE-NEXT:    [[TMP9:%.*]] = trunc i128 [[TMP8]] to i64<br>
+// CHECK-LE-NEXT:    [[TMP10:%.*]] = icmp slt i64 [[TMP9]], 0<br>
+// CHECK-LE-NEXT:    [[FROMBOOL4:%.*]] = zext i1 [[TMP10]] to i8<br>
+// CHECK-LE-NEXT:    store i8 [[FROMBOOL4]], ptr @b, align 1<br>
+// CHECK-LE-NEXT:    ret void<br>
+//<br>
 void test_signbit()<br>
 {<br>
   b = __builtin_signbit(1.0L);<br>
-  // CHECK: i128<br>
-  // CHECK-LE-NOT: lshr<br>
-  // CHECK-BE: lshr<br>
-  // CHECK: bitcast<br>
-  // CHECK: ppc_fp128<br>
 <br>
   b = __builtin_signbit(ld);<br>
-  // CHECK: bitcast<br>
-  // CHECK: ppc_fp128<br>
-  // CHECK-LE-NOT: lshr<br>
-  // CHECK-BE: lshr<br>
 <br>
   b = __builtin_signbitf(1.0);<br>
-  // CHECK: store i8 0<br>
 <br>
   b = __builtin_signbitf(d);<br>
-  // CHECK: bitcast<br>
-  // CHECK-LE-NOT: lshr<br>
-  // CHECK-BE-NOT: lshr<br>
 <br>
   b = __builtin_signbitl(1.0L);<br>
-  // CHECK: i128<br>
-  // CHECK-LE-NOT: lshr<br>
-  // CHECK-BE: lshr<br>
-  // CHECK: bitcast<br>
-  // CHECK: ppc_fp128<br>
 <br>
   b = __builtin_signbitl(ld);<br>
-  // CHECK: bitcast<br>
-  // CHECK: ppc_fp128<br>
-  // CHECK-LE-NOT: lshr<br>
-  // CHECK-BE: lshr<br>
 }<br>
<br>
<br>
        <br>
_______________________________________________<br>
cfe-commits mailing list<br>
cfe-commits@lists.llvm.org<br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a>
<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>