On Tue, 16 Sep 2025 17:21:36 +0800, Chao Liu wrote:
Hi all,

Thanks Richard for the review. In patch v9:

- Simplify the implementation of gen_check_vext_elem_mask():
 remove the `mask` argument, compute the mask directly inside the function,
 and eliminate redundant code.

- Limit the bit width to 8 bits when loading the mask from memory.

- Remove the `vreg` argument in gen_ldst_vreg().

History of changes:

patch v8:
- Use the right TCGv type for each variable — for example, make mask_elem
 type TCGv_i64.
- Use tcg_gen_trunc_i64_ptr() to change TCGv types — don't use C-style
 casting.
- Use TCG_COND_TSTNE, not TCG_COND_NE in tcg_gen_brcond_i64() to represent:
 if (vext_elem_mask(v0, i) != 0)
 https://lore.kernel.org/qemu-devel/[email protected]/

patch v7:
- Standardize the subject line of patch 1 and remove the trailing period.
- Split into sub-functions to improve the patch's code readability and
 facilitate review.
- Use more faster TCG ops, use tcg_gen_andi_tl() instead of tcg_gen_rem_tl().
- Add a tested-by signature for patch 2, as Eric has already tested it.
 https://lore.kernel.org/qemu-devel/[email protected]/

patch v6:
- If a strided vector memory access instruction has non-zero vstart, check it through vlse/vsse helpers function.
- Adjust the tcg test Makefile.
 https://lore.kernel.org/qemu-devel/[email protected]/

Patch v5:
- Removed the redundant call to mark_vs_dirty(s) within the
 gen_ldst_stride_main_loop() function.
 https://lore.kernel.org/qemu-riscv/[email protected]/

Patch v4:
- Use ctz32() replace to for-loop
 https://lore.kernel.org/qemu-devel/[email protected]/

Patch v3:
- Fix the get_log2() function:
 https://lore.kernel.org/qemu-riscv/[email protected]/T/#t
- Add test for vlsseg8e32 instruction.
- Rebase on top of the latest master.

Patch v2:
- Split the TCG node emulation of the complex strided load/store operation into
 two separate functions to simplify the implementation:
 
https://lore.kernel.org/qemu-riscv/[email protected]/

Patch v1:
- Paolo submitted the initial version of the patch.
 
https://lore.kernel.org/qemu-devel/[email protected]/


Ping.

Does anyone have any further comments or revisions on this set of patches?
I have been using them in the production environment for a long time, and so 
far,
they have been working reliably.

Thanks,
Chao

Reply via email to