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

Reply via email to