[llvm] r313735 - 'into' instruction should not be decoded as a valid instr in 64-bit mode

Andrew V. Tischenko via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 20 01:17:17 PDT 2017


Author: avt77
Date: Wed Sep 20 01:17:17 2017
New Revision: 313735

URL: http://llvm.org/viewvc/llvm-project?rev=313735&view=rev
Log:
'into' instruction should not be decoded as a valid instr in 64-bit mode

Added:
    llvm/trunk/test/MC/Disassembler/X86/x86-64-err.txt
Modified:
    llvm/trunk/lib/Target/X86/X86InstrSystem.td

Modified: llvm/trunk/lib/Target/X86/X86InstrSystem.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSystem.td?rev=313735&r1=313734&r2=313735&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSystem.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSystem.td Wed Sep 20 01:17:17 2017
@@ -33,7 +33,7 @@ def RSM : I<0xAA, RawFrm, (outs), (ins),
 
 // Interrupt and SysCall Instructions.
 let Uses = [EFLAGS] in
-  def INTO : I<0xce, RawFrm, (outs), (ins), "into", []>;
+  def INTO : I<0xce, RawFrm, (outs), (ins), "into", []>, Requires<[Not64BitMode]>;
 def INT3 : I<0xcc, RawFrm, (outs), (ins), "int3",
               [(int_x86_int (i8 3))], IIC_INT3>;
 } // SchedRW

Added: llvm/trunk/test/MC/Disassembler/X86/x86-64-err.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/x86-64-err.txt?rev=313735&view=auto
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/x86-64-err.txt (added)
+++ llvm/trunk/test/MC/Disassembler/X86/x86-64-err.txt Wed Sep 20 01:17:17 2017
@@ -0,0 +1,6 @@
+# RUN: llvm-mc --disassemble %s -triple=x86_64 2>&1 | FileCheck --check-prefix=64 %s
+# RUN: llvm-mc --disassemble %s -triple=i386 | FileCheck --check-prefix=32 %s
+
+# 64: warning: invalid instruction encoding
+# 32: into
+0xce




More information about the llvm-commits mailing list