qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 19/54] s390x/tcg: Implement VECTOR GALOIS FIELD M


From: Peter Maydell
Subject: Re: [Qemu-devel] [PULL 19/54] s390x/tcg: Implement VECTOR GALOIS FIELD MULTIPLY SUM (AND ACCUMULATE)
Date: Thu, 30 May 2019 12:22:54 +0100

On Mon, 20 May 2019 at 18:06, Cornelia Huck <address@hidden> wrote:
>
> From: David Hildenbrand <address@hidden>
>
> A galois field multiplication in field 2 is like binary multiplication,
> however instead of doing ordinary binary additions, xor's are performed.
> So no carries are considered.
>
> Implement all variants via helpers. s390_vec_sar() and s390_vec_shr()
> will be reused later on.
>
> Reviewed-by: Richard Henderson <address@hidden>
> Signed-off-by: David Hildenbrand <address@hidden>

Hi -- Coverity (CID 1401703) complains that a lot of this
function is dead code:

> +static S390Vector galois_multiply64(uint64_t a, uint64_t b)
> +{
> +    S390Vector res = {};
> +    S390Vector va = {
> +        .doubleword[1] = a,
> +    };
> +    S390Vector vb = {
> +        .doubleword[1] = b,
> +    };
> +
> +    while (!s390_vec_is_zero(&vb)) {
> +        if (vb.doubleword[1] & 0x1) {
> +            s390_vec_xor(&res, &res, &va);
> +        }
> +        s390_vec_shl(&va, &va, 1);
> +        s390_vec_shr(&vb, &vb, 1);
> +    }
> +    return res;
> +}

but I can't make any sense of its annotations or why it
thinks this is true. Would somebody like to have a look at the
issue? If it's just Coverity getting confused we can mark it
as a false positive.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]