[PATCH] D135935: [X86] Add WRMSRNS instructions.

Freddy, Ye via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 17 18:53:04 PDT 2022


FreddyYe updated this revision to Diff 468390.
FreddyYe added a comment.

Add ``


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135935/new/

https://reviews.llvm.org/D135935

Files:
  llvm/docs/ReleaseNotes.rst
  llvm/lib/Target/X86/X86InstrSystem.td
  llvm/test/MC/Disassembler/X86/wrmsrns.txt
  llvm/test/MC/X86/wrmsrns.s


Index: llvm/test/MC/X86/wrmsrns.s
===================================================================
--- /dev/null
+++ llvm/test/MC/X86/wrmsrns.s
@@ -0,0 +1,8 @@
+// RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s
+// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
+// RUN: llvm-mc -triple i386 --show-encoding %s | FileCheck %s
+// RUN: llvm-mc -triple i386 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
+
+// CHECK: wrmsrns
+// CHECK: encoding: [0x0f,0x01,0xc6]
+          wrmsrns
Index: llvm/test/MC/Disassembler/X86/wrmsrns.txt
===================================================================
--- /dev/null
+++ llvm/test/MC/Disassembler/X86/wrmsrns.txt
@@ -0,0 +1,8 @@
+# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
+# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
+# RUN: llvm-mc --disassemble %s -triple=i386 | FileCheck %s --check-prefixes=ATT
+# RUN: llvm-mc --disassemble %s -triple=i386 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
+
+# ATT:   wrmsrns
+# INTEL: wrmsrns
+0x0f,0x01,0xc6
Index: llvm/lib/Target/X86/X86InstrSystem.td
===================================================================
--- llvm/lib/Target/X86/X86InstrSystem.td
+++ llvm/lib/Target/X86/X86InstrSystem.td
@@ -425,6 +425,8 @@
 let SchedRW = [WriteSystem] in {
 let Uses = [EAX, ECX, EDX] in
 def WRMSR : I<0x30, RawFrm, (outs), (ins), "wrmsr", []>, TB;
+let Uses = [EAX, ECX, EDX] in
+def WRMSRNS : I<0x01, MRM_C6, (outs), (ins), "wrmsrns", []>, PS;
 let Defs = [EAX, EDX], Uses = [ECX] in
 def RDMSR : I<0x32, RawFrm, (outs), (ins), "rdmsr", []>, TB;
 
Index: llvm/docs/ReleaseNotes.rst
===================================================================
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -131,6 +131,8 @@
 Changes to the X86 Backend
 --------------------------
 
+* Add support for the ``WRMSRNS`` instruction.
+
 Changes to the OCaml bindings
 -----------------------------
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135935.468390.patch
Type: text/x-patch
Size: 2163 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221018/4ea9c925/attachment.bin>


More information about the llvm-commits mailing list