[llvm] r331149 - [X86] Make 64-bit sysret/sysexit not ambiguous in Intel assembly syntax.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 29 15:55:54 PDT 2018


Author: ctopper
Date: Sun Apr 29 15:55:54 2018
New Revision: 331149

URL: http://llvm.org/viewvc/llvm-project?rev=331149&view=rev
Log:
[X86] Make 64-bit sysret/sysexit not ambiguous in Intel assembly syntax.

This also makes it default to the 32-bit non REX.W version in 64-bit mode. This seems to be more consistent with gas.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrSystem.td
    llvm/trunk/test/MC/X86/intel-syntax.s

Modified: llvm/trunk/lib/Target/X86/X86InstrSystem.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSystem.td?rev=331149&r1=331148&r2=331149&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSystem.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSystem.td Sun Apr 29 15:55:54 2018
@@ -49,13 +49,13 @@ def INT : Ii8<0xcd, RawFrm, (outs), (ins
 
 def SYSCALL  : I<0x05, RawFrm, (outs), (ins), "syscall", []>, TB;
 def SYSRET   : I<0x07, RawFrm, (outs), (ins), "sysret{l}", []>, TB;
-def SYSRET64 :RI<0x07, RawFrm, (outs), (ins), "sysret{q}", []>, TB,
+def SYSRET64 :RI<0x07, RawFrm, (outs), (ins), "sysretq", []>, TB,
                Requires<[In64BitMode]>;
 
 def SYSENTER : I<0x34, RawFrm, (outs), (ins), "sysenter", []>, TB;
 
 def SYSEXIT   : I<0x35, RawFrm, (outs), (ins), "sysexit{l}", []>, TB;
-def SYSEXIT64 :RI<0x35, RawFrm, (outs), (ins), "sysexit{q}", []>, TB,
+def SYSEXIT64 :RI<0x35, RawFrm, (outs), (ins), "sysexitq", []>, TB,
                   Requires<[In64BitMode]>;
 } // SchedRW
 

Modified: llvm/trunk/test/MC/X86/intel-syntax.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/intel-syntax.s?rev=331149&r1=331148&r2=331149&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/intel-syntax.s (original)
+++ llvm/trunk/test/MC/X86/intel-syntax.s Sun Apr 29 15:55:54 2018
@@ -883,3 +883,12 @@ lsl ebx, word ptr [eax]
 
 // CHECK: lslw (%eax), %bx
 lsl bx, word ptr [eax]
+
+// CHECK: sysexitl
+sysexit
+// CHECK: sysexitq
+sysexitq
+// CHECK: sysretl
+sysret
+// CHECK: sysretq
+sysretq




More information about the llvm-commits mailing list