OLD | NEW |
1 //===-- X86InstrFormats.td - X86 Instruction Formats -------*- tablegen -*-===// | 1 //===-- X86InstrFormats.td - X86 Instruction Formats -------*- tablegen -*-===// |
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 //===----------------------------------------------------------------------===// | 10 //===----------------------------------------------------------------------===// |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 def MRM_E0 : Format<56>; def MRM_E1 : Format<57>; def MRM_E2 : Format<58>; | 44 def MRM_E0 : Format<56>; def MRM_E1 : Format<57>; def MRM_E2 : Format<58>; |
45 def MRM_E3 : Format<59>; def MRM_E4 : Format<60>; def MRM_E5 : Format<61>; | 45 def MRM_E3 : Format<59>; def MRM_E4 : Format<60>; def MRM_E5 : Format<61>; |
46 def MRM_E8 : Format<62>; def MRM_E9 : Format<63>; def MRM_EA : Format<64>; | 46 def MRM_E8 : Format<62>; def MRM_E9 : Format<63>; def MRM_EA : Format<64>; |
47 def MRM_EB : Format<65>; def MRM_EC : Format<66>; def MRM_ED : Format<67>; | 47 def MRM_EB : Format<65>; def MRM_EC : Format<66>; def MRM_ED : Format<67>; |
48 def MRM_EE : Format<68>; def MRM_F0 : Format<69>; def MRM_F1 : Format<70>; | 48 def MRM_EE : Format<68>; def MRM_F0 : Format<69>; def MRM_F1 : Format<70>; |
49 def MRM_F2 : Format<71>; def MRM_F3 : Format<72>; def MRM_F4 : Format<73>; | 49 def MRM_F2 : Format<71>; def MRM_F3 : Format<72>; def MRM_F4 : Format<73>; |
50 def MRM_F5 : Format<74>; def MRM_F6 : Format<75>; def MRM_F7 : Format<76>; | 50 def MRM_F5 : Format<74>; def MRM_F6 : Format<75>; def MRM_F7 : Format<76>; |
51 def MRM_F8 : Format<77>; def MRM_F9 : Format<78>; def MRM_FA : Format<79>; | 51 def MRM_F8 : Format<77>; def MRM_F9 : Format<78>; def MRM_FA : Format<79>; |
52 def MRM_FB : Format<80>; def MRM_FC : Format<81>; def MRM_FD : Format<82>; | 52 def MRM_FB : Format<80>; def MRM_FC : Format<81>; def MRM_FD : Format<82>; |
53 def MRM_FE : Format<83>; def MRM_FF : Format<84>; | 53 def MRM_FE : Format<83>; def MRM_FF : Format<84>; |
| 54 def CustomFrm : Format<126>; // @LOCALMOD |
54 | 55 |
55 // ImmType - This specifies the immediate type used by an instruction. This is | 56 // ImmType - This specifies the immediate type used by an instruction. This is |
56 // part of the ad-hoc solution used to emit machine instruction encodings by our | 57 // part of the ad-hoc solution used to emit machine instruction encodings by our |
57 // machine code emitter. | 58 // machine code emitter. |
58 class ImmType<bits<4> val> { | 59 class ImmType<bits<4> val> { |
59 bits<4> Value = val; | 60 bits<4> Value = val; |
60 } | 61 } |
61 def NoImm : ImmType<0>; | 62 def NoImm : ImmType<0>; |
62 def Imm8 : ImmType<1>; | 63 def Imm8 : ImmType<1>; |
63 def Imm8PCRel : ImmType<2>; | 64 def Imm8PCRel : ImmType<2>; |
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 : I<o, F, outs, ins, asm, pattern, itin>, PD, Requires<[HasMMX]>; | 886 : I<o, F, outs, ins, asm, pattern, itin>, PD, Requires<[HasMMX]>; |
886 class MMXIi8<bits<8> o, Format F, dag outs, dag ins, string asm, | 887 class MMXIi8<bits<8> o, Format F, dag outs, dag ins, string asm, |
887 list<dag> pattern, InstrItinClass itin = NoItinerary> | 888 list<dag> pattern, InstrItinClass itin = NoItinerary> |
888 : Ii8<o, F, outs, ins, asm, pattern, itin>, PS, Requires<[HasMMX]>; | 889 : Ii8<o, F, outs, ins, asm, pattern, itin>, PS, Requires<[HasMMX]>; |
889 class MMXID<bits<8> o, Format F, dag outs, dag ins, string asm, | 890 class MMXID<bits<8> o, Format F, dag outs, dag ins, string asm, |
890 list<dag> pattern, InstrItinClass itin = NoItinerary> | 891 list<dag> pattern, InstrItinClass itin = NoItinerary> |
891 : Ii8<o, F, outs, ins, asm, pattern, itin>, XD, Requires<[HasMMX]>; | 892 : Ii8<o, F, outs, ins, asm, pattern, itin>, XD, Requires<[HasMMX]>; |
892 class MMXIS<bits<8> o, Format F, dag outs, dag ins, string asm, | 893 class MMXIS<bits<8> o, Format F, dag outs, dag ins, string asm, |
893 list<dag> pattern, InstrItinClass itin = NoItinerary> | 894 list<dag> pattern, InstrItinClass itin = NoItinerary> |
894 : Ii8<o, F, outs, ins, asm, pattern, itin>, XS, Requires<[HasMMX]>; | 895 : Ii8<o, F, outs, ins, asm, pattern, itin>, XS, Requires<[HasMMX]>; |
OLD | NEW |