Commit Graph

444602 Commits

Author SHA1 Message Date
zhoujing 3bd573e3b3 [VENTUS][fix] Remove codes and fix wrong register error in workitem.s 2024-02-01 14:56:01 +08:00
zhoujing 03759b1bed [VENTUS][fix] Fix get_local_id builtin function implementation 2024-02-01 14:56:01 +08:00
zhoujingya efd82b9d86 [#56][fix] Fix the implementation of get_local_linear_id 2024-02-01 14:56:01 +08:00
zhoujingya e04c1a6ec7 [#56][fix] Fix workitem function(enqueued_local_size & local_linear_id) bugs in libclc
Support get_enqueued_local_size function and fix the calculation of get_local_linear_id
2024-02-01 14:56:01 +08:00
zhoujingya 49c039a902
Merge pull request #89 from THU-DSP-LAB/eliminate_call_frame
[VENTUS][fix] Fix framelowering and calculation method of stack offset
2024-02-01 14:54:42 +08:00
zhoujingya 6b17accc5f
Merge pull request #70 from THU-DSP-LAB/resource_manage
[VENTUS][fix] Fix the mechanism of statistical register resources
2024-02-01 13:17:45 +08:00
zhoujingya 965f8c1fb6
Merge branch 'main' into eliminate_call_frame 2024-02-01 13:15:03 +08:00
zhoujingya a3fc326ce4
Merge pull request #53 from THU-DSP-LAB/libclc-precision
[VENTUS][fix] Use customized clz function rather than builtins
2024-01-31 19:19:54 +08:00
zhoujing aaf1c41a21 [VENTUS][fix] Fix clzl function implementation in floatdidf 2024-01-31 16:12:58 +08:00
zhoujingya dfd2affa51 [VENTUS][fix] Fix float precision issue in libclc for ventus
There are many potential precision bugs in libclc, especially the functions
under `libclc/riscv32/lib/compiler-rt` directory.
2024-01-31 16:12:31 +08:00
zhoujingya 91b9888732
Merge pull request #66 from THU-DSP-LAB/39_parameter_types
[fix] Fix scalar and vector kernel parameter bugs
2024-01-24 11:46:59 +08:00
zhoujingya 0b7be4b4a5
Merge branch 'main' into 39_parameter_types 2024-01-24 11:43:08 +08:00
zhoujingya a87bae445c
Merge pull request #49 from THU-DSP-LAB/instructions-remove
[VENTUS][fix] Remove instructions not supported by hardware
2024-01-24 09:41:33 +08:00
wangqinfan 3085032da8
Merge pull request #51 from THU-DSP-LAB/regexti
[#50][feat] Add regexti instruction support
2024-01-23 13:21:26 +08:00
qinfan 5a4e7b3c6c [VENTUS][fix] Fix test file
Fix test file.
2024-01-23 10:25:46 +08:00
qinfan 71caf2361b [VENTUS][fix] Fix register extension
Fix register extension.
2024-01-23 09:59:51 +08:00
zhoujingya 7adec4402a [VENTUS][fix] Support the regexti instruction
Support the regexti instruction with or, xor, sub, and, setne, seteq, add test file.
2024-01-23 09:59:51 +08:00
zhoujingya b793a55a42
Merge pull request #95 from THU-DSP-LAB/clamp
[VENTUS][fix] Fix clamp function
2024-01-22 22:27:44 +08:00
zhoujingya 8099fdef1c
Merge pull request #96 from THU-DSP-LAB/mad_hi
[VENTUS][fix] Add mul_hi function
2024-01-22 22:27:23 +08:00
qinfan eb8de4e634 [VENTUS][fix] Add mul_hi function
Add mul_hi function.
2024-01-22 16:55:53 +08:00
qinfan 9181e1a435 [VENTUS][fix] Fix clamp function
Fix clamp function.
2024-01-22 16:44:35 +08:00
Jules-Kong 5b0ffc2cfa
Merge pull request #88 from THU-DSP-LAB/ctz
[VENTUS][fix] Add ctz function implementation
2024-01-15 14:37:15 +08:00
zhoujingya 7e8e66058c [VENTUS][fix] Add ctz function implementation
Add ctz function implementation.
2024-01-11 14:21:05 +08:00
qinfan 93c99240db [VENTUS][fix] Fix the calculation of stack size
Fix the calculation of stack size.
2023-12-25 13:26:25 +08:00
qinfan 6be8ad9c24 [VENTUS][docs] Add test file
Add test file.
2023-12-22 17:51:05 +08:00
qinfan d809d3a2bd [VENTUS][fix] Fix the Offset of private variable offset on stack
Fix the Offset of private variable offset on stack.
2023-12-22 16:47:19 +08:00
qinfan 755797e27c [VENTUS][fix] Fix framelowering and calculation method of stack offset
1. Add VMV_V_X in emitEpilogue.
2. Change all the positive numbers added by TP to negative numbers(in LowerCall).
3. Fix the LowerCall function to generate correct store instruction transferring the function parameters.
4. Fix hasReservedCallFrame function to return false.
5. Align the convention between caller and callee in the case of passing parameters by stack.
6. Change the stack offset calculation method of TP.
7. Unify the calculation of TP stack and SP stack offset.
8. Node that needing to manually modify the calculation of sp offset in the workitem.S. Since the growth direction of the stack is different from that of the traditional RISCV, it is now stipulated that for both the SP stack and the TP stack, the data is stored where the stack pointer is not offset.
9. There is a SPAdj check in eliminateFrameIndex function. but we don't need this value at all so that adding a getSPAdjust function to return zero.
10. V33 is a wrong value when parameters pushed to TP stack so there must be a MV instruction to refresh V33 after ADJCALLSTACKDOWN.
2023-12-20 17:03:01 +08:00
qinfan e35b2e4fed [VENTUS][fix] Distinguish the resource usage of each kernel function
Distinguish the resource usage of each kernel function in the same source file.
2023-12-14 17:18:20 +08:00
zhoujingya e4582536e7
Merge pull request #79 from THU-DSP-LAB/libclc 2023-12-07 11:35:08 +08:00
zhoujingya 12bb90bd11 [VENTUS][fix] Add libclc function parameter vector size equal 3 support
In the current libclc library, when the function parameter contains vec3, the library
does not overload the builtin function and implement it, so we need to add related
declaration

For cts test cases:
* prefetch
* async_copy_global_to_local
* async_copy_local_to_global
2023-12-07 10:19:28 +08:00
qinfan 304a2c1284 [VENTUS][fix] Fix the mechanism of statistical register resources
1. Fix the bug of repeated calculation of register resources.
2. Add resource calculation with stack register.
2023-11-28 11:29:13 +08:00
zhoujingya d32d735ea4 [VENTUS][fix] Remove instructions not supported by hardware
These instructions included belows:

* float load/store instructions
* vfmv instruction
* "Single-Width Floating-Point/Integer Type-Convert Instructions" in RISCV manual
2023-11-24 17:26:50 +08:00
zhoujingya f85215d671
Revert "[VENTUS][fix] Add subregclass and flag to distinguish GPR and GPRF32" (#68)
This reverts commit 5e424e2b64.
2023-11-24 15:18:18 +08:00
Mifuns e4c88939fe
[#60][feat] Support barrier with memory scope parameter (#63)
Co-authored-by: qinfan <qinfan.wang@terapines.com>
2023-11-22 16:02:16 +08:00
qinfan 5f09d814e1 [#39][docs] Add test file
Add test file.
2023-11-09 13:39:57 +08:00
qinfan 6b002e6c5d [#39][fix] Modify the code failed to merge
Modify the code failed to merge.
2023-11-09 13:31:31 +08:00
qinfan 99a81dd407 [#39][fix] Fix scalar and vector kernel parameter bugs
The alignment method for kernel function parameters finally determined by the software.
2023-11-09 13:18:48 +08:00
qinfan 8dfd3561c4 [VENTUS][RISCV][feat] Legalized vector parameters
Summary: LegaLegalized vector parameters, but not been added FileCheck now.

Test Plan: Legalized vector parameters

Differential Revision: http://www.tpt.com/D740
2023-11-09 13:09:54 +08:00
zhoujingya 1e0fad0aef [#54][fix] Fix integer compare instructions pattern 2023-11-08 14:56:10 +08:00
zhoujingya 2ae501e91b [VENTUS][fix] Add test file 2023-10-26 09:46:07 +08:00
qinfan 8fb493873a [VENTUS][RISCV][fix] Add subregclass and flag to distinguish GPR and GPRF32
Add subregclass and flag to distinguish GPR and GPRF32
2023-10-26 09:46:07 +08:00
oywd 685c959186
Merge pull request #37 from THU-DSP-LAB/es-dev
[#36][fix] fix the bug that the calclation of global id is err
2023-10-19 17:25:13 +08:00
ouyangxiao ebb43f7877 [VENTUS][fix] Fix the bug that the calculation of global id is incorrect 2023-10-19 14:46:45 +08:00
zhoujingya 5c2738eb80 [VENTUS][fix] Fix address space mapping error for constant address 2023-10-16 17:30:49 +08:00
zhoujingya f48875e9fe Revert "[VENTUS][fix] Add subregclass and flag to distinguish GPR and GPRF32"
This reverts commit 5e424e2b64.
2023-10-16 16:45:15 +08:00
qinfan 5e424e2b64 [VENTUS][fix] Add subregclass and flag to distinguish GPR and GPRF32
Summary: fix float COPY instruction bug

Test Plan: fix float COPY instruction bug

Reviewers: zhoujing

Differential Revision: http://www.tpt.com/D747
2023-10-16 13:51:10 +08:00
zhoujingya 294b5b4e5e [VENTUS][fix] Remove illegal VMV_X_S/VFMV_F_S instructions' definition and patterns
https://github.com/THU-DSP-LAB/llvm-project/issues/31
2023-10-10 17:30:47 +08:00
zhoujingya de2295fa43 [VENTUS][fix] Fix flw/fsw instruction pattern match bug 2023-10-10 16:05:57 +08:00
zhoujingya f9a20984b5 [VENTUS][fix] Comment out illegal fmv.w.x instruction and change vmv instructions' format
https://github.com/THU-DSP-LAB/llvm-project/issues/30
2023-10-09 14:04:55 +08:00
zhoujingya 2b376d146a Revert "[VENTUS][RISCV][fix] Fix the float COPY instruction bug"
This reverts commit 80a3ef9b04.
2023-10-08 17:35:20 +08:00