[PATCH] D141458: [X86] Add RMPQUERY to SNP instructions
Ganesh Gopalasubramanian via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 10 21:31:08 PST 2023
GGanesh created this revision.
GGanesh added reviewers: RKSimon, craig.topper, andreadb.
GGanesh added a project: LLVM.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
GGanesh requested review of this revision.
Herald added a subscriber: llvm-commits.
Add RMPQUERY to the list of SNP instructions.
Tech Documentation: https://www.amd.com/system/files/TechDocs/24594.pdf
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D141458
Files:
llvm/lib/Target/X86/X86InstrSNP.td
llvm/test/MC/Disassembler/X86/x86-64.txt
llvm/test/MC/X86/SNP-64.s
Index: llvm/test/MC/X86/SNP-64.s
===================================================================
--- llvm/test/MC/X86/SNP-64.s
+++ llvm/test/MC/X86/SNP-64.s
@@ -16,6 +16,10 @@
// CHECK: encoding: [0xf3,0x0f,0x01,0xfe]
rmpadjust
+// CHECK: rmpquery
+// CHECK: encoding: [0xf3,0x0f,0x01,0xfd]
+rmpquery
+
// CHECK: rmpupdate
// CHECK: encoding: [0xf2,0x0f,0x01,0xfe]
rmpupdate %rax
@@ -31,3 +35,7 @@
// CHECK: rmpadjust
// CHECK: encoding: [0xf3,0x0f,0x01,0xfe]
rmpadjust %rax
+
+// CHECK: rmpquery
+// CHECK: encoding: [0xf3,0x0f,0x01,0xfd]
+rmpquery %rax, %rcx, %rdx
Index: llvm/test/MC/Disassembler/X86/x86-64.txt
===================================================================
--- llvm/test/MC/Disassembler/X86/x86-64.txt
+++ llvm/test/MC/Disassembler/X86/x86-64.txt
@@ -744,6 +744,9 @@
# CHECK: rmpadjust
0xf3 0x0f 0x01 0xfe
+# CHECK: rmpquery
+0xf3 0x0f 0x01 0xfd
+
# CHECK: testui
0xf3,0x0f,0x01,0xed
Index: llvm/lib/Target/X86/X86InstrSNP.td
===================================================================
--- llvm/lib/Target/X86/X86InstrSNP.td
+++ llvm/lib/Target/X86/X86InstrSNP.td
@@ -38,6 +38,11 @@
let Uses = [RAX] in
def RMPADJUST: I<0x01, MRM_FE, (outs), (ins), "rmpadjust", []>, XS,
Requires<[In64BitMode]>;
+
+// F3 0F 01 FD
+let Uses = [RAX, RDX], Defs = [RCX, RDX] in
+def RMPQUERY: I<0x01, MRM_FD, (outs), (ins), "rmpquery", []>, XS,
+ Requires<[In64BitMode]>;
} // SchedRW
def : InstAlias<"psmash\t{%rax|rax}", (PSMASH)>, Requires<[In64BitMode]>;
@@ -45,3 +50,4 @@
def : InstAlias<"pvalidate\t{%eax|eax}", (PVALIDATE32)>, Requires<[Not64BitMode]>;
def : InstAlias<"rmpupdate\t{%rax|rax}", (RMPUPDATE)>, Requires<[In64BitMode]>;
def : InstAlias<"rmpadjust\t{%rax|rax}", (RMPADJUST)>, Requires<[In64BitMode]>;
+def : InstAlias<"rmpquery\t{%rax, %rcx, %rdx|rdx, rcx, rax}", (RMPQUERY)>, Requires<[In64BitMode]>;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141458.488075.patch
Type: text/x-patch
Size: 1897 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230111/8042b78b/attachment.bin>
More information about the llvm-commits
mailing list