Commit Graph
100 Commits
Author SHA1 Message Date
alex 0027946f90 renames mask operations to distinguish from vector integer compare instructions 2025-03-31 10:18:09 +02:00
alex feaff8c4a5 adds support for narrowing shifts 2025-03-31 10:18:09 +02:00
alex af3e76cc98 adds integer extension and add/substract with carry vector instructions 2025-03-31 10:18:09 +02:00
alex b1ceac2c2a small correction for vector_functions 2025-03-31 10:18:09 +02:00
alex b5862039e7 changes order of operands to more closely resemble assembly 2025-03-31 10:18:09 +02:00
alex 51f3802394 adds vector_imm instructions to vector_functions, makes size of all involved registers a template parameter 2025-03-31 10:18:09 +02:00
alex 6ce0d97e81 general improvements to vector_functions, adds functions to process arithmetic instructions (working add) 2025-03-31 10:18:09 +02:00
alex 69c8fda5d2 corrects oversight in vector_functions 2025-03-31 10:18:09 +02:00
alex c1f9328528 corrects vector_functions 2025-03-31 10:18:09 +02:00
alex 2b85748279 adds load_store_index to vector_functions 2025-03-31 10:18:09 +02:00
alex f7aa51b12e adds small optimization, clarifies variables in vector_functions 2025-03-31 10:18:09 +02:00
alex 3428745a00 small corrections in vector functions 2025-03-31 10:18:09 +02:00
alex 512b79a3e7 makes elem_count an explicit parameter for the softvector functions rather than calculating it from vtype 2025-03-31 10:18:08 +02:00
alex 7a048f8b93 changes wording of returned index to better reflect what it means, cleans up a bit 2025-03-31 10:18:08 +02:00
alex 6f4daf91ed adds explicit RFS to assertions 2025-03-31 10:18:08 +02:00
alex 947d353bbf adds working vector (unit) stride (segmented) loads and stores 2025-03-31 10:18:08 +02:00
alex b95f518c91 updates templates for interp to make extension specific includes conditonal 2025-03-31 10:18:08 +02:00
alex 4cef0f57c1 updates templates and adds newly generated files 2025-03-31 10:18:05 +02:00
alex 28af695592 adds vector support to m and mu priv wrapper 2025-03-31 10:16:01 +02:00
alex f6cdd9d07c adds vector csr to riscv_common 2025-03-31 09:54:26 +02:00
alex 9e390971d4 corrects include guard comment for fp_functions 2025-03-31 09:54:26 +02:00
alex 2bb2e56310 adds dependencies for K ISA (Cryptography) 2025-03-31 09:54:26 +02:00
alex a0eeae7dd6 corrects template for new arch_if changes 2025-03-30 19:12:22 +02:00
alex d443c89c87 removes llvm from dbt-rise-tgc build system as it is handled in dbt-rise-core 2024-12-28 13:10:49 +01:00
alex 9a2df32d57 updates templates 2024-12-28 13:07:07 +01:00
alex be0f783af8 adds cycle increment to tcc 2024-12-28 13:06:46 +01:00
alex 1089800682 updates vm_impls and core.h to work with new vm_base 2024-12-28 08:24:09 +01:00
alex 21e1f791ad corrects sysc integration template and corresponding file 2024-12-06 09:49:02 +01:00
alex be6f5791fa adds update to cyclecount after each instr for asmjit 2024-11-26 20:26:18 +01:00
alex d907dc7f54 corrects tohost functionality and minor cleanup 2024-11-22 17:35:12 +01:00
alex 75e81ce236 copies new tohost implemenation from hart_m_p 2024-11-14 16:51:26 +01:00
alex 82a70efdb8 small reorder to make tohost output more readable 2024-11-14 16:51:26 +01:00
alex 978c3db06e minor improvements to readability 2024-11-14 16:51:26 +01:00
alex 0e88664ff7 adds better tohost writing implementation, allowing the standard riscv-isa-test benchmarks to run 2024-11-14 16:51:26 +01:00
alex ac818f304d increases verbosity incase elf loading goes wrong 2024-10-21 16:42:58 +02:00
alex ad60449073 updates generated cores 2024-09-27 20:04:58 +02:00
alex b45b3589fa updates templates to immediately trap when gen_trap is called 2024-09-27 20:03:51 +02:00
alex 1fb7e8fcea improves logging output 2024-09-24 08:39:34 +02:00
alex 5f9d0beafb corrects softfloat to comply with RVD ACT 2024-09-23 22:22:57 +02:00
alex 4c0d1c75aa adds addr formatting to logging 2024-09-23 12:21:43 +02:00
alex 2f3abf2f76 adds namespaces for ELFIO 2024-09-23 11:55:18 +02:00
alex 76ea0db25d adds newest generated vm_impl 2024-08-17 23:19:51 +02:00
alex a45fcd28db updates fn calling generation 2024-08-17 08:22:04 +02:00
alex 0f15032210 removes gen_wait as wait can be called like any other extern function 2024-08-14 15:25:06 +02:00
alex efc11d87a5 updates template with fcsr check, adds extra braces on If Statements 2024-08-14 14:32:58 +02:00
alex 4a19e27926 adds changes due to generator being more inline with others 2024-08-14 13:52:08 +02:00
alex c15cdb0955 expands return values of jit creating functions to inhibit endless trapping 2024-08-14 11:49:59 +02:00
alex 6609d12582 adds flimit that gets properly evaluated in interp 2024-08-13 15:22:34 +02:00
alex b5341700aa updates template and adds braces when using conditions 2024-08-13 08:55:14 +02:00
alex 0b5062d21c adds fp_functions here to remove dependencies in dbt-rise-core 2024-08-09 11:56:32 +02:00
alex fbca690b3b replaces gen_wait, updates template to include fp_functions when necessary 2024-08-08 12:57:08 +02:00
alex 235a7e6e24 updates template 2024-08-08 11:08:28 +02:00
alex 62d21e1156 updates disass 2024-08-07 09:21:07 +02:00
alex 9c51d6eade improves interp, only calls decode once per instr 2024-08-07 09:20:11 +02:00
alex 2878dca6b5 updates templates 2024-08-06 08:32:05 +02:00
alex f579ec6e48 changes access to rounding mode to fail explicitly instead of unintended behavior 2024-07-31 12:30:41 +02:00
alex fd20e66f1f changes softfloat API usage, all effected Instrs pass test suite 2024-07-31 12:30:41 +02:00
alex 5d69b79232 reverts patches in softfloat 2024-07-31 12:30:41 +02:00
alex 2edd68d1bd refactors zeroProd branch to allow for better case handling 2024-07-31 12:30:41 +02:00
alex 7ffa7667b6 fixes concerning FMADD_S, FMSUB_S, FNMADD_S, and FNSUB_S
mostly about ensuring correct sign
2024-07-31 12:30:41 +02:00
alex 93d89e07ca removes wrong compile definition 2024-07-31 12:30:41 +02:00
alex 17dcba4b90 updates softfloat to #b51ef8f of softfloat3
https://github.com/ucb-bar/berkeley-softfloat-3/
2024-07-31 12:30:41 +02:00
alex 39d2518fdd checkin: tgc5f builds and runs through 2024-07-31 12:30:41 +02:00
alex 04b7a09b19 updates date in templates 2024-07-25 17:25:12 +02:00
alex 72b11beac5 moves decoder to dbt-rise-core 2024-07-25 10:13:38 +02:00
alex c6b99cd155 introduces new decoder to interp backend 2024-07-24 12:28:35 +02:00
alex b1306c3a47 improves instruction decoding by avoiding copying, replaces .size() 2024-07-24 08:54:37 +02:00
alex 0d6bf924ed changes jh.globals from map to vector 2024-07-23 15:45:51 +02:00
alex 86de536c8f changes jh globals to seperate riscv specifics 2024-07-23 14:35:31 +02:00
alex 051dd5e2d3 updates templates for decoder in seperate class, adds again generated templates 2024-07-23 13:46:10 +02:00
alex e3942be776 Introduces decoder in a seperate class 2024-07-23 13:08:53 +02:00
alex 6ee484a771 moves instruction decoder into own class 2024-07-23 11:30:33 +02:00
alex 60808c8649 corrects template since util fns are no longer vm_base members 2024-07-23 11:29:56 +02:00
alex 0432803d82 updates templates and vm impls for better LAST_BRANCH handling 2024-07-22 09:04:17 +02:00
alex 4f5d9214ed adds newly generated instr.yaml 2024-07-18 14:31:36 +02:00
alex d42d2ce533 corrects illegal instruction for llvm 2024-07-18 14:04:23 +02:00
alex 236d12d7f5 integrates gen_bool for Conditions (was truncation) into llvm 2024-07-18 13:30:42 +02:00
alex e1b6cab890 removes setting of NEXT_PC to max when trapping in llvm and asmjit, adds default disass to llvm 2024-07-18 12:02:40 +02:00
alex 8361f88718 removes setting of NEXT_PC to max if trap 2024-07-18 11:37:53 +02:00
alex 2ec7ea4b41 removes leftover gen_sync in asmjit 2024-07-17 22:39:12 +02:00
alex b24965d321 corrects gen_sync update order, improves illegal instruction 2024-07-17 20:52:01 +02:00
alex 244bf6d2f2 corrects gen_sync before trap check, improves illegal_instruction 2024-07-17 20:25:49 +02:00
alex 1a4465a371 changes template: adds correct illegal instruction, reorders gen_sync to allow correct instr id eve when trapping, adds newly generated vm 2024-07-17 19:59:01 +02:00
alex fa82a50824 fixes typo in templates 2024-07-17 17:24:17 +02:00
alex 6dc17857da updates template 2024-07-17 15:36:08 +02:00
alex 11a30caae8 integrates generator changes to canPrecompute 2024-07-17 15:14:13 +02:00
alex ac1a26a10c integrates new tval changes into llvm 2024-07-17 14:17:02 +02:00
alex 7a199e122d integrates new tval changes into asmjit 2024-07-17 09:42:12 +02:00
alex d8c3d2e19c integrates new tval changes into tcc 2024-07-16 17:35:23 +02:00
alex 375755999a integrates new tval changes 2024-07-16 15:32:35 +02:00
alex 149b3136d2 updates generated files 2024-07-10 12:55:36 +02:00
alex ac8f8b0539 updates vms with fixed Zc in tgc5c.core_desc 2024-07-10 12:51:59 +02:00
alex b2cbf90d0b updates generated files 2024-07-10 12:51:59 +02:00
alex 373145478e updats file because of generator changes 2024-07-10 12:51:59 +02:00
alex 55b0cea94f changes vm_base util API 2024-07-10 12:51:59 +02:00
alex 5b17599aa2 allows usage of std::variants 2024-07-10 12:51:59 +02:00
alex 4cfb15c7cd Asmjit and interp working 2024-07-10 12:51:31 +02:00
alex 48370a4555 asmjit passes backend with new CoreDSL 2024-06-22 09:28:26 +02:00
alex 36b076774e Merge branch 'develop' of https://git.minres.com/DBT-RISE/DBT-RISE-TGC into develop 2024-06-21 13:35:30 +02:00
alex 482a4ec253 fixes semihosting callbacks in templates 2024-06-21 13:35:25 +02:00