From 613f2cccf15674f91c9b539fe2ed6f5c4a1164c8 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Tue, 14 Jan 2025 16:20:25 +0800 Subject: [CORE] Simplified xhead* detection and standardized extension display (#2261) --- src/rv64detect.c | 59 +++++++++----------------------------------------------- 1 file changed, 9 insertions(+), 50 deletions(-) (limited to 'src/rv64detect.c') diff --git a/src/rv64detect.c b/src/rv64detect.c index b0664b05..ec41b482 100644 --- a/src/rv64detect.c +++ b/src/rv64detect.c @@ -92,59 +92,18 @@ void RV64_Detect_Function() // THead vendor extensions if (!rv64_zba) { - // Test XTheadBa with TH_ADDSL block = (uint32_t*)my_block; TH_ADDSL(A0, A0, A1, 1); BR(xRA); - rv64_xtheadba = Check(my_block); - - // Test XTheadBb with TH_SRRI - block = (uint32_t*)my_block; - TH_SRRI(A0, A1, 1); - BR(xRA); - rv64_xtheadbb = Check(my_block); - - // Test XTheadBs with TH_TST - block = (uint32_t*)my_block; - TH_TST(A0, A1, 1); - BR(xRA); - rv64_xtheadbs = Check(my_block); - - // Test XTheadCondMov with TH_MVEQZ - block = (uint32_t*)my_block; - TH_MVEQZ(A0, A0, A1); - BR(xRA); - rv64_xtheadcondmov = Check(my_block); - - // Test XTheadMemIdx with TH_LBIA - block = (uint32_t*)my_block; - TH_LBIA(A0, A2, 1, 1); - BR(xRA); - rv64_xtheadmemidx = Check(my_block); - - // Test XTheadMemPair with TH_LDD - block = (uint32_t*)my_block; - TH_LDD(A0, A1, A2, 0); - BR(xRA); - rv64_xtheadmempair = Check(my_block); - - // Test XTheadFMemIdx with TH_FLRD - block = (uint32_t*)my_block; - TH_FLRD(A0, A2, xZR, 0); - BR(xRA); - rv64_xtheadfmemidx = Check(my_block); - - // Test XTheadMac with TH_MULA - block = (uint32_t*)my_block; - TH_MULA(A0, A0, A1); - BR(xRA); - rv64_xtheadmac = Check(my_block); - - // Test XTheadFmv with TH_FMV_X_HW - block = (uint32_t*)my_block; - TH_FMV_X_HW(A0, A1); - BR(xRA); - rv64_xtheadfmv = Check(my_block); + rv64_xtheadba + = rv64_xtheadbb + = rv64_xtheadbs + = rv64_xtheadcondmov + = rv64_xtheadmemidx + = rv64_xtheadmempair + = rv64_xtheadfmemidx + = rv64_xtheadmac + = rv64_xtheadfmv = Check(my_block); } // Finish -- cgit 1.4.1