[llvm] [MC, X86] emitInstruction: remove virtual function calls due to Intel JCC Erratum (PR #96835)

Shengchen Kan via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 21:30:05 PDT 2024


================
@@ -1546,3 +1547,32 @@ MCAsmBackend *llvm::createX86_64AsmBackend(const Target &T,
     return new ELFX86_X32AsmBackend(T, OSABI, STI);
   return new ELFX86_64AsmBackend(T, OSABI, STI);
 }
+
+namespace {
+class X86ELFStreamer : public MCELFStreamer {
+public:
+  X86ELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB,
----------------
KanRobert wrote:

IIUC, Intel JC Erratum supports COFF now

```
llvm-mc -filetype=obj -triple  x86_64-pc-win32 --x86-align-branch-boundary=32 --x86-align-branch=call+jmp+indirect+ret+jcc ./llvm/test/MC/X86/align-branch-single.s | llvm-objdump -d --no-show-raw-insn -
```

though I didn't add test for it.  Would this patch drop the support for COFF?

https://github.com/llvm/llvm-project/pull/96835


More information about the llvm-commits mailing list