aboutsummaryrefslogtreecommitdiff
path: root/riscv/v_ext_macros.h
AgeCommit message (Collapse)AuthorFilesLines
2024-06-21Vector-fp instructions depend on zve, not F/DJerry Zhao1-10/+10
2024-05-24vector: Not logging write of reduction instructions when vl = 0YenHaoChen1-4/+4
The spec says: "If vl=0, no operation is performed and the destination register is not updated." in Section 14. Vector Reduction Operations. The commit proposes setting the variable is_write to false when vl = 0, which means not logging the write.
2024-05-01Remove Zbpbo, Zpn, and Zpsfoperand implementationAndrew Waterman1-0/+3
2024-03-11Update vcompress.vm to not write vstart with 0 upon completionrbuchner1-1/+4
Vmcompress.vm requires vstart==0, so writing vstart with 0 is redundant. To do this, spin off VI_LOOP_END_BASE from VI_LOOP_END. VI_LOOP_END will contain VI_LOOP_END_BASE as well as a write of 0 to vstart. See #1623 for full discussion.
2023-10-16vamo: remove related loop macroChih-Min Chao1-54/+0
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2023-06-19Zvk: Infrastructure for Zvk extensions, element group handlingEric Gouriou1-0/+22
Introduce types and macros useful across multiple Zvk sub-extensions, including Zvbb and Zvbc. Those will be used by upcoming per-sub-extension commits. In particular we introduce "Element Group" types and loop macros handling those element groups. The concept of element group is described in <https://github.com/riscv/riscv-crypto/blob/master/doc/vector/riscv-crypto-vector-element-groups.adoc>. Note that the element group access method is not implemented for WORDS_BIGENDIAN setup. As such, isa_parser.cc is modified to emit an error when WORDS_BIGENDIAN is defined and extensions using element groups are enabled. Signed-off-by: Eric Gouriou <ego@rivosinc.com>
2023-05-29Add support for new instructions of Zvfbfwma extensionWeiwei Li1-0/+54
2023-05-29Add support for new instructions of Zvfbfmin extensionWeiwei Li1-0/+22
2023-05-26decode_macros: move 'is_aligned' from 'v_ext_macros.h'Gianluca Guida1-5/+0
2023-04-19Partially revert #1326Andrew Waterman1-2/+2
Apparently GCC still wants the UNUSED. Not sure why CI didn't catch this initially.
2023-04-19Merge pull request #1326 from riscv-software-src/fix-1325Andrew Waterman1-12/+18
Avoid declaring potentially out-of-bounds references in vmfeq etc.
2023-04-19Avoid declaring potentially out-of-bounds references in vmfeq etc.Andrew Waterman1-12/+18
I don't think this was actually broken, since the references weren't used, but it was certainly unsanitary. Fixes #1325
2023-04-15Rename parameters for VI_VFP_NCVT* macros to be consistent with theWeiwei Li1-13/+13
comments in vfncvt*.h
2023-04-15Remove unused parameter for macro in v_ext_macro.hWeiwei Li1-8/+8
2022-12-12Pull vector unit into separate source/headerJerry Zhao1-0/+2
2022-11-21v_ext_macros: Drop index from `VI_ELEMENT_SKIP` (#1151)Dylan Reid1-9/+9
If a variable other than `i` is passed as `inx`, `VI_LOOP_ELEMENT_SKIP` will still check `i` in the `else` case, ignoring `inx`. Since `i` is the only value ever passed, drop the argument to avoid any future confusion. Signed-off-by: Dylan Reid <dgreid@rivosinc.com> Signed-off-by: Dylan Reid <dgreid@rivosinc.com>
2022-10-25Change remaining vector FP16 instructions to require ZvfhAndrew Waterman1-3/+3
...as opposed to Zfh.
2022-10-19Template-ize storesAndrew Waterman1-7/+7
2022-10-19Template-ize loadsAndrew Waterman1-8/+8
2022-10-19Template-ize AMOsAndrew Waterman1-2/+2
2022-10-04Suppress or fix unused-variable warnings in vector macrosAndrew Waterman1-36/+35
2022-10-04Suppress most unused variable warningsAndrew Waterman1-2/+2
2022-09-08Remove redundant require_vm in macro VI_VV_LOOP_WITH_CARRYWeiwei Li1-2/+0
and VI_XI_LOOP_WITH_CARRY: require_vm is also included in VI_CHECK_SSS
2022-09-08Remove unnecessary argument alu(always false) from macroWeiwei Li1-2/+2
require_vector_novtype
2022-09-08Remove redundant require_vector in macro VI_MERGE_LOOP_BASEWeiwei Li1-1/+0
require_vector is also included in VI_GENERAL_LOOP_BASE
2022-08-11Remove dead code in VI_VV_EXT macro (#1065)ksco1-3/+0
2022-08-10Fix code indentation in processor.cc, interactive.cc, debug_module.h/ccWeiwei Li1-1/+1
execute.cc, entropy_source.h and v_ext_macros.h
2022-08-04Modify F/D/Zfh instructions to add support for Zfinx/Zdinx/Zhinx{min} ↵liweiwei1-4/+4
instructions change the extention check for F/D/Zfh instructions modify the F/D/Zfh instructions to read X regs when enable Zfinx Co-authored-by: wangmeng <shusheng8495@hotmail.com>
2022-07-07remove multi blank linesWeiwei Li1-4/+0
2022-05-11rvv: fix the checking eew and elen for index loadChih-Min Chao1-0/+1
eew of index register can't be larger than elen ex: elen = 32, vloxei64.v is illegal Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2022-05-05Factor out V extension macros into their own headerAndrew Waterman1-0/+2075
No functional change.