Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: lib/Target/X86/MCTargetDesc/X86BaseInfo.h

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===-- X86BaseInfo.h - Top level definitions for X86 -------- --*- C++ -*-===// 1 //===-- X86BaseInfo.h - Top level definitions for X86 -------- --*- C++ -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file contains small standalone helper functions and enum definitions for 10 // This file contains small standalone helper functions and enum definitions for
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 MRM_D8 = 48, MRM_D9 = 49, MRM_DA = 50, MRM_DB = 51, 308 MRM_D8 = 48, MRM_D9 = 49, MRM_DA = 50, MRM_DB = 51,
309 MRM_DC = 52, MRM_DD = 53, MRM_DE = 54, MRM_DF = 55, 309 MRM_DC = 52, MRM_DD = 53, MRM_DE = 54, MRM_DF = 55,
310 MRM_E0 = 56, MRM_E1 = 57, MRM_E2 = 58, MRM_E3 = 59, 310 MRM_E0 = 56, MRM_E1 = 57, MRM_E2 = 58, MRM_E3 = 59,
311 MRM_E4 = 60, MRM_E5 = 61, MRM_E8 = 62, MRM_E9 = 63, 311 MRM_E4 = 60, MRM_E5 = 61, MRM_E8 = 62, MRM_E9 = 63,
312 MRM_EA = 64, MRM_EB = 65, MRM_EC = 66, MRM_ED = 67, 312 MRM_EA = 64, MRM_EB = 65, MRM_EC = 66, MRM_ED = 67,
313 MRM_EE = 68, MRM_F0 = 69, MRM_F1 = 70, MRM_F2 = 71, 313 MRM_EE = 68, MRM_F0 = 69, MRM_F1 = 70, MRM_F2 = 71,
314 MRM_F3 = 72, MRM_F4 = 73, MRM_F5 = 74, MRM_F6 = 75, 314 MRM_F3 = 72, MRM_F4 = 73, MRM_F5 = 74, MRM_F6 = 75,
315 MRM_F7 = 76, MRM_F8 = 77, MRM_F9 = 78, MRM_FA = 79, 315 MRM_F7 = 76, MRM_F8 = 77, MRM_F9 = 78, MRM_FA = 79,
316 MRM_FB = 80, MRM_FC = 81, MRM_FD = 82, MRM_FE = 83, 316 MRM_FB = 80, MRM_FC = 81, MRM_FD = 82, MRM_FE = 83,
317 MRM_FF = 84, 317 MRM_FF = 84,
318 318 CustomFrm = 126, // @LOCALMOD
319 FormMask = 127, 319 FormMask = 127,
320 320
321 //===------------------------------------------------------------------===// 321 //===------------------------------------------------------------------===//
322 // Actual flags... 322 // Actual flags...
323 323
324 // OpSize - OpSizeFixed implies instruction never needs a 0x66 prefix. 324 // OpSize - OpSizeFixed implies instruction never needs a 0x66 prefix.
325 // OpSize16 means this is a 16-bit instruction and needs 0x66 prefix in 325 // OpSize16 means this is a 16-bit instruction and needs 0x66 prefix in
326 // 32-bit mode. OpSize32 means this is a 32-bit instruction needs a 0x66 326 // 32-bit mode. OpSize32 means this is a 32-bit instruction needs a 0x66
327 // prefix in 16-bit mode. 327 // prefix in 16-bit mode.
328 OpSizeShift = 7, 328 OpSizeShift = 7,
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 /// is duplicated in the MCInst (e.g. "EAX = addl EAX, [mem]") it is only 648 /// is duplicated in the MCInst (e.g. "EAX = addl EAX, [mem]") it is only
649 /// counted as one operand. 649 /// counted as one operand.
650 /// 650 ///
651 inline int getMemoryOperandNo(uint64_t TSFlags, unsigned Opcode) { 651 inline int getMemoryOperandNo(uint64_t TSFlags, unsigned Opcode) {
652 bool HasVEX_4V = TSFlags & X86II::VEX_4V; 652 bool HasVEX_4V = TSFlags & X86II::VEX_4V;
653 bool HasMemOp4 = TSFlags & X86II::MemOp4; 653 bool HasMemOp4 = TSFlags & X86II::MemOp4;
654 bool HasEVEX_K = TSFlags & X86II::EVEX_K; 654 bool HasEVEX_K = TSFlags & X86II::EVEX_K;
655 655
656 switch (TSFlags & X86II::FormMask) { 656 switch (TSFlags & X86II::FormMask) {
657 default: llvm_unreachable("Unknown FormMask value in getMemoryOperandNo!"); 657 default: llvm_unreachable("Unknown FormMask value in getMemoryOperandNo!");
658 case X86II::CustomFrm: // @LOCALMOD
658 case X86II::Pseudo: 659 case X86II::Pseudo:
659 case X86II::RawFrm: 660 case X86II::RawFrm:
660 case X86II::AddRegFrm: 661 case X86II::AddRegFrm:
661 case X86II::MRMDestReg: 662 case X86II::MRMDestReg:
662 case X86II::MRMSrcReg: 663 case X86II::MRMSrcReg:
663 case X86II::RawFrmImm8: 664 case X86II::RawFrmImm8:
664 case X86II::RawFrmImm16: 665 case X86II::RawFrmImm16:
665 case X86II::RawFrmMemOffs: 666 case X86II::RawFrmMemOffs:
666 case X86II::RawFrmSrc: 667 case X86II::RawFrmSrc:
667 case X86II::RawFrmDst: 668 case X86II::RawFrmDst:
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 763
763 inline bool isX86_64NonExtLowByteReg(unsigned reg) { 764 inline bool isX86_64NonExtLowByteReg(unsigned reg) {
764 return (reg == X86::SPL || reg == X86::BPL || 765 return (reg == X86::SPL || reg == X86::BPL ||
765 reg == X86::SIL || reg == X86::DIL); 766 reg == X86::SIL || reg == X86::DIL);
766 } 767 }
767 } 768 }
768 769
769 } // end namespace llvm; 770 } // end namespace llvm;
770 771
771 #endif 772 #endif
OLDNEW
« no previous file with comments | « lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp ('k') | lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698