RVV: use new interface for segment load/store & change word_type to size_t&add clang ci (part #4100)
Tuple types in segment load/store operation have been removed from latest compilers.
This PR uses new interface for segment load/store, and add some wrapper for old compilers which only support tuple types.
This PR also change word_type to size_t, then add clang ci (riscv64-unknown-linux-gnu).
(Issue #4100)
Codecov Report
Merging #4118 (6612a44) into master (00c08d7) will increase coverage by
0.01%. The diff coverage is100.00%.
@@ Coverage Diff @@
## master #4118 +/- ##
==========================================
+ Coverage 94.43% 94.44% +0.01%
==========================================
Files 748 750 +2
Lines 179005 179375 +370
==========================================
+ Hits 169047 169417 +370
Misses 9958 9958
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/layer/riscv/padding_packn.h | 100.00% <ø> (ø) |
|
| src/layer/riscv/riscv_activation.h | 100.00% <ø> (ø) |
|
| src/layer/riscv/rvv_mathfun.h | 100.00% <ø> (ø) |
|
| src/layer/riscv/rvv_mathfun_fp16s.h | 100.00% <ø> (ø) |
|
| src/layer/riscv/absval_riscv.cpp | 100.00% <100.00%> (ø) |
|
| src/layer/riscv/binaryop_riscv.cpp | 100.00% <100.00%> (ø) |
|
| src/layer/riscv/cast_riscv.cpp | 95.58% <100.00%> (ø) |
|
| src/layer/riscv/clip_riscv.cpp | 100.00% <100.00%> (ø) |
|
| src/layer/riscv/concat_riscv.cpp | 95.58% <100.00%> (ø) |
|
| src/layer/riscv/convolution1d_riscv.cpp | 99.00% <100.00%> (ø) |
|
| ... and 78 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
Failed to pass tests when build with riscv-gcc/riscv-gcc-rvv-next(edffbea), binutils-2.39 :
test_convolution
test_convolution1d
test_convolutiondepthwise
test_deconvolution
test_deconvolutiondepthwise
test_squeezenet
Failed to pass tests when build with riscv-gcc/riscv-gcc-rvv-next(edffbea), binutils-2.39 :
Succeed with clang-14 with following requirement to build:
- Append some type definitions in
riscv-vector.h; -
clang++complains VLAs; [83d7d50] - Need
binutils-2.39and other GNU toolchains (--gnu-toolchain=); [113052b] -
--ld-path=toldin RISC-V GNU toolchains may required. [113052b]
Failed to pass tests when build with riscv-gcc/riscv-gcc-rvv-next(edffbea), binutils-2.39
Use riscv-gcc/riscv-gcc-rvv-next(32c7d7c), binutils-2.39 instead.
Hi, would you mind telling me whether there is still some bugs when running your algorithm using the latest riscv-gcc-rvv-next.
If you encounter any bugs or performance issues, feel free to file a issue here: https://github.com/riscv-collab/riscv-gcc/issues
Recently, I am working on push RVV codes to GCC upstream. Your feedbacks are important.
Thanks for your contribution !