Just a comment on the documentation:

Tamar Christina via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
> index 
> 9ec051e94e10cca9eec2773e1b8c01b74b6ea4db..60dc5b3ea6087c2824ad1467bc66e9cfebe9dcfc
>  100644
> --- a/gcc/doc/md.texi
> +++ b/gcc/doc/md.texi
> @@ -6325,12 +6325,12 @@ Perform a vector multiply and accumulate that is 
> semantically the same as
>  a multiply and accumulate of complex numbers.
>  
>  @smallexample
> -  complex TYPE c[N];
> -  complex TYPE a[N];
> -  complex TYPE b[N];
> +  complex TYPE op0[N];
> +  complex TYPE op1[N];
> +  complex TYPE op2[N];
>    for (int i = 0; i < N; i += 1)
>      @{
> -      c[i] += a[i] * b[i];
> +      op2[i] += op1[i] * op2[i];
>      @}

I think this should be:

  op0[i] = op1[i] * op2[i] + op3[i];

since operand 0 is the output and operand 3 is the accumulator input.

Same idea for the others.  For:

> @@ -6415,12 +6415,12 @@ Perform a vector multiply that is semantically the 
> same as multiply of
>  complex numbers.
>  
>  @smallexample
> -  complex TYPE c[N];
> -  complex TYPE a[N];
> -  complex TYPE b[N];
> +  complex TYPE op0[N];
> +  complex TYPE op1[N];
> +  complex TYPE op2[N];
>    for (int i = 0; i < N; i += 1)
>      @{
> -      c[i] = a[i] * b[i];
> +      op2[i] = op0[i] * op1[i];

…this I think it should be:

  op0[i] = op1[i] * op2[i];

Thanks,
Richard

Reply via email to