This is the mail archive of the
mailing list for the GCC project.
Re: [RFC, VECTOR ABI] Allow __attribute__((vector)) in GCC by default.
- From: Jeff Law <law at redhat dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: Kirill Yukhin <kirill dot yukhin at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>, gcc at gcc dot gnu dot org, libc-alpha at sourceware dot org
- Date: Wed, 7 Oct 2015 11:37:51 -0600
- Subject: Re: [RFC, VECTOR ABI] Allow __attribute__((vector)) in GCC by default.
- Authentication-results: sourceware.org; auth=none
- References: <20151005130733 dot GB62312 at msticlxl57 dot ims dot intel dot com> <alpine dot DEB dot 2 dot 10 dot 1510051320120 dot 16355 at digraph dot polyomino dot org dot uk> <561551B0 dot 70507 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1510071719530 dot 29388 at digraph dot polyomino dot org dot uk>
On 10/07/2015 11:22 AM, Joseph Myers wrote:
On Wed, 7 Oct 2015, Jeff Law wrote:
I'm not sure why this attribute isn't documented, but clearly that should be
I assume the reasoning was: we document support for Cilk+ (and what's
included in Cilk+ is externally documented). When it becomes a generic
GNU C attribute, that reasoning no longer applies.
Seems reasonable. I had a suspicion it was something of this nature.
Also seems reasonable. Thanks for clarifying the longer term
implications you're concerned about.
I thought the ABI for this stuff was consistent across the implementations
(that was certainly the goal). So aside from an example of how to use the
attribute to get calls into the vector math library, I'm not sure what's
needed. Essentially the attribute is just another way to ensure we exploit
the vector library when possible.
Well, the ABI should at least say that the attribute has the same
implications as the pragma regarding what vector function versions are
available. (So that a future compiler building with -mavx1024 won't
interpret old glibc headers as meaning that AVX1024 function versions are
available in old glibc - that will instead require a further attribute /
pragma to declare availability of those versions.)