diff options
Diffstat (limited to 'src/rv64detect.c')
| -rw-r--r-- | src/rv64detect.c | 59 |
1 files changed, 9 insertions, 50 deletions
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 |