Lines Matching refs:std
36 virtual void FillImmediates(std::vector<Imm>& immediates, int64_t imm_min, int64_t imm_max) { in FillImmediates()
60 std::string RepeatRRIIC(void (Ass::*f)(Reg, Reg, Imm, Imm, Cond), in RepeatRRIIC()
63 std::string fmt) { in RepeatRRIIC()
72 std::string RepeatTemplatedRRIIC(void (Ass::*f)(Reg1, Reg2, Imm, Imm, Cond), in RepeatTemplatedRRIIC()
73 const std::vector<Reg1*> reg1_registers, in RepeatTemplatedRRIIC()
74 const std::vector<Reg2*> reg2_registers, in RepeatTemplatedRRIIC()
75 std::string (AssemblerArmTest::*GetName1)(const Reg1&), in RepeatTemplatedRRIIC()
76 std::string (AssemblerArmTest::*GetName2)(const Reg2&), in RepeatTemplatedRRIIC()
79 std::string fmt) { in RepeatTemplatedRRIIC()
80 std::vector<Imm> immediates1; in RepeatTemplatedRRIIC()
82 std::vector<Imm> immediates2; in RepeatTemplatedRRIIC()
85 std::vector<Cond>& cond = GetConditions(); in RepeatTemplatedRRIIC()
90 std::ostringstream oss; in RepeatTemplatedRRIIC()
93 std::string after_cond = fmt; in RepeatTemplatedRRIIC()
96 if (cond_index != std::string::npos) { in RepeatTemplatedRRIIC()
101 std::string base = after_cond; in RepeatTemplatedRRIIC()
104 if (imm1_index != std::string::npos) { in RepeatTemplatedRRIIC()
105 std::ostringstream sreg; in RepeatTemplatedRRIIC()
107 std::string imm_string = sreg.str(); in RepeatTemplatedRRIIC()
112 std::string base2 = base; in RepeatTemplatedRRIIC()
115 if (imm2_index != std::string::npos) { in RepeatTemplatedRRIIC()
116 std::ostringstream sreg; in RepeatTemplatedRRIIC()
118 std::string imm_string = sreg.str(); in RepeatTemplatedRRIIC()
123 std::string base3 = base2; in RepeatTemplatedRRIIC()
125 std::string reg1_string = (this->*GetName1)(*reg1); in RepeatTemplatedRRIIC()
127 while ((reg1_index = base3.find(Base::REG1_TOKEN)) != std::string::npos) { in RepeatTemplatedRRIIC()
132 std::string base4 = base3; in RepeatTemplatedRRIIC()
134 std::string reg2_string = (this->*GetName2)(*reg2); in RepeatTemplatedRRIIC()
136 while ((reg2_index = base4.find(Base::REG2_TOKEN)) != std::string::npos) { in RepeatTemplatedRRIIC()
159 std::string RepeatRRiiC(void (Ass::*f)(Reg, Reg, Imm, Imm, Cond), in RepeatRRiiC()
160 std::vector<std::pair<Imm, Imm>>& immediates, in RepeatRRiiC()
161 std::string fmt) { in RepeatRRiiC()
169 std::string RepeatTemplatedRRiiC(void (Ass::*f)(Reg1, Reg2, Imm, Imm, Cond), in RepeatTemplatedRRiiC()
170 const std::vector<Reg1*> reg1_registers, in RepeatTemplatedRRiiC()
171 const std::vector<Reg2*> reg2_registers, in RepeatTemplatedRRiiC()
172 std::string (AssemblerArmTest::*GetName1)(const Reg1&), in RepeatTemplatedRRiiC()
173 std::string (AssemblerArmTest::*GetName2)(const Reg2&), in RepeatTemplatedRRiiC()
174 std::vector<std::pair<Imm, Imm>>& immediates, in RepeatTemplatedRRiiC()
175 std::string fmt) { in RepeatTemplatedRRiiC()
176 std::vector<Cond>& cond = GetConditions(); in RepeatTemplatedRRiiC()
181 std::ostringstream oss; in RepeatTemplatedRRiiC()
184 std::string after_cond = fmt; in RepeatTemplatedRRiiC()
187 if (cond_index != std::string::npos) { in RepeatTemplatedRRiiC()
191 for (std::pair<Imm, Imm>& pair : immediates) { in RepeatTemplatedRRiiC()
194 std::string after_imm1 = after_cond; in RepeatTemplatedRRiiC()
197 if (imm1_index != std::string::npos) { in RepeatTemplatedRRiiC()
198 std::ostringstream sreg; in RepeatTemplatedRRiiC()
200 std::string imm_string = sreg.str(); in RepeatTemplatedRRiiC()
204 std::string after_imm2 = after_imm1; in RepeatTemplatedRRiiC()
207 if (imm2_index != std::string::npos) { in RepeatTemplatedRRiiC()
208 std::ostringstream sreg; in RepeatTemplatedRRiiC()
210 std::string imm_string = sreg.str(); in RepeatTemplatedRRiiC()
215 std::string after_reg1 = after_imm2; in RepeatTemplatedRRiiC()
217 std::string reg1_string = (this->*GetName1)(*reg1); in RepeatTemplatedRRiiC()
219 while ((reg1_index = after_reg1.find(Base::REG1_TOKEN)) != std::string::npos) { in RepeatTemplatedRRiiC()
224 std::string after_reg2 = after_reg1; in RepeatTemplatedRRiiC()
226 std::string reg2_string = (this->*GetName2)(*reg2); in RepeatTemplatedRRiiC()
228 while ((reg2_index = after_reg2.find(Base::REG2_TOKEN)) != std::string::npos) { in RepeatTemplatedRRiiC()
250 std::string RepeatRRC(void (Ass::*f)(Reg, Reg, Cond), std::string fmt) { in RepeatRRC()
258 std::string RepeatTemplatedRRC(void (Ass::*f)(Reg1, Reg2, Cond), in RepeatTemplatedRRC()
259 const std::vector<Reg1*>& reg1_registers, in RepeatTemplatedRRC()
260 const std::vector<Reg2*>& reg2_registers, in RepeatTemplatedRRC()
261 const std::vector<Cond>& cond, in RepeatTemplatedRRC()
262 std::string (AssemblerArmTest::*GetName1)(const Reg1&), in RepeatTemplatedRRC()
263 std::string (AssemblerArmTest::*GetName2)(const Reg2&), in RepeatTemplatedRRC()
264 std::string fmt) { in RepeatTemplatedRRC()
267 std::ostringstream oss; in RepeatTemplatedRRC()
270 std::string after_cond = fmt; in RepeatTemplatedRRC()
273 if (cond_index != std::string::npos) { in RepeatTemplatedRRC()
278 std::string after_reg1 = after_cond; in RepeatTemplatedRRC()
280 std::string reg1_string = (this->*GetName1)(*reg1); in RepeatTemplatedRRC()
282 while ((reg1_index = after_reg1.find(Base::REG1_TOKEN)) != std::string::npos) { in RepeatTemplatedRRC()
287 std::string after_reg2 = after_reg1; in RepeatTemplatedRRC()
289 std::string reg2_string = (this->*GetName2)(*reg2); in RepeatTemplatedRRC()
291 while ((reg2_index = after_reg2.find(Base::REG2_TOKEN)) != std::string::npos) { in RepeatTemplatedRRC()
312 std::string RepeatRRRC(void (Ass::*f)(Reg, Reg, Reg, Cond), std::string fmt) { in RepeatRRRC()
321 std::string RepeatTemplatedRRRC(void (Ass::*f)(Reg1, Reg2, Reg3, Cond), in RepeatTemplatedRRRC()
322 const std::vector<Reg1*>& reg1_registers, in RepeatTemplatedRRRC()
323 const std::vector<Reg2*>& reg2_registers, in RepeatTemplatedRRRC()
324 const std::vector<Reg3*>& reg3_registers, in RepeatTemplatedRRRC()
325 const std::vector<Cond>& cond, in RepeatTemplatedRRRC()
326 std::string (AssemblerArmTest::*GetName1)(const Reg1&), in RepeatTemplatedRRRC()
327 std::string (AssemblerArmTest::*GetName2)(const Reg2&), in RepeatTemplatedRRRC()
328 std::string (AssemblerArmTest::*GetName3)(const Reg3&), in RepeatTemplatedRRRC()
329 std::string fmt) { in RepeatTemplatedRRRC()
333 std::ostringstream oss; in RepeatTemplatedRRRC()
336 std::string after_cond = fmt; in RepeatTemplatedRRRC()
339 if (cond_index != std::string::npos) { in RepeatTemplatedRRRC()
344 std::string after_reg1 = after_cond; in RepeatTemplatedRRRC()
346 std::string reg1_string = (this->*GetName1)(*reg1); in RepeatTemplatedRRRC()
348 while ((reg1_index = after_reg1.find(Base::REG1_TOKEN)) != std::string::npos) { in RepeatTemplatedRRRC()
353 std::string after_reg2 = after_reg1; in RepeatTemplatedRRRC()
355 std::string reg2_string = (this->*GetName2)(*reg2); in RepeatTemplatedRRRC()
357 while ((reg2_index = after_reg2.find(Base::REG2_TOKEN)) != std::string::npos) { in RepeatTemplatedRRRC()
362 std::string after_reg3 = after_reg2; in RepeatTemplatedRRRC()
364 std::string reg3_string = (this->*GetName3)(*reg3); in RepeatTemplatedRRRC()
366 while ((reg3_index = after_reg3.find(REG3_TOKEN)) != std::string::npos) { in RepeatTemplatedRRRC()
389 std::string RepeatTemplatedRSC(void (Ass::*f)(RegT, SOp, Cond), in RepeatTemplatedRSC()
390 const std::vector<RegT*>& registers, in RepeatTemplatedRSC()
391 const std::vector<SOp>& shifts, in RepeatTemplatedRSC()
392 const std::vector<Cond>& cond, in RepeatTemplatedRSC()
393 std::string (AssemblerArmTest::*GetName)(const RegT&), in RepeatTemplatedRSC()
394 std::string fmt) { in RepeatTemplatedRSC()
397 std::ostringstream oss; in RepeatTemplatedRSC()
400 std::string after_cond = fmt; in RepeatTemplatedRSC()
403 if (cond_index != std::string::npos) { in RepeatTemplatedRSC()
408 std::string after_shift = after_cond; in RepeatTemplatedRSC()
410 std::string shift_string = GetShiftString(shift); in RepeatTemplatedRSC()
412 while ((shift_index = after_shift.find(Base::SHIFT_TOKEN)) != std::string::npos) { in RepeatTemplatedRSC()
417 std::string after_reg = after_shift; in RepeatTemplatedRSC()
419 std::string reg_string = (this->*GetName)(*reg); in RepeatTemplatedRSC()
421 while ((reg_index = after_reg.find(Base::REG_TOKEN)) != std::string::npos) { in RepeatTemplatedRSC()
443 std::string RepeatTemplatedRRSC(void (Ass::*f)(Reg1, Reg2, const SOp&, Cond), in RepeatTemplatedRRSC()
444 const std::vector<Reg1*>& reg1_registers, in RepeatTemplatedRRSC()
445 const std::vector<Reg2*>& reg2_registers, in RepeatTemplatedRRSC()
446 const std::vector<SOp>& shifts, in RepeatTemplatedRRSC()
447 const std::vector<Cond>& cond, in RepeatTemplatedRRSC()
448 std::string (AssemblerArmTest::*GetName1)(const Reg1&), in RepeatTemplatedRRSC()
449 std::string (AssemblerArmTest::*GetName2)(const Reg2&), in RepeatTemplatedRRSC()
450 std::string fmt) { in RepeatTemplatedRRSC()
453 std::ostringstream oss; in RepeatTemplatedRRSC()
456 std::string after_cond = fmt; in RepeatTemplatedRRSC()
459 if (cond_index != std::string::npos) { in RepeatTemplatedRRSC()
464 std::string after_shift = after_cond; in RepeatTemplatedRRSC()
466 std::string shift_string = GetShiftString(shift); in RepeatTemplatedRRSC()
468 while ((shift_index = after_shift.find(SHIFT_TOKEN)) != std::string::npos) { in RepeatTemplatedRRSC()
473 std::string after_reg1 = after_shift; in RepeatTemplatedRRSC()
475 std::string reg1_string = (this->*GetName1)(*reg1); in RepeatTemplatedRRSC()
477 while ((reg1_index = after_reg1.find(Base::REG1_TOKEN)) != std::string::npos) { in RepeatTemplatedRRSC()
482 std::string after_reg2 = after_reg1; in RepeatTemplatedRRSC()
484 std::string reg2_string = (this->*GetName2)(*reg2); in RepeatTemplatedRRSC()
486 while ((reg2_index = after_reg2.find(Base::REG2_TOKEN)) != std::string::npos) { in RepeatTemplatedRRSC()
511 virtual std::vector<Cond>& GetConditions() = 0;
512 virtual std::string GetConditionString(Cond c) = 0;
514 virtual std::vector<SOp>& GetShiftOperands() = 0;
515 virtual std::string GetShiftString(SOp sop) = 0;
518 virtual std::vector<Reg*> GetRegistersWithoutPC() { in GetRegistersWithoutPC()
519 std::vector<Reg*> without_pc = GetRegisters(); in GetRegistersWithoutPC()