annotate lib/Target/Hexagon/HexagonDepOperands.td @ 121:803732b1fca8

LLVM 5.0
author kono
date Fri, 27 Oct 2017 17:07:41 +0900
parents
children 3a76565eade5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 //===--- HexagonDepOperands.td --------------------------------------------===//
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2 //
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3 // The LLVM Compiler Infrastructure
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4 //
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5 // This file is distributed under the University of Illinois Open Source
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 // License. See LICENSE.TXT for details.
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7 //
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 //===----------------------------------------------------------------------===//
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10 def s3_0ImmOperand : AsmOperandClass { let Name = "s3_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 def s3_0Imm : Operand<i32> { let ParserMatchClass = s3_0ImmOperand; let DecoderMethod = "s3_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 def s3_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<3, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 def s4_0ImmOperand : AsmOperandClass { let Name = "s4_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 def s4_0Imm : Operand<i32> { let ParserMatchClass = s4_0ImmOperand; let DecoderMethod = "s4_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15 def s4_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<4, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 def s29_3ImmOperand : AsmOperandClass { let Name = "s29_3Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
17 def s29_3Imm : Operand<i32> { let ParserMatchClass = s29_3ImmOperand; let DecoderMethod = "s29_3ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
18 def s29_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
19 def s10_6ImmOperand : AsmOperandClass { let Name = "s10_6Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
20 def s10_6Imm : Operand<i32> { let ParserMatchClass = s10_6ImmOperand; let DecoderMethod = "s10_6ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
21 def s10_6ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<10, 6>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
22 def u6_0ImmOperand : AsmOperandClass { let Name = "u6_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
23 def u6_0Imm : Operand<i32> { let ParserMatchClass = u6_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
24 def u6_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<6, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
25 def a30_2ImmOperand : AsmOperandClass { let Name = "a30_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
26 def a30_2Imm : Operand<i32> { let ParserMatchClass = a30_2ImmOperand; let DecoderMethod = "brtargetDecoder"; let PrintMethod = "printBrtarget"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
27 def a30_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
28 def u29_3ImmOperand : AsmOperandClass { let Name = "u29_3Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
29 def u29_3Imm : Operand<i32> { let ParserMatchClass = u29_3ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
30 def u29_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<32, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
31 def s8_0ImmOperand : AsmOperandClass { let Name = "s8_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
32 def s8_0Imm : Operand<i32> { let ParserMatchClass = s8_0ImmOperand; let DecoderMethod = "s8_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
33 def s8_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<8, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
34 def u32_0ImmOperand : AsmOperandClass { let Name = "u32_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
35 def u32_0Imm : Operand<i32> { let ParserMatchClass = u32_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
36 def u32_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<32, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
37 def u4_2ImmOperand : AsmOperandClass { let Name = "u4_2Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
38 def u4_2Imm : Operand<i32> { let ParserMatchClass = u4_2ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
39 def u4_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<4, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
40 def u3_0ImmOperand : AsmOperandClass { let Name = "u3_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
41 def u3_0Imm : Operand<i32> { let ParserMatchClass = u3_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
42 def u3_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<3, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
43 def b15_2ImmOperand : AsmOperandClass { let Name = "b15_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
44 def b15_2Imm : Operand<OtherVT> { let ParserMatchClass = b15_2ImmOperand; let DecoderMethod = "brtargetDecoder"; let PrintMethod = "printBrtarget"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
45 def b15_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<15, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
46 def u11_3ImmOperand : AsmOperandClass { let Name = "u11_3Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
47 def u11_3Imm : Operand<i32> { let ParserMatchClass = u11_3ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
48 def u11_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<11, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
49 def s4_3ImmOperand : AsmOperandClass { let Name = "s4_3Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
50 def s4_3Imm : Operand<i32> { let ParserMatchClass = s4_3ImmOperand; let DecoderMethod = "s4_3ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
51 def s4_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<4, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
52 def m32_0ImmOperand : AsmOperandClass { let Name = "m32_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
53 def m32_0Imm : Operand<i32> { let ParserMatchClass = m32_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
54 def m32_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
55 def u3_1ImmOperand : AsmOperandClass { let Name = "u3_1Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
56 def u3_1Imm : Operand<i32> { let ParserMatchClass = u3_1ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
57 def u3_1ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<3, 1>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
58 def u1_0ImmOperand : AsmOperandClass { let Name = "u1_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
59 def u1_0Imm : Operand<i32> { let ParserMatchClass = u1_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
60 def u1_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<1, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
61 def s31_1ImmOperand : AsmOperandClass { let Name = "s31_1Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
62 def s31_1Imm : Operand<i32> { let ParserMatchClass = s31_1ImmOperand; let DecoderMethod = "s31_1ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
63 def s31_1ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 1>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
64 def s30_2ImmOperand : AsmOperandClass { let Name = "s30_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
65 def s30_2Imm : Operand<i32> { let ParserMatchClass = s30_2ImmOperand; let DecoderMethod = "s30_2ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
66 def s30_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
67 def u4_0ImmOperand : AsmOperandClass { let Name = "u4_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
68 def u4_0Imm : Operand<i32> { let ParserMatchClass = u4_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
69 def u4_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<4, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
70 def s6_0ImmOperand : AsmOperandClass { let Name = "s6_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
71 def s6_0Imm : Operand<i32> { let ParserMatchClass = s6_0ImmOperand; let DecoderMethod = "s6_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
72 def s6_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<6, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
73 def u5_3ImmOperand : AsmOperandClass { let Name = "u5_3Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
74 def u5_3Imm : Operand<i32> { let ParserMatchClass = u5_3ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
75 def u5_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<5, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
76 def s32_0ImmOperand : AsmOperandClass { let Name = "s32_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
77 def s32_0Imm : Operand<i32> { let ParserMatchClass = s32_0ImmOperand; let DecoderMethod = "s32_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
78 def s32_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
79 def s6_3ImmOperand : AsmOperandClass { let Name = "s6_3Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
80 def s6_3Imm : Operand<i32> { let ParserMatchClass = s6_3ImmOperand; let DecoderMethod = "s6_3ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
81 def s6_3ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<6, 3>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
82 def u10_0ImmOperand : AsmOperandClass { let Name = "u10_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
83 def u10_0Imm : Operand<i32> { let ParserMatchClass = u10_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
84 def u10_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<10, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
85 def u31_1ImmOperand : AsmOperandClass { let Name = "u31_1Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
86 def u31_1Imm : Operand<i32> { let ParserMatchClass = u31_1ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
87 def u31_1ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<32, 1>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
88 def s4_1ImmOperand : AsmOperandClass { let Name = "s4_1Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
89 def s4_1Imm : Operand<i32> { let ParserMatchClass = s4_1ImmOperand; let DecoderMethod = "s4_1ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
90 def s4_1ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<4, 1>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
91 def u16_0ImmOperand : AsmOperandClass { let Name = "u16_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
92 def u16_0Imm : Operand<i32> { let ParserMatchClass = u16_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
93 def u16_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<16, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
94 def u6_1ImmOperand : AsmOperandClass { let Name = "u6_1Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
95 def u6_1Imm : Operand<i32> { let ParserMatchClass = u6_1ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
96 def u6_1ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<6, 1>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
97 def u5_2ImmOperand : AsmOperandClass { let Name = "u5_2Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
98 def u5_2Imm : Operand<i32> { let ParserMatchClass = u5_2ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
99 def u5_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<5, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
100 def u26_6ImmOperand : AsmOperandClass { let Name = "u26_6Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
101 def u26_6Imm : Operand<i32> { let ParserMatchClass = u26_6ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
102 def u26_6ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<26, 6>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
103 def u6_2ImmOperand : AsmOperandClass { let Name = "u6_2Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
104 def u6_2Imm : Operand<i32> { let ParserMatchClass = u6_2ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
105 def u6_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<6, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
106 def u7_0ImmOperand : AsmOperandClass { let Name = "u7_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
107 def u7_0Imm : Operand<i32> { let ParserMatchClass = u7_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
108 def u7_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<7, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
109 def b13_2ImmOperand : AsmOperandClass { let Name = "b13_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
110 def b13_2Imm : Operand<OtherVT> { let ParserMatchClass = b13_2ImmOperand; let DecoderMethod = "brtargetDecoder"; let PrintMethod = "printBrtarget"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
111 def b13_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<13, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
112 def u5_0ImmOperand : AsmOperandClass { let Name = "u5_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
113 def u5_0Imm : Operand<i32> { let ParserMatchClass = u5_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
114 def u5_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<5, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
115 def u2_0ImmOperand : AsmOperandClass { let Name = "u2_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
116 def u2_0Imm : Operand<i32> { let ParserMatchClass = u2_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
117 def u2_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<2, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
118 def s4_2ImmOperand : AsmOperandClass { let Name = "s4_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
119 def s4_2Imm : Operand<i32> { let ParserMatchClass = s4_2ImmOperand; let DecoderMethod = "s4_2ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
120 def s4_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<4, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
121 def b30_2ImmOperand : AsmOperandClass { let Name = "b30_2Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
122 def b30_2Imm : Operand<OtherVT> { let ParserMatchClass = b30_2ImmOperand; let DecoderMethod = "brtargetDecoder"; let PrintMethod = "printBrtarget"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
123 def b30_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<32, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
124 def u8_0ImmOperand : AsmOperandClass { let Name = "u8_0Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
125 def u8_0Imm : Operand<i32> { let ParserMatchClass = u8_0ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
126 def u8_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<8, 0>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
127 def u30_2ImmOperand : AsmOperandClass { let Name = "u30_2Imm"; let RenderMethod = "addImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
128 def u30_2Imm : Operand<i32> { let ParserMatchClass = u30_2ImmOperand; let DecoderMethod = "unsignedImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
129 def u30_2ImmPred : PatLeaf<(i32 imm), [{ return isShiftedUInt<32, 2>(N->getSExtValue());}]>;
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
130 def s10_0ImmOperand : AsmOperandClass { let Name = "s10_0Imm"; let RenderMethod = "addSignedImmOperands"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
131 def s10_0Imm : Operand<i32> { let ParserMatchClass = s10_0ImmOperand; let DecoderMethod = "s10_0ImmDecoder"; }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
132 def s10_0ImmPred : PatLeaf<(i32 imm), [{ return isShiftedInt<10, 0>(N->getSExtValue());}]>;