-
-
Notifications
You must be signed in to change notification settings - Fork 112
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
graphene: fix alignment of graphene_simd4f_t on armhf and s390x #1105
base: master
Are you sure you want to change the base?
Conversation
On systems with the armhf ABI as used by Debian and Ubuntu (amdv7 + VFP, but without NEON), graphene falls back to the scalar definition of graphene_simd4f_t, which has the same alignment as its base type, float. On s390x, the underlying type is a generic float __attribute__((vector_size(16)). Surprinsingly, the s390x ABI does not mandate alignment bigger than 8 for the vector types. Without these patches, the layout tests fail on those architectures. The armhf case is notable because there are a fair number of Raspberry Pis out there that use that ABI, either because their SoC isn't 64-bit ready or just because they have low memory. Ideally, we could specifiy this in the Gir.toml file, but it doesn't seem like the tool is flexible enough to express this kind of nuances,
Based on #1107 there is also a problem on armel and i386 in addition. The main problem here is that See e.g. |
From that issue it sounds like |
Any updates here? |
Sorry, this fell off my radar entirely. I'll try to get back into it
this week.
|
@schopin-pro any updates on this one? |
Still on my todolist, still haven't found the time to work on it. Feel free
to close out the PR though, since the final implementation will likely be
different anyway :)
…On Fri, Oct 27, 2023 at 2:45 PM Bilal Elmoussaoui ***@***.***> wrote:
@schopin-pro <https://github.com/schopin-pro> any updates on this one?
—
Reply to this email directly, view it on GitHub
<#1105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUXZP7MOGRBWZY5SMDENHRDYBOUGNAVCNFSM6AAAAAAYQLWER2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSHA2TMMZWGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
On systems with the armhf ABI as used by Debian and Ubuntu (amdv7 + VFP, but without NEON), graphene falls back to the scalar definition of graphene_simd4f_t, which has the same alignment as its base type, float.
On s390x, the underlying type is a generic float
attribute((vector_size(16)). Surprinsingly, the s390x ABI does not mandate alignment bigger than 8 for the vector types.
Without these patches, the layout tests fail on those architectures. The armhf case is notable because there are a fair number of Raspberry Pis out there that use that ABI, either because their SoC isn't 64-bit ready or just because they have low memory.
Ideally, we could specifiy this in the Gir.toml file, but it doesn't seem like the tool is flexible enough to express this kind of nuances,