[llvmlinux] aes_ctrby8_avx-x86_64.s -
Jan-Simon Moeller
dl9pf at gmx.de
Fri Dec 5 10:25:37 UTC 2014
Hi David,
Am Freitag, 5. Dezember 2014, 09:49:11 schrieb David Woodhouse:
> On Thu, 2014-12-04 at 19:14 +0100, Jan-Simon Moeller wrote:
> > - var_xdata = %xmm\n
> > + var_xdata = %xmm \n
>
> #define CONCAT(a,b) a##b
> #define XMM(i) CONCAT(%xmm, i)
> var_xdata = XMM(\n)
>
>
> So that's a fairly standard way of pasting two tokens together *without*
> any whitespace in between. And clang's preprocessor seems to get it
> wrong:
>
> $ cat foo.S
>
> #define CONCAT(a,b) a##b
> #define XMM(i) CONCAT(%xmm, i)
> var_xdata = XMM(\n)
>
>
> $ gcc -E foo.S
> # 1 "foo.S"
> # 1 "<built-in>"
> # 1 "<command-line>"
> # 1 "/usr/include/stdc-predef.h" 1 3 4
> # 1 "<command-line>" 2
> # 1 "foo.S"
>
>
>
> var_xdata = %xmm\n
>
>
> $ clang -E foo.S
> # 1 "foo.S"
> # 1 "<built-in>" 1
> # 1 "foo.S" 2
>
>
>
> var_xdata = %xmm \n
>
Ok, should I post a bugreport ?
>
> You can work around it by changing the definition of XMM() to:
> #define XMM(i) CONCAT(%xmm,i)
Ok, I had to read it twice to fine the missing space ...
I can do the workaround for now, but that is just to be able to move on.
Tnx.
More information about the LLVMLinux
mailing list