[llvm-commits] [llvm] r118903 - in /llvm/trunk: lib/Target/X86/X86InstrControl.td test/MC/X86/x86-64.s

Chris Lattner sabre at nondot.org
Fri Nov 12 09:41:20 PST 2010


Author: lattner
Date: Fri Nov 12 11:41:20 2010
New Revision: 118903

URL: http://llvm.org/viewvc/llvm-project?rev=118903&view=rev
Log:
implement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrControl.td
    llvm/trunk/test/MC/X86/x86-64.s

Modified: llvm/trunk/lib/Target/X86/X86InstrControl.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrControl.td?rev=118903&r1=118902&r2=118903&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrControl.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrControl.td Fri Nov 12 11:41:20 2010
@@ -29,6 +29,8 @@
                     [(X86retflag timm:$amt)]>, OpSize;
   def LRET   : I   <0xCB, RawFrm, (outs), (ins),
                     "lret", []>;
+  def LRETQ  : RI  <0xCB, RawFrm, (outs), (ins),
+                    "lretq", []>;
   def LRETI  : Ii16<0xCA, RawFrm, (outs), (ins i16imm:$amt),
                     "lret\t$amt", []>;
   def LRETIW : Ii16<0xCA, RawFrm, (outs), (ins i16imm:$amt),

Modified: llvm/trunk/test/MC/X86/x86-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64.s?rev=118903&r1=118902&r2=118903&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-64.s (original)
+++ llvm/trunk/test/MC/X86/x86-64.s Fri Nov 12 11:41:20 2010
@@ -769,6 +769,10 @@
 // CHECK:  encoding: [0x66,0xca,0xce,0x7a]
         	lretw	$0x7ace
 
+// PR8592
+lretq  // CHECK: lretq # encoding: [0x48,0xcb]
+lret   // CHECK: lret  # encoding: [0xcb]
+
 // rdar://8403907
 sysret
 // CHECK: sysretl





More information about the llvm-commits mailing list