<div dir="ltr"><div dir="ltr"><div dir="ltr">Thank you for the .ll files!<div><br></div><div>the -4.ll file you sent me contains:</div><div><br></div><div><div>define dso_local i64 @"?test__shiftleft128@@YA_K_K0E@Z"(i64 %l, i64 %h, i8 %d) local_unnamed_addr #0 {</div><div>entry:</div><div>  %0 = zext i64 %h to i128</div><div>  %1 = shl nuw i128 %0, 64</div><div>  %2 = zext i64 %l to i128</div><div>  %3 = or i128 %1, %2</div><div>  %4 = and i8 %d, 63</div><div>  %5 = zext i8 %4 to i128</div><div>  %6 = shl i128 %3, %5</div><div>  %7 = lshr i128 %6, 64</div><div>  %8 = trunc i128 %7 to i64</div><div>  ret i64 %8</div><div>}</div></div><div><br></div><div>On my local system, I get</div><div><br></div><div><div>; Function Attrs: minsize norecurse nounwind optsize readnone</div><div>define dso_local i64 @test__shiftleft128(i64 %l, i64 %h, i8 %d) local_unnamed_addr #0 {</div><div>entry:</div><div>  %0 = zext i64 %l to i128</div><div>  %1 = zext i64 %h to i128</div><div>  %2 = shl nuw i128 %1, 64</div><div>  %3 = or i128 %2, %0</div><div>  %4 = and i8 %d, 63</div><div>  %5 = zext i8 %4 to i128</div><div>  %6 = shl i128 %3, %5</div><div>  %7 = lshr i128 %6, 64</div><div>  %8 = trunc i128 %7 to i64</div><div>  ret i64 %8</div><div>}</div></div><div><br></div><div>That's identical except for the order of the instructions (which in turn changes some % numbers).</div><div><br>That's surprising to me; I thought LLVM IR is deterministic (and if it wasn't, many other tests wouldn't work either).</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 4:20 PM Galina Kistanova <<a href="mailto:gkistanova@gmail.com" target="_blank">gkistanova@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello Nico,<div><br></div><div>This builders fail on your test as well - <a href="http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/15736" target="_blank">http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/15736</a>, <a href="http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/4242" target="_blank">http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/4242</a>.</div><div><br></div><div>Please find attached the 2 temp files you can use to reliably run against your FileCheck patterns.</div><div>Hope this would help debugging.</div><div><br></div><div>Please also notice the warnings each of the RUN command produces. The warnings should be quite easy to reproduce and address.</div><div><br></div><div>In the mean time, could you revert the change unless you expect the fix coming really soon, please?<br>It is not a good idea to keep the bots red for long.</div><div><br></div><div>Here is the log:</div><div><div>----------------------------------------------------------------------</div><div><br></div><div>C:\>c:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\bin\clang.exe -cc1 -internal-isystem c:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\lib\clang\9.0.0\include -nostdsysteminc -ffreestanding -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 -triple i686--windows -Oz -emit-llvm C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c -o - > \tmp-1\ms-x86-intrinsics-1.ll</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:10:10: warning: implicitly declaring library function '__readfsbyte' with type 'unsigned char (unsigned long)'</div><div>  return __readfsbyte(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:10:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readfsbyte'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:19:10: warning: implicitly declaring library function '__readfsword' with type 'unsigned short (unsigned long)'</div><div>  return __readfsword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:19:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readfsword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:28:10: warning: implicitly declaring library function '__readfsdword' with type 'unsigned long (unsigned long)'</div><div>  return __readfsdword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:28:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readfsdword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:37:10: warning: implicitly declaring library function '__readfsqword' with type 'unsigned long long (unsigned long)'</div><div>  return __readfsqword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:37:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readfsqword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:47:10: warning: implicitly declaring library function '__emul' with type 'long long (int, int)'</div><div>  return __emul(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:47:10: note: include the header <intrin.h> or explicitly provide a declaration for '__emul'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:56:10: warning: implicitly declaring library function '__emulu' with type 'unsigned long long (unsigned int, unsigned int)'</div><div>  return __emulu(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:56:10: note: include the header <intrin.h> or explicitly provide a declaration for '__emulu'</div><div>6 warnings generated.</div><div><br></div><div>-----------------------------------------------------------------------</div><div><br></div><div>C:\>c:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\bin\clang.exe -cc1 -internal-isystem c:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\lib\clang\9.0.0\include -nostdsysteminc -ffreestanding -fms-extensions -fms-compatibility -fms-compatibility-version=17.00          -triple x86_64--windows -Oz -emit-llvm C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c -o - > \tmp-1\ms-x86-intrinsics-4.ll</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:47:10: warning: implicitly declaring library function '__emul' with type 'long long (int, int)'</div><div>  return __emul(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:47:10: note: include the header <intrin.h> or explicitly provide a declaration for '__emul'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:56:10: warning: implicitly declaring library function '__emulu' with type 'unsigned long long (unsigned int, unsigned int)'</div><div>  return __emulu(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:56:10: note: include the header <intrin.h> or explicitly provide a declaration for '__emulu'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:67:10: warning: implicitly declaring library function '__readgsbyte' with type 'unsigned char (unsigned long)'</div><div>  return __readgsbyte(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:67:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readgsbyte'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:77:10: warning: implicitly declaring library function '__readgsword' with type 'unsigned short (unsigned long)'</div><div>  return __readgsword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:77:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readgsword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:87:10: warning: implicitly declaring library function '__readgsdword' with type 'unsigned long (unsigned long)'</div><div>  return __readgsdword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:87:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readgsdword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:97:10: warning: implicitly declaring library function '__readgsqword' with type 'unsigned long long (unsigned long)'</div><div>  return __readgsqword(++Offset);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:97:10: note: include the header <intrin.h> or explicitly provide a declaration for '__readgsqword'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:107:10: warning: implicitly declaring library function '__mulh' with type 'long long (long long, long long)'</div><div>  return __mulh(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:107:10: note: include the header <intrin.h> or explicitly provide a declaration for '__mulh'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:113:10: warning: implicitly declaring library function '__umulh' with type 'unsigned long long (unsigned long long, unsigned long long)'</div><div>  return __umulh(a, b);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:113:10: note: include the header <intrin.h> or explicitly provide a declaration for '__umulh'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:121:10: warning: implicitly declaring library function '_mul128' with type 'long long (long long, long long, long long *)'</div><div>  return _mul128(Multiplier, Multiplicand, HighProduct);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:121:10: note: include the header <intrin.h> or explicitly provide a declaration for '_mul128'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:133:10: warning: implicitly declaring library function '_umul128' with type 'unsigned long long (unsigned long long, unsigned long long, unsigned long long *)'</div><div>  return _umul128(Multiplier, Multiplicand, HighProduct);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:133:10: note: include the header <intrin.h> or explicitly provide a declaration for '_umul128'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:144:10: warning: implicitly declaring library function '__shiftleft128' with type 'unsigned long long (unsigned long long, unsigned long long, unsigned char)'</div><div>  return __shiftleft128(l, h, d);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:144:10: note: include the header <intrin.h> or explicitly provide a declaration for '__shiftleft128'</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:159:10: warning: implicitly declaring library function '__shiftright128' with type 'unsigned long long (unsigned long long, unsigned long long, unsigned char)'</div><div>  return __shiftright128(l, h, d);</div><div>         ^</div><div>C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\CodeGen\ms-x86-intrinsics.c:159:10: note: include the header <intrin.h> or explicitly provide a declaration for '__shiftright128'</div><div>12 warnings generated.</div><div><br></div><div>Thanks</div><div><br></div><div>Galina<br></div></div><div><br></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 12:10 PM Nico Weber <<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">This still didn't help.<div><br></div><div>I can't repro the failures onhttp://<a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast" target="_blank">lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast</a> , I tried Rel+Asserts and Rel-Asserts builds. Can anyone else repro this?</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 1:01 PM Nico Weber via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: nico<br>
Date: Mon Feb 11 10:01:27 2019<br>
New Revision: 353729<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=353729&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=353729&view=rev</a><br>
Log:<br>
Attempt to pacify bots more after r353718 and r353725<br>
<br>
Modified:<br>
    cfe/trunk/test/CodeGen/ms-x86-intrinsics.c<br>
