Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vector type mangling (as discussed on the IA-64 reflector in 2009) #41

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MikeHerrick
Copy link
Contributor

@MikeHerrick MikeHerrick commented Nov 4, 2017

This adds Dv<number>_<type> mangling for vector types (as discussed on the old IA-64 ABI reflector in November 2009).

@zygoloid
Copy link
Contributor

zygoloid commented Nov 5, 2017

If a vendor supports multiple flavours of vector type at once, which type should receive this mangling? Clang currently uses the Dv mangling for attribute(vector_size), attribute(ext_vector_type), and AltiVec vectors (spelled with the vector or __vector keyword), but has a different mangling for ARM NEON vectors. The reuse of Dv for multiple distinct kinds of vector can lead to mangling collisions in Clang currently.

@khuey
Copy link

khuey commented Dec 2, 2021

It would nice if this were made official at some point. libiberty supports different syntax than LLVM (for dimension expressions it does Dv_<expression> rather than Dv<expression>) but as far as I can tell gcc doesn't actually emit vector types with dimension expressions yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants