On 11/02/13 09:50, Jakub Jelinek wrote:
On Sat, Nov 02, 2013 at 08:25:28AM -0500, Aldy Hernandez wrote:
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?
Ah, I was reading just the grammar and it didn't look like the number was
optional.
Balaji has confirmed that a linear step of 1 is mangled as just 'l'. He
has also confirmed that icc mangles it this way.
I have committed the patch to the branch.
Aldy