Hi! On Sun, Aug 08, 2021 at 11:53:38AM -0500, Bill Schmidt wrote: > On 8/6/21 7:01 PM, Segher Boessenkool wrote: > >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. > > Yes, within each stanza, the ordering is alphabetical by built-in name. > It seems to me that any other ordering is arbitrary and prone to > requiring exceptions, so in the end you just end up with a mess where > nobody knows where to put the next builtin added. That's certainly what > happened with the old support.
Yeah, there is no great answer here :-( You have thought about it in any case, so let's see where this goes. > >>+ 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. > > Right now, long lines are there because the parser doesn't support > breaking up the line. I have an additional patch I put together > recently that allows the use of escape-newline to break up these lines. > I am planning to submit that once we get through the current patch set. Okido. What about the signed char though? > >>+ 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). > > > Sorry, I misdocumented this below. I'll review and make sure this is > correct everywhere. "const void" is meaningless, and maybe even invalid C. I think the code is wrong, not (just) the documentation! This wants to be void *const but it is const void * as far as I can see? As I said, this isn't new code, but it seems very wrong! Segher