[llvmlinux] aes_ctrby8_avx-x86_64.s -

David Woodhouse dwmw2 at infradead.org
Fri Dec 5 09:49:11 UTC 2014


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



You can work around it by changing the definition of XMM() to:
#define XMM(i)          CONCAT(%xmm,i)

But that should be a purely cosmetic change.

-- 
dwmw2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5745 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20141205/af875360/attachment.bin>


More information about the LLVMLinux mailing list