Hello,
I've been working on an update for GNU CTF/BTF to properly encode SIMD
vectors with the appropriate CTF type kinds.
In working on this, I have found that while types with the vector_size
attribute applied will appropriately come out with DW_TAG_array_type
(0x01), the additional floating point types (__float128, __float80,
_Float32x, <...>, I assume also __ibm128) will result in a tag
DW_TAG_compile_unit (0x11). This strikes me as odd, because as I
understand, these types are enabled with the the vector scalar (VSX)
instruction set, and I would expect them to be classified as vectors.
I believe these types should probably be tagged with DW_TAG_array_type
with the AT_flag set with DW_AT_GNU_vector, as attribute-created vectors
are.
I am more than happy to write this patch myself to re-tag these types,
but I would very much appreciate any thoughts on this subject. I am
aware that this is a very obscure thing.
Bruce McCulloch
--
Dwarf-discuss mailing list
Dwarf-discuss@lists.dwarfstd.org
https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss