Hi!

On Thu, Jul 29, 2021 at 08:30:50AM -0500, Bill Schmidt wrote:
> +  const vsc __builtin_altivec_abss_v16qi (vsc);
> +    ABSS_V16QI altivec_abss_v16qi {}
> +
> +  const vsi __builtin_altivec_abss_v4si (vsi);
> +    ABSS_V4SI altivec_abss_v4si {}
> +
> +  const vss __builtin_altivec_abss_v8hi (vss);
> +    ABSS_V8HI altivec_abss_v8hi {}

Is there any ordering used here?  What is it, then?  Just alphabetical?

That order does not really allow breaking things up into groups, which
is the main tool to keep things manageable.

> +  const vsc __builtin_vec_init_v16qi (signed char, signed char, signed char, 
> signed char, signed char, signed char, signed char, signed char, signed char, 
> signed char, signed char, signed char, signed char, signed char, signed char, 
> signed char);

That is a very long line, can you do something about that, or is that
forced by the file format?  Can you use just "char"?  "signed char" is a
very strange choice.

> +  pcvoid_type_node
> +    = build_pointer_type (build_qualified_type (void_type_node,
> +                                             TYPE_QUAL_CONST));

A const void?  Interesting.  You are building a pointer to a const void
here, not a const pointer to void.  Is that what you wanted?

(And yes I do realise this is just moved, not new code).

> --- a/gcc/config/rs6000/rs6000.h
> +++ b/gcc/config/rs6000/rs6000.h
> @@ -2460,6 +2460,7 @@ enum rs6000_builtin_type_index
>    RS6000_BTI_const_str,               /* pointer to const char * */
>    RS6000_BTI_vector_pair,     /* unsigned 256-bit types (vector pair).  */
>    RS6000_BTI_vector_quad,     /* unsigned 512-bit types (vector quad).  */
> +  RS6000_BTI_const_ptr_void,     /* const pointer to void */
>    RS6000_BTI_MAX
>  };

That is not what
  build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_CONST));
builds though?

Okay for trunk, but please look at those things, especially the pcvoid
one!  Thanks,


Segher

Reply via email to