<br>
Modified: cfe/trunk/test/CodeGen/ms-x86-intrinsics.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-x86-intrinsics.c?rev=353729&r1=353728&r2=353729&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-x86-intrinsics.c?rev=353729&r1=353728&r2=353729&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGen/ms-x86-intrinsics.c (original)<br>
+++ cfe/trunk/test/CodeGen/ms-x86-intrinsics.c Mon Feb 11 10:01:27 2019<br>
@@ -145,9 +145,9 @@ unsigned __int64 test__shiftleft128(unsi<br>
 }<br>
 // CHECK-X64-LABEL: define dso_local i64 @test__shiftleft128(i64 %l, i64 %h, i8 %d)<br>
 // CHECK-X64:  = zext i64 %{{.*}} to i128<br>
-// CHECK-X64:  = shl nuw i128 %0, 64<br>
+// CHECK-X64:  = shl nuw i128 %{{.*}}, 64<br>
 // CHECK-X64:  = zext i64 %{{.*}} to i128<br>
-// CHECK-X64:  = or i128 %{{.*}}, %{{.*}}<br>
+// CHECK-X64:  = or i128 %<br>
 // CHECK-X64:  = and i8 %{{.*}}, 63<br>
 // CHECK-X64:  = shl i128 %<br>
 // CHECK-X64:  = lshr i128 %<br>
@@ -160,7 +160,7 @@ unsigned __int64 test__shiftright128(uns<br>
 }<br>
 // CHECK-X64-LABEL: define dso_local i64 @test__shiftright128(i64 %l, i64 %h, i8 %d)<br>
 // CHECK-X64:  = zext i64 %{{.*}} to i128<br>
-// CHECK-X64:  = shl nuw i128 %<br>
+// CHECK-X64:  = shl nuw i128 %{{.*}}, 64<br>
 // CHECK-X64:  = zext i64 %{{.*}} to i128<br>
 // CHECK-X64:  = or i128 %<br>
 // CHECK-X64:  = and i8 %{{.*}}, 63<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>
</blockquote></div>
</div>
</blockquote></div>