[PATCH 1/1] riscv: Optimize user copy with efficient unaligned access support
Andrew Jones
andrew.jones at oss.qualcomm.com
Mon Feb 9 09:53:37 PST 2026
On Tue, Dec 02, 2025 at 03:41:21PM +0800, maohan4761 at gmail.com wrote:
...
> +.L_len_less_16x_szreg:
> + # Pre-check: ensure at least one register copy is possible
ensure at least four register copies are possible
> + addi t1, a0, 4*SZREG
> + bgtu t1, t0, .L_len_less_4x_szreg
> +
> +.L_loop_4x_reg:
> + fixup REG_L a4, 0(a1), 10f
> + fixup REG_L a5, SZREG(a1), 10f
> + fixup REG_L a6, 2*SZREG(a1), 10f
> + fixup REG_L a7, 3*SZREG(a1), 10f
> + fixup REG_S a4, 0(a0), 10f
> + fixup REG_S a5, SZREG(a0), 10f
> + fixup REG_S a6, 2*SZREG(a0), 10f
> + fixup REG_S a7, 3*SZREG(a0), 10f
> + addi a1, a1, 4*SZREG
> + addi a0, a0, 4*SZREG
> +
> + # Check if another register copy is safe
Check if another four register copies are safe
> + addi t1, a0, 4*SZREG
> + bleu t1, t0, .L_loop_4x_reg
> +
Thanks,
drew
More information about the linux-riscv
mailing list