Lines Matching refs:insn
25 static unsigned getBits(InsnType insn, int pos, int l) { in getBits() argument
26 return (insn >> pos) & ((1 << l) - 1); in getBits()
29 static unsigned getRt(InsnType insn) { in getRt() argument
30 return getBits(insn, 0, 5); in getRt()
33 static unsigned getRt2(InsnType insn) { in getRt2() argument
34 return getBits(insn, 10, 5); in getRt2()
37 static unsigned getRa(InsnType insn) { in getRa() argument
38 return getBits(insn, 10, 5); in getRa()
41 static unsigned getRd(InsnType insn) { in getRd() argument
42 return getBits(insn, 0, 5); in getRd()
45 static unsigned getRn(InsnType insn) { in getRn() argument
46 return getBits(insn, 5, 5); in getRn()
49 static unsigned getRm(InsnType insn) { in getRm() argument
50 return getBits(insn, 16, 5); in getRm()
53 static unsigned getBit(InsnType insn, int pos) { in getBit() argument
54 return getBits(insn, pos, 1); in getBit()
57 static unsigned getOp31(InsnType insn) { in getOp31() argument
58 return getBits(insn, 21, 3); in getOp31()
63 static bool isLD(InsnType insn) { in isLD() argument
64 return (getBit(insn, 22) == 1); in isLD()
67 static bool isLDST(InsnType insn) { in isLDST() argument
68 return (((insn) & 0x0a000000) == 0x08000000); in isLDST()
71 static bool isLDSTEX(InsnType insn) { in isLDSTEX() argument
72 return (((insn) & 0x3f000000) == 0x08000000); in isLDSTEX()
75 static bool isLDSTPCREL(InsnType insn) { in isLDSTPCREL() argument
76 return (((insn) & 0x3b000000) == 0x18000000); in isLDSTPCREL()
79 static bool isLDSTNAP(InsnType insn) { in isLDSTNAP() argument
80 return (((insn) & 0x3b800000) == 0x28000000); in isLDSTNAP()
83 static bool isLDSTPPI(InsnType insn) { in isLDSTPPI() argument
84 return (((insn) & 0x3b800000) == 0x28800000); in isLDSTPPI()
87 static bool isLDSTPO(InsnType insn) { in isLDSTPO() argument
88 return (((insn) & 0x3b800000) == 0x29000000); in isLDSTPO()
91 static bool isLDSTPPRE(InsnType insn) { in isLDSTPPRE() argument
92 return (((insn) & 0x3b800000) == 0x29800000); in isLDSTPPRE()
95 static bool isLDSTUI(InsnType insn) { in isLDSTUI() argument
96 return (((insn) & 0x3b200c00) == 0x38000000); in isLDSTUI()
99 static bool isLDSTPIIMM(InsnType insn) { in isLDSTPIIMM() argument
100 return (((insn) & 0x3b200c00) == 0x38000400); in isLDSTPIIMM()
103 static bool isLDSTU(InsnType insn) { in isLDSTU() argument
104 return (((insn) & 0x3b200c00) == 0x38000800); in isLDSTU()
107 static bool isLDSTPREIMM(InsnType insn) { in isLDSTPREIMM() argument
108 return (((insn) & 0x3b200c00) == 0x38000c00); in isLDSTPREIMM()
111 static bool isLDSTRO(InsnType insn) { in isLDSTRO() argument
112 return (((insn) & 0x3b200c00) == 0x38200800); in isLDSTRO()
115 static bool isLDSTUIMM(InsnType insn) { in isLDSTUIMM() argument
116 return (((insn) & 0x3b000000) == 0x39000000); in isLDSTUIMM()
119 static bool isLDSTSIMDM(InsnType insn) { in isLDSTSIMDM() argument
120 return (((insn) & 0xbfbf0000) == 0x0c000000); in isLDSTSIMDM()
123 static bool isLDSTSIMDMPI(InsnType insn) { in isLDSTSIMDMPI() argument
124 return (((insn) & 0xbfa00000) == 0x0c800000); in isLDSTSIMDMPI()
127 static bool isLDSTSIMDS(InsnType insn) { in isLDSTSIMDS() argument
128 return (((insn) & 0xbf9f0000) == 0x0d000000); in isLDSTSIMDS()
131 static bool isLDSTSIMDSPI(InsnType insn) { in isLDSTSIMDSPI() argument
132 return (((insn) & 0xbf800000) == 0x0d800000); in isLDSTSIMDSPI()
136 static bool isMAC(InsnType insn) { in isMAC() argument
137 return (insn & 0xff000000) == 0x9b000000; in isMAC()
141 static bool isMLXL(InsnType insn) { in isMLXL() argument
142 unsigned op31 = getOp31(insn); in isMLXL()
145 if (isMAC(insn) && in isMLXL()
147 getRa(insn) != ZR) { in isMLXL()
159 static bool isMemOp(InsnType insn, in isMemOp() argument
166 if (!isLDST(insn)) { in isMemOp()
173 if (isLDSTEX(insn)) { in isMemOp()
174 rt = getRt(insn); in isMemOp()
176 if (getBit(insn, 21) == 1) { in isMemOp()
178 rt2 = getRt2(insn); in isMemOp()
180 is_load = isLD(insn); in isMemOp()
182 } else if (isLDSTNAP(insn) || in isMemOp()
183 isLDSTPPI(insn) || in isMemOp()
184 isLDSTPO(insn) || in isMemOp()
185 isLDSTPPRE(insn)) { in isMemOp()
186 rt = getRt(insn); in isMemOp()
187 rt2 = getRt2(insn); in isMemOp()
189 is_load = isLD(insn); in isMemOp()
190 } else if (isLDSTPCREL(insn) || in isMemOp()
191 isLDSTUI(insn) || in isMemOp()
192 isLDSTPIIMM(insn) || in isMemOp()
193 isLDSTU(insn) || in isMemOp()
194 isLDSTPREIMM(insn) || in isMemOp()
195 isLDSTRO(insn) || in isMemOp()
196 isLDSTUIMM(insn)) { in isMemOp()
197 rt = getRt(insn); in isMemOp()
199 unsigned opc = getBits(insn, 22, 2); in isMemOp()
200 unsigned v = getBit(insn, 26); in isMemOp()
202 if (isLDSTPCREL(insn) || in isMemOp()
211 } else if (isLDSTSIMDM(insn) || isLDSTSIMDMPI(insn)) { in isMemOp()
212 unsigned opcode = (insn >> 12) & 0xf; in isMemOp()
213 rt = getRt(insn); in isMemOp()
214 is_load = (getBit(insn, 22) != 0); in isMemOp()
239 } else if (isLDSTSIMDS(insn) || isLDSTSIMDSPI(insn)) { in isMemOp()
240 unsigned r = (insn >> 21) & 1; in isMemOp()
241 unsigned opcode = (insn >> 13) & 0x7; in isMemOp()
242 rt = getRt(insn); in isMemOp()
243 is_load = (getBit(insn, 22) != 0); in isMemOp()