summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/assembler_test.h')
-rw-r--r--compiler/utils/assembler_test.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/compiler/utils/assembler_test.h b/compiler/utils/assembler_test.h
index 72f48367a6..05c79f3b21 100644
--- a/compiler/utils/assembler_test.h
+++ b/compiler/utils/assembler_test.h
@@ -685,6 +685,11 @@ class AssemblerTest : public AssemblerTestBase {
return str;
}
+ std::string RepeatV(void (Ass::*f)(VecReg), const std::string& fmt) {
+ return RepeatTemplatedRegister<VecReg>(
+ f, GetVectorRegisters(), &AssemblerTest::GetVecRegName, fmt);
+ }
+
std::string RepeatVV(void (Ass::*f)(VecReg, VecReg), const std::string& fmt) {
return RepeatTemplatedRegisters<VecReg, VecReg>(f,
GetVectorRegisters(),
@@ -705,6 +710,18 @@ class AssemblerTest : public AssemblerTestBase {
fmt);
}
+ std::string RepeatVVR(void (Ass::*f)(VecReg, VecReg, Reg), const std::string& fmt) {
+ return RepeatTemplatedRegisters<VecReg, VecReg, Reg>(
+ f,
+ GetVectorRegisters(),
+ GetVectorRegisters(),
+ GetRegisters(),
+ &AssemblerTest::GetVecRegName,
+ &AssemblerTest::GetVecRegName,
+ &AssemblerTest::GetRegName<RegisterView::kUsePrimaryName>,
+ fmt);
+ }
+
std::string RepeatVR(void (Ass::*f)(VecReg, Reg), const std::string& fmt) {
return RepeatTemplatedRegisters<VecReg, Reg>(
f,
@@ -715,6 +732,34 @@ class AssemblerTest : public AssemblerTestBase {
fmt);
}
+ std::string RepeatVF(void (Ass::*f)(VecReg, FPReg), const std::string& fmt) {
+ return RepeatTemplatedRegisters<VecReg, FPReg>(f,
+ GetVectorRegisters(),
+ GetFPRegisters(),
+ &AssemblerTest::GetVecRegName,
+ &AssemblerTest::GetFPRegName,
+ fmt);
+ }
+
+ std::string RepeatFV(void (Ass::*f)(FPReg, VecReg), const std::string& fmt) {
+ return RepeatTemplatedRegisters<FPReg, VecReg>(f,
+ GetFPRegisters(),
+ GetVectorRegisters(),
+ &AssemblerTest::GetFPRegName,
+ &AssemblerTest::GetVecRegName,
+ fmt);
+ }
+
+ std::string RepeatRV(void (Ass::*f)(Reg, VecReg), const std::string& fmt) {
+ return RepeatTemplatedRegisters<Reg, VecReg>(
+ f,
+ GetRegisters(),
+ GetVectorRegisters(),
+ &AssemblerTest::GetRegName<RegisterView::kUsePrimaryName>,
+ &AssemblerTest::GetVecRegName,
+ fmt);
+ }
+
template <typename ImmType>
std::string RepeatVIb(void (Ass::*f)(VecReg, ImmType),
int imm_bits,