This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH] Merging Cilk Plus into Trunk (Patch 1 of approximately 22)


Please see my answers below

>-----Original Message-----
>From: Richard Henderson [mailto:rth@redhat.com]
>Sent: Monday, September 10, 2012 12:38 PM
>To: Iyer, Balaji V
>Cc: Richard Guenther; gcc-patches@gcc.gnu.org; Gabriel Dos Reis; Aldy
>Hernandez (aldyh@redhat.com); Jeff Law
>Subject: Re: [PATCH] Merging Cilk Plus into Trunk (Patch 1 of approximately 22)
>
>On 09/10/2012 09:09 AM, Iyer, Balaji V wrote:
>>> >If that's the case, what's the point in defining an external ABI and
>>> >defining what
>>> >__attribute__((vector)) placed on a function declaration means?
>
>> When you have __attribute__((vector)) you are asking the compiler to
>> create a vector AND a scalar version of the function. The advantage is
>> that if the function is used, for example, in 2 loops where 1 can be
>> vectorized and another cannot, the vectorizable loop won't suffer
>> (i.e. suffer from being not-vectorized).
>
>
>On the other hand, if you insist on assuming a clone exists merely because a
>declaration bears an attribute, then you must address ALL of the problems with
>respect to defining a stable ABI in the face of different cpu revisions, different
>ISAs, and different vector lengths.

The function mangling handles several of the version inconsistencies you have mentioned. If the CPU revisions, vector lengths are not the same between the function declaration and the function, then the name of the function will be different and the linker should complain.


>
>I've not seen you address ANY of these problems, despite having the problem
>pointed out multiple times.
>
>
>r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]