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]

[gomp4] mangle linear step of 1 with just 'l'


Hi Jakub.

Your patch mangling negative linear steps caused a regression in simd-clones-2.c. Well, it already had a failure, but now it has two :).

The problem is that AFAIU, a linear step of 1, is mangled with just 'l', not 'l1'.

I am not completely sure of this, and was hoping Balaji could clear this up, but on page 7 of the Intel vector ABI document, the example for:

__declspec(vector(uniform(a), aligned(a:32), linear(k:1)))
extern float setArray(float *a, float x, int k)

...is mangled as _ZGVxN4ua32vl_setArray, and in the subsequent explanatory paragraph, the document specifically says:

	“l” indicates linear(k:1) – k is a linear variable whose stride is 1.

However, since the spec itself says nothing about a default linear stride 1, I don't know whether this is an oversight in the BNF grammar or a typo in the example. Balaji?

If a linear step of 1 is mangled as 'l' as the example suggests, then I'd like to commit the following patch.

Aldy

Attachment: curr
Description: Text document


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