From d573aba8e13c2afc5ad7c3c3c442a3a84f8bd94d Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 2 Jan 2014 19:12:10 +0000 Subject: [PATCH] Mark REX64_PREFIX as In64BitMode, remove hack from X86RecognizableInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198336 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrInfo.td | 3 ++- utils/TableGen/X86RecognizableInstr.cpp | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 2fea6e17738..5e03a59adc1 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -1599,7 +1599,8 @@ def CMPXCHG16B : RI<0xC7, MRM1m, (outs), (ins i128mem:$dst), def LOCK_PREFIX : I<0xF0, RawFrm, (outs), (ins), "lock", []>; // Rex64 instruction prefix -def REX64_PREFIX : I<0x48, RawFrm, (outs), (ins), "rex64", []>; +def REX64_PREFIX : I<0x48, RawFrm, (outs), (ins), "rex64", []>, + Requires<[In64BitMode]>; // Data16 instruction prefix def DATA16_PREFIX : I<0x66, RawFrm, (outs), (ins), "data16", []>; diff --git a/utils/TableGen/X86RecognizableInstr.cpp b/utils/TableGen/X86RecognizableInstr.cpp index 3deca23c6bc..1198e5a9779 100644 --- a/utils/TableGen/X86RecognizableInstr.cpp +++ b/utils/TableGen/X86RecognizableInstr.cpp @@ -276,7 +276,6 @@ RecognizableInstr::RecognizableInstr(DisassemblerTables &tables, } // FIXME: These instructions aren't marked as 64-bit in any way Is64Bit |= Rec->getName() == "JMP64pcrel32" || - Rec->getName() == "REX64_PREFIX" || Rec->getName().find("MOV64") != Name.npos || Rec->getName().find("PUSH64") != Name.npos || Rec->getName().find("POP64") != Name.npos;