Re: [PATCH V3 3/5] raid6: riscv: Prevent compiler with vector support to build already vectorized code

Chunyan Zhang <[email protected]>
Newsgroups gmane.linux.ports.riscv,gmane.linux.raid,gmane.linux.kernel
Message-ID <CAAfSe-uMCVGS6a0YLQxBrQAdYK16EOUPNM1t-7jPaoGgZzbs6g@mail.gmail.com>
Hi Paul,

On Tue, 25 Nov 2025 at 17:26, Paul Walmsley <[email protected]> wrote:
>
> Hi,
>
> On Fri, 18 Jul 2025, Chunyan Zhang wrote:
>
> > To avoid the inline assembly code to break what the compiler could have
> > vectorized, this code must be built without compiler support for vector.
> >
> > Signed-off-by: Chunyan Zhang <[email protected]>
>
> This one has been queued with a somewhat modified commit message to
> reflect what I thought the intention is.  But I might be wrong.  Can you
> check it, please?
>
> thanks,
>
>
> - Paul
>
> From: Chunyan Zhang <[email protected]>
> Date: Mon, 17 Nov 2025 21:19:24 -0700
>
> raid6: riscv: Prevent compiler from breaking inline vector assembly code
>
> To prevent the compiler from breaking the inline vector assembly code,
> this code must be built without compiler support for vector.

This is more clear and easier to understand.

Thanks for the review and rephrasing the commit message.

Chunyan

>
> Signed-off-by: Chunyan Zhang <[email protected]>
> Link: https://patch.msgid.link/[email protected]
> [[email protected]: cleaned up commit message]
> Signed-off-by: Paul Walmsley <[email protected]>
> ---
>  lib/raid6/rvv.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/lib/raid6/rvv.c b/lib/raid6/rvv.c
> index 89da5fc247aa..015f3ee4da25 100644
> --- a/lib/raid6/rvv.c
> +++ b/lib/raid6/rvv.c
> @@ -20,6 +20,10 @@ static int rvv_has_vector(void)
>         return has_vector();
>  }
>
> +#ifdef __riscv_vector
> +#error "This code must be built without compiler support for vector"
> +#endif
> +
>  static void raid6_rvv1_gen_syndrome_real(int disks, unsigned long bytes, void **ptrs)
>  {
>         u8 **dptr = (u8 **)ptrs;
> --
> 2.48.1
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.