From 383648d9e0618eb81097615e2ca14114c5629102 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Thu, 7 Dec 2023 18:05:42 +0300 Subject: riscv64: RISC-V RVV assembler tests Add tests for newly added instructions Adjust clang/objdump CLI options Test: m art_compiler_host_tests Test: $NATIVE_TESTS/art_compiler_host_tests_intermediates/art_compiler_host_tests Change-Id: I3fdd831737daf844c7b03ef010d27d44056ec59d --- compiler/utils/assembler_test.h | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'compiler/utils/assembler_test.h') 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( + f, GetVectorRegisters(), &AssemblerTest::GetVecRegName, fmt); + } + std::string RepeatVV(void (Ass::*f)(VecReg, VecReg), const std::string& fmt) { return RepeatTemplatedRegisters(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( + f, + GetVectorRegisters(), + GetVectorRegisters(), + GetRegisters(), + &AssemblerTest::GetVecRegName, + &AssemblerTest::GetVecRegName, + &AssemblerTest::GetRegName, + fmt); + } + std::string RepeatVR(void (Ass::*f)(VecReg, Reg), const std::string& fmt) { return RepeatTemplatedRegisters( f, @@ -715,6 +732,34 @@ class AssemblerTest : public AssemblerTestBase { fmt); } + std::string RepeatVF(void (Ass::*f)(VecReg, FPReg), const std::string& fmt) { + return RepeatTemplatedRegisters(f, + GetVectorRegisters(), + GetFPRegisters(), + &AssemblerTest::GetVecRegName, + &AssemblerTest::GetFPRegName, + fmt); + } + + std::string RepeatFV(void (Ass::*f)(FPReg, VecReg), const std::string& fmt) { + return RepeatTemplatedRegisters(f, + GetFPRegisters(), + GetVectorRegisters(), + &AssemblerTest::GetFPRegName, + &AssemblerTest::GetVecRegName, + fmt); + } + + std::string RepeatRV(void (Ass::*f)(Reg, VecReg), const std::string& fmt) { + return RepeatTemplatedRegisters( + f, + GetRegisters(), + GetVectorRegisters(), + &AssemblerTest::GetRegName, + &AssemblerTest::GetVecRegName, + fmt); + } + template std::string RepeatVIb(void (Ass::*f)(VecReg, ImmType), int imm_bits, -- cgit v1.2.3-59-g8ed1b