On Mon, Oct 12, 2020 at 01:15:39PM -0700, Carl Love wrote:
> This patch fixes an error in how the vec_rlnm() builtin parameters are
> handled.  The current test for this builtin are compile only.  The
> issue was found in the path that adds the 128-bit operands to the
> vec_rlnm() builtin.  The new test for the 128-bit operands is a compile
> and run test.

>       * config/rs6000/altivec.h (vec_rlnm): Fix bug in argument generation.

> diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h
> index 8a2dcda0144..f7720d136c9 100644
> --- a/gcc/config/rs6000/altivec.h
> +++ b/gcc/config/rs6000/altivec.h
> @@ -183,7 +183,7 @@
>  #define vec_recipdiv __builtin_vec_recipdiv
>  #define vec_rlmi __builtin_vec_rlmi
>  #define vec_vrlnm __builtin_vec_rlnm
> -#define vec_rlnm(a,b,c) (__builtin_vec_rlnm((a),((c)<<8)|(b)))
> +#define vec_rlnm(a,b,c) (__builtin_vec_rlnm((a),((b)<<8)|(c)))
>  #define vec_rsqrt __builtin_vec_rsqrt
>  #define vec_rsqrte __builtin_vec_rsqrte
>  #define vec_signed __builtin_vec_vsigned

That patch is fine of course, thanks!  Is there some testcase that trips
over the old definition?  That would have been good to have.


Segher

Reply via email to