[all-commits] [llvm/llvm-project] 82974e: [X86] Don't disassemble wbinvd with 0xf2 or 0x66 p...

topperc via All-commits all-commits at lists.llvm.org
Sun Oct 25 20:58:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 82974e0114f02ffc07557e217d87f8dc4e100a26
      https://github.com/llvm/llvm-project/commit/82974e0114f02ffc07557e217d87f8dc4e100a26
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2020-10-25 (Sun, 25 Oct 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td
    A llvm/test/MC/Disassembler/X86/invalid-wbinvd.txt
    M llvm/test/MC/Disassembler/X86/x86-32.txt
    M llvm/test/MC/Disassembler/X86/x86-64.txt

  Log Message:
  -----------
  [X86] Don't disassemble wbinvd with 0xf2 or 0x66 prefix.

The 0xf3 prefix has been defined as wbnoinvd on Icelake Server. So
the prefix isn't ignored by the CPU. AMD documentation suggests that
wbnoinvd is treated as wbinvd on older processors. Intel documentation
is not clear. Perhaps 0xf2 and 0x66 are treated the same, but its
not documented.

This patch changes TB to PS in the td file so 0xf2 and 0x66 will
be treated as errors. This matches versions of objdump after
wbnoinvd was added.




More information about the All-commits mailing list