<div dir="ltr"><div dir="ltr"><div dir="ltr">This commit seems to be causing the LLD COFF/lto.ll test to fail:  <a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/43382/steps/check-lld%20ubsan/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/43382/steps/check-lld%20ubsan/logs/stdio</a></div><div dir="ltr"><br></div><div>Could you please take a look?</div><div dir="ltr"><pre style="font-family:"Courier New",courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="gmail-stdout">/b/sanitizer-x86_64-linux-fast/build/llvm-pro</span><span class="gmail-stdout">ject/lld/test/COFF/lto.ll:91:17: error: TEXT-10-NEXT: expected string not found in input
</span><span class="gmail-stdout">; TEXT-10-NEXT: nop
                ^
<stdin>:10:30: note: scanning from here
14000100b: 0f 1f 44 00 00 nopl (%rax,%rax)
                             ^
<stdin>:12:16: note: possible intended match here
140001011: cc int3
               ^

Input file: <stdin>
Check file: /b/sanitizer-x86_64-linux-fast/build/llvm-project/lld/test/COFF/lto.ll

-dump-input=help describes the format of the following dump.

Full input was:
<<<<<<
           1: 
           2: /b/sanitizer-x86_64-linux-fast/build/llvm_build_ubsan/tools/lld/test/COFF/Output/main.exe: file format coff-x86-64
           3: 
           4: 
           5: Disassembly of section .text:
           6: 
           7: 0000000140001000 <.text>:
           8: 140001000: c3 retq
           9: 140001001: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax)
          10: 14000100b: 0f 1f 44 00 00 nopl (%rax,%rax)
next:91'0                                  X~~~~~~~~~~~~ error: no match found
          11: 140001010: c3 retq
next:91'0     ~~~~~~~~~~~~~~~~~~
          12: 140001011: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
next:91'1                    ?   possible intended match
          13: 140001012: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          14: 140001013: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          15: 140001014: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          16: 140001015: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          17: 140001016: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          18: 140001017: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          19: 140001018: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          20: 140001019: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          21: 14000101a: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          22: 14000101b: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          23: 14000101c: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          24: 14000101d: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          25: 14000101e: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          26: 14000101f: cc int3
next:91'0     ~~~~~~~~~~~~~~~~~~
          27: 140001020: 48 83 ec 28 subq $40, %rsp
next:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          28: 140001024: e8 d7 ff ff ff callq 0x140001000 <.text>
next:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          29: 140001029: 31 c0 xorl %eax, %eax
next:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          30: 14000102b: 48 83 c4 28 addq $40, %rsp
next:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          31: 14000102f: c3 retq
next:91'0     ~~~~~~~~~~~~~~~~~~
>>>>>></span></pre></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 1, 2020 at 10:57 AM Craig Topper via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-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"><br>
Author: Craig Topper<br>
Date: 2020-07-01T10:57:24-07:00<br>
New Revision: 3367e9dac56024147bbd916c40bfe6a4ee61079b<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/3367e9dac56024147bbd916c40bfe6a4ee61079b" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/3367e9dac56024147bbd916c40bfe6a4ee61079b</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/3367e9dac56024147bbd916c40bfe6a4ee61079b.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/3367e9dac56024147bbd916c40bfe6a4ee61079b.diff</a><br>
<br>
LOG: [X86] Enable multibyte NOPs in 64-bit mode for padding/alignment.<br>
<br>
The default CPU used by llvm-mc doesn't have the NOPL feature, but<br>
if we know we're compiling in 64-bit mode we should be able to<br>
use nopl.<br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
    llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br>
    llvm/test/MC/X86/align-branch-bundle.s<br>
    llvm/test/MC/X86/align-branch-pad-max-prefix.s<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br>
index e49ee1792373..bf3b6bcb5463 100644<br>
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br>
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp<br>
@@ -1096,7 +1096,7 @@ bool X86AsmBackend::writeNopData(raw_ostream &OS, uint64_t Count) const {<br>
<br>
   // This CPU doesn't support long nops. If needed add more.<br>
   // FIXME: We could generated something better than plain 0x90.<br>
-  if (!STI.getFeatureBits()[X86::FeatureNOPL]) {<br>
+  if (!STI.hasFeature(X86::FeatureNOPL) && !STI.hasFeature(X86::Mode64Bit)) {<br>
     for (uint64_t i = 0; i < Count; ++i)<br>
       OS << '\x90';<br>
     return true;<br>
<br>
diff  --git a/llvm/test/MC/X86/align-branch-bundle.s b/llvm/test/MC/X86/align-branch-bundle.s<br>
index 43dabca9e477..a62159943683 100644<br>
--- a/llvm/test/MC/X86/align-branch-bundle.s<br>
+++ b/llvm/test/MC/X86/align-branch-bundle.s<br>
@@ -6,7 +6,6 @@<br>
 # CHECK-NEXT:       1:       testq    $2, %rdx<br>
 # CHECK-NEXT:       8:       jne<br>
 # CHECK-NEXT:       e:       nop<br>
-# CHECK-NEXT:       f:       nop<br>
 # CHECK-NEXT:      10:       jle<br>
<br>
     .text<br>
<br>
diff  --git a/llvm/test/MC/X86/align-branch-pad-max-prefix.s b/llvm/test/MC/X86/align-branch-pad-max-prefix.s<br>
index 6cce49d55d47..9576562667ac 100644<br>
--- a/llvm/test/MC/X86/align-branch-pad-max-prefix.s<br>
+++ b/llvm/test/MC/X86/align-branch-pad-max-prefix.s<br>
@@ -10,9 +10,7 @@<br>
   # following nops, doing so would make the jmp misaligned.<br>
 # CHECK:      18:          jmp<br>
   jmp bar<br>
-# CHECK:      1d:          nop<br>
-# CHECK:      1e:          nop<br>
-# CHECK:      1f:          nop<br>
+# CHECK:      1d:          nopl (%rax)<br>
 # CHECK:      20:          int3<br>
   .p2align 5<br>
   int3<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>