[PATCH 14/18] rs6000: Debug support

Bill Schmidt wschmidt@linux.ibm.com
Tue Nov 9 15:06:11 GMT 2021


On 11/5/21 4:34 PM, Segher Boessenkool wrote:
> On Wed, Sep 01, 2021 at 11:13:50AM -0500, Bill Schmidt wrote:
>> 	* config/rs6000/rs6000-call.c (rs6000_debug_type): New function.
>> 	(def_builtin): Change debug formatting for easier parsing and
>> 	include more information.
>> 	(rs6000_init_builtins): Add dump of autogenerated builtins.
>> 	(altivec_init_builtins): Dump __builtin_altivec_mask_for_load for
>> 	completeness.
>
>> +{
>> +  if (type == void_type_node)
>> +    return "void";
>> +  else if (type == long_integer_type_node)
>> +    return "long";
>> +  else if (type == long_unsigned_type_node)
>> +    return "ulong";
>> +  else if (type == long_long_integer_type_node)
>> +    return "longlong";
>> +  else if (type == long_long_unsigned_type_node)
>> +    return "ulonglong";
>> +  else if (type == bool_V2DI_type_node)
>> +    return "vbll";
>> +  else if (type == bool_V4SI_type_node)
>> +    return "vbi";
>> +  else if (type == bool_V8HI_type_node)
>> +    return "vbs";
>> +  else if (type == bool_V16QI_type_node)
>> +    return "vbc";
>> +  else if (type == bool_int_type_node)
>> +    return "bool";
>> +  else if (type == dfloat64_type_node)
>> +    return "_Decimal64";
>> +  else if (type == double_type_node)
>> +    return "double";
>> +  else if (type == intDI_type_node)
>> +    return "sll";
>> +  else if (type == intHI_type_node)
>> +    return "ss";
>> +  else if (type == ibm128_float_type_node)
>> +    return "__ibm128";
>> +  else if (type == opaque_V4SI_type_node)
>> +    return "opaque";
>> +  else if (POINTER_TYPE_P (type))
>> +    return "void*";
>> +  else if (type == intQI_type_node || type == char_type_node)
>> +    return "sc";
>> +  else if (type == dfloat32_type_node)
>> +    return "_Decimal32";
>> +  else if (type == float_type_node)
>> +    return "float";
>> +  else if (type == intSI_type_node || type == integer_type_node)
>> +    return "si";
>> +  else if (type == dfloat128_type_node)
>> +    return "_Decimal128";
>> +  else if (type == long_double_type_node)
>> +    return "longdouble";
>> +  else if (type == intTI_type_node)
>> +    return "sq";
>> +  else if (type == unsigned_intDI_type_node)
>> +    return "ull";
>> +  else if (type == unsigned_intHI_type_node)
>> +    return "us";
>> +  else if (type == unsigned_intQI_type_node)
>> +    return "uc";
>> +  else if (type == unsigned_intSI_type_node)
>> +    return "ui";
>> +  else if (type == unsigned_intTI_type_node)
>> +    return "uq";
>> +  else if (type == unsigned_V1TI_type_node)
>> +    return "vuq";
>> +  else if (type == unsigned_V2DI_type_node)
>> +    return "vull";
>> +  else if (type == unsigned_V4SI_type_node)
>> +    return "vui";
>> +  else if (type == unsigned_V8HI_type_node)
>> +    return "vus";
>> +  else if (type == unsigned_V16QI_type_node)
>> +    return "vuc";
>> +  else if (type == V16QI_type_node)
>> +    return "vsc";
>> +  else if (type == V1TI_type_node)
>> +    return "vsq";
>> +  else if (type == V2DF_type_node)
>> +    return "vd";
>> +  else if (type == V2DI_type_node)
>> +    return "vsll";
>> +  else if (type == V4SF_type_node)
>> +    return "vf";
>> +  else if (type == V4SI_type_node)
>> +    return "vsi";
>> +  else if (type == V8HI_type_node)
>> +    return "vss";
>> +  else if (type == pixel_V8HI_type_node)
>> +    return "vp";
>> +  else if (type == pcvoid_type_node)
>> +    return "voidc*";
>> +  else if (type == float128_type_node)
>> +    return "_Float128";
>> +  else if (type == vector_pair_type_node)
>> +    return "__vector_pair";
>> +  else if (type == vector_quad_type_node)
>> +    return "__vector_quad";
>> +  else
>> +    return "unknown";
>> +}
> Please use a switch statement for this.  You can call the variable
> "type_node" then as well, which would be a good idea.
>
Unfortunately you can't have a switch on a non-integer type, so I'm afraid
I'll have to leave this as is.  I'll make all the other suggested changes.
Thanks for the review!

Bill



More information about the Gcc-patches mailing list