Lines Matching refs:instr
62 const Instruction* instr) VIXL_OVERRIDE;
65 virtual void ProcessOutput(const Instruction* instr);
73 virtual void AppendRegisterNameToOutput(const Instruction* instr,
78 virtual void AppendPCRelativeOffsetToOutput(const Instruction* instr,
83 virtual void AppendCodeRelativeAddressToOutput(const Instruction* instr,
91 virtual void AppendCodeRelativeCodeAddressToOutput(const Instruction* instr,
97 virtual void AppendCodeRelativeDataAddressToOutput(const Instruction* instr,
102 virtual void AppendAddressToOutput(const Instruction* instr,
104 virtual void AppendCodeAddressToOutput(const Instruction* instr,
106 virtual void AppendDataAddressToOutput(const Instruction* instr,
120 int64_t CodeRelativeAddress(const void* instr);
125 #define DECLARE(A) virtual void Visit##A(const Instruction* instr);
145 void Disassemble_PdT_PgZ_ZnT_ZmT(const Instruction* instr);
146 void Disassemble_ZdB_Zn1B_Zn2B_imm(const Instruction* instr);
147 void Disassemble_ZdB_ZnB_ZmB(const Instruction* instr);
148 void Disassemble_ZdD_PgM_ZnS(const Instruction* instr);
149 void Disassemble_ZdD_ZnD_ZmD(const Instruction* instr);
150 void Disassemble_ZdD_ZnD_ZmD_imm(const Instruction* instr);
151 void Disassemble_ZdD_ZnS_ZmS_imm(const Instruction* instr);
152 void Disassemble_ZdH_PgM_ZnS(const Instruction* instr);
153 void Disassemble_ZdH_ZnH_ZmH_imm(const Instruction* instr);
154 void Disassemble_ZdS_PgM_ZnD(const Instruction* instr);
155 void Disassemble_ZdS_PgM_ZnH(const Instruction* instr);
156 void Disassemble_ZdS_PgM_ZnS(const Instruction* instr);
157 void Disassemble_ZdS_ZnH_ZmH_imm(const Instruction* instr);
158 void Disassemble_ZdS_ZnS_ZmS(const Instruction* instr);
159 void Disassemble_ZdS_ZnS_ZmS_imm(const Instruction* instr);
160 void Disassemble_ZdT_PgM_ZnT(const Instruction* instr);
161 void Disassemble_ZdT_PgZ_ZnT_ZmT(const Instruction* instr);
162 void Disassemble_ZdT_Pg_Zn1T_Zn2T(const Instruction* instr);
163 void Disassemble_ZdT_Zn1T_Zn2T_ZmT(const Instruction* instr);
164 void Disassemble_ZdT_ZnT_ZmT(const Instruction* instr);
165 void Disassemble_ZdT_ZnT_ZmTb(const Instruction* instr);
166 void Disassemble_ZdT_ZnTb(const Instruction* instr);
167 void Disassemble_ZdT_ZnTb_ZmTb(const Instruction* instr);
168 void Disassemble_ZdaD_ZnD_ZmD_imm(const Instruction* instr);
169 void Disassemble_ZdaD_ZnH_ZmH_imm_const(const Instruction* instr);
170 void Disassemble_ZdaD_ZnS_ZmS_imm(const Instruction* instr);
171 void Disassemble_ZdaH_ZnH_ZmH_imm(const Instruction* instr);
172 void Disassemble_ZdaH_ZnH_ZmH_imm_const(const Instruction* instr);
173 void Disassemble_ZdaS_ZnB_ZmB_imm_const(const Instruction* instr);
174 void Disassemble_ZdaS_ZnH_ZmH(const Instruction* instr);
175 void Disassemble_ZdaS_ZnH_ZmH_imm(const Instruction* instr);
176 void Disassemble_ZdaS_ZnS_ZmS_imm(const Instruction* instr);
177 void Disassemble_ZdaS_ZnS_ZmS_imm_const(const Instruction* instr);
178 void Disassemble_ZdaT_PgM_ZnTb(const Instruction* instr);
179 void Disassemble_ZdaT_ZnT_ZmT(const Instruction* instr);
180 void Disassemble_ZdaT_ZnT_ZmT_const(const Instruction* instr);
181 void Disassemble_ZdaT_ZnT_const(const Instruction* instr);
182 void Disassemble_ZdaT_ZnTb_ZmTb(const Instruction* instr);
183 void Disassemble_ZdaT_ZnTb_ZmTb_const(const Instruction* instr);
184 void Disassemble_ZdnB_ZdnB(const Instruction* instr);
185 void Disassemble_ZdnB_ZdnB_ZmB(const Instruction* instr);
186 void Disassemble_ZdnS_ZdnS_ZmS(const Instruction* instr);
187 void Disassemble_ZdnT_PgM_ZdnT_ZmT(const Instruction* instr);
188 void Disassemble_ZdnT_PgM_ZdnT_const(const Instruction* instr);
189 void Disassemble_ZdnT_ZdnT_ZmT_const(const Instruction* instr);
190 void Disassemble_ZtD_PgZ_ZnD_Xm(const Instruction* instr);
191 void Disassemble_ZtD_Pg_ZnD_Xm(const Instruction* instr);
192 void Disassemble_ZtS_PgZ_ZnS_Xm(const Instruction* instr);
193 void Disassemble_ZtS_Pg_ZnS_Xm(const Instruction* instr);
194 void Disassemble_ZdaS_ZnB_ZmB(const Instruction* instr);
195 void Disassemble_Vd4S_Vn16B_Vm16B(const Instruction* instr);
197 void DisassembleCpy(const Instruction* instr);
198 void DisassembleSet(const Instruction* instr);
199 void DisassembleMinMaxImm(const Instruction* instr);
201 void DisassembleSVEShiftLeftImm(const Instruction* instr);
202 void DisassembleSVEShiftRightImm(const Instruction* instr);
203 void DisassembleSVEAddSubCarry(const Instruction* instr);
204 void DisassembleSVEAddSubHigh(const Instruction* instr);
205 void DisassembleSVEComplexIntAddition(const Instruction* instr);
206 void DisassembleSVEBitwiseTernary(const Instruction* instr);
207 void DisassembleSVEFlogb(const Instruction* instr);
208 void DisassembleSVEFPPair(const Instruction* instr);
210 void DisassembleNoArgs(const Instruction* instr);
212 void DisassembleNEONMulByElementLong(const Instruction* instr);
213 void DisassembleNEONDotProdByElement(const Instruction* instr);
214 void DisassembleNEONFPMulByElement(const Instruction* instr);
215 void DisassembleNEONHalfFPMulByElement(const Instruction* instr);
216 void DisassembleNEONFPMulByElementLong(const Instruction* instr);
217 void DisassembleNEONComplexMulByElement(const Instruction* instr);
218 void DisassembleNEON2RegLogical(const Instruction* instr);
219 void DisassembleNEON2RegExtract(const Instruction* instr);
220 void DisassembleNEON2RegAddlp(const Instruction* instr);
221 void DisassembleNEON2RegCompare(const Instruction* instr);
222 void DisassembleNEON2RegFPCompare(const Instruction* instr);
223 void DisassembleNEON2RegFPConvert(const Instruction* instr);
224 void DisassembleNEON2RegFP(const Instruction* instr);
225 void DisassembleNEON3SameLogical(const Instruction* instr);
226 void DisassembleNEON3SameFHM(const Instruction* instr);
227 void DisassembleNEON3SameNoD(const Instruction* instr);
228 void DisassembleNEONShiftLeftLongImm(const Instruction* instr);
229 void DisassembleNEONShiftRightImm(const Instruction* instr);
230 void DisassembleNEONShiftRightNarrowImm(const Instruction* instr);
231 void DisassembleNEONScalarSatMulLongIndex(const Instruction* instr);
232 void DisassembleNEONFPScalarMulIndex(const Instruction* instr);
233 void DisassembleNEONFPScalar3Same(const Instruction* instr);
234 void DisassembleNEONScalar3SameOnlyD(const Instruction* instr);
235 void DisassembleNEONFPAcrossLanes(const Instruction* instr);
236 void DisassembleNEONFP16AcrossLanes(const Instruction* instr);
237 void DisassembleNEONScalarShiftImmOnlyD(const Instruction* instr);
238 void DisassembleNEONScalarShiftRightNarrowImm(const Instruction* instr);
239 void DisassembleNEONScalar2RegMiscOnlyD(const Instruction* instr);
240 void DisassembleNEONFPScalar2RegMisc(const Instruction* instr);
242 void DisassembleMTELoadTag(const Instruction* instr);
243 void DisassembleMTEStoreTag(const Instruction* instr);
244 void DisassembleMTEStoreTagPair(const Instruction* instr);
246 void Disassemble_XdSP_XnSP_Xm(const Instruction* instr);
247 void Disassemble_XdSP_XnSP_uimm6_uimm4(const Instruction* instr);
248 void Disassemble_Xd_XnSP_Xm(const Instruction* instr);
249 void Disassemble_Xd_XnSP_XmSP(const Instruction* instr);
251 void Format(const Instruction* instr,
255 void FormatWithDecodedMnemonic(const Instruction* instr,
259 void Substitute(const Instruction* instr, const char* string);
260 int SubstituteField(const Instruction* instr, const char* format);
261 int SubstituteRegisterField(const Instruction* instr, const char* format);
262 int SubstitutePredicateRegisterField(const Instruction* instr,
264 int SubstituteImmediateField(const Instruction* instr, const char* format);
265 int SubstituteLiteralField(const Instruction* instr, const char* format);
266 int SubstituteBitfieldImmediateField(const Instruction* instr,
268 int SubstituteShiftField(const Instruction* instr, const char* format);
269 int SubstituteExtendField(const Instruction* instr, const char* format);
270 int SubstituteConditionField(const Instruction* instr, const char* format);
271 int SubstitutePCRelAddressField(const Instruction* instr, const char* format);
272 int SubstituteBranchTargetField(const Instruction* instr, const char* format);
273 int SubstituteLSRegOffsetField(const Instruction* instr, const char* format);
274 int SubstitutePrefetchField(const Instruction* instr, const char* format);
275 int SubstituteBarrierField(const Instruction* instr, const char* format);
276 int SubstituteSysOpField(const Instruction* instr, const char* format);
277 int SubstituteCrField(const Instruction* instr, const char* format);
278 int SubstituteIntField(const Instruction* instr, const char* format);
279 int SubstituteSVESize(const Instruction* instr, const char* format);
280 int SubstituteTernary(const Instruction* instr, const char* format);
282 std::pair<unsigned, unsigned> GetRegNumForField(const Instruction* instr,
286 bool RdIsZROrSP(const Instruction* instr) const {
287 return (instr->GetRd() == kZeroRegCode);
290 bool RnIsZROrSP(const Instruction* instr) const {
291 return (instr->GetRn() == kZeroRegCode);
294 bool RmIsZROrSP(const Instruction* instr) const {
295 return (instr->GetRm() == kZeroRegCode);
298 bool RaIsZROrSP(const Instruction* instr) const {
299 return (instr->GetRa() == kZeroRegCode);
344 void Disassemble(const Instruction* instr);
377 virtual void ProcessOutput(const Instruction* instr) VIXL_OVERRIDE;