[llvmlinux] aes_ctrby8_avx-x86_64.s -

Jan-Simon Moeller jsmoeller at linuxfoundation.org
Thu Dec 4 18:34:35 UTC 2014


for completeness - test with integrated-as  ;)   *boom*


build/kernel-clang> clang -Wp,-MD,arch/x86/crypto/.aes_ctrby8_avx-x86_64.o.d  
-nostdinc -isystem 
/home/dl9pf/llvmlinux/toolchain/clang/head/install/bin/../lib/clang/3.6.0/include 
-I/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/include -
Iarch/x86/include/generated  -
I/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include -Iinclude -
I/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/include/uapi -
Iarch/x86/include/generated/uapi -
I/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include/uapi -
Iinclude/generated/uapi -include 
/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include/linux/kconfig.h -
D__KERNEL__ -Qunused-arguments -D__ASSEMBLY__ -m64 -DCONFIG_X86_X32_ABI -
DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -
DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1   
-c -o arch/x86/crypto/aes_ctrby8_avx-x86_64.o 
/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_avx-
x86_64.S
<instantiation>:1:1: error: unknown directive
.altmacro
^
<instantiation>:28:2: note: while in macro instantiation
 club 0, by
 ^
<instantiation>:1:1: note: while in macro instantiation
do_aes 1, 1, 1
^
<instantiation>:24:2: note: while in macro instantiation
 do_aes_load 1, 1
 ^
/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_avx-
x86_64.S:528:2: note: while in macro instantiation
 do_aes_ctrmain 1
 ^
<instantiation>:7:1: error: unknown directive
.noaltmacro
^
<instantiation>:28:2: note: while in macro instantiation
 club 0, by
 ^
<instantiation>:1:1: note: while in macro instantiation
do_aes 1, 1, 1
^
<instantiation>:24:2: note: while in macro instantiation
 do_aes_load 1, 1
 ^
/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_avx-
x86_64.S:528:2: note: while in macro instantiation
 do_aes_ctrmain 1
 ^
<instantiation>:1:1: error: unknown directive
.altmacro
^
[... like 200 lines more ...]

Am Donnerstag, 4. Dezember 2014, 19:14:28 schrieb Jan-Simon Moeller:
> Hi all, David!
> 
> I looked into the broken avx/ni  compilation/assembly we see in
> aes_ctrby8_avx-x86_64.s
> 
> The only interesting difference I found comparing --save-temps
> is this:
> 
> 
> build/kernel-clang> diff -Napur GCC/aes_ctrby8_avx-x86_64.s
> CLANG/aes_ctrby8_avx-x86_64.s
> --- GCC/aes_ctrby8_avx-x86_64.s 2014-12-04 19:02:35.830283666 +0100
> +++ CLANG/aes_ctrby8_avx-x86_64.s       2014-12-04 18:55:28.551310990 +0100
> @@ -1,14 +1,14 @@
>  # 1
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_a
> vx- x86_64.S"
> -# 1 "<built-in>"
> -# 1 "<command-line>"
> +# 1 "<built-in>" 1
> +# 323 "<built-in>"
>  # 1
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include/linux/kconfig.h" 1
> 
> 
> 
>  # 1 "include/generated/autoconf.h" 1
>  # 5
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include/linux/kconfig.h" 2
> -# 1 "<command-line>" 2
> -# 1
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_a
> vx- x86_64.S"
> +# 324 "<built-in>" 2
> +# 1
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_a
> vx- x86_64.S" 2
>  # 65
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/arch/x86/crypto/aes_ctrby8_a
> vx- x86_64.S"
>  # 1
> "/home/dl9pf/llvmlinux/targets/x86_64/src/linux/include/linux/linkage.h" 1
> 
> @@ -354,7 +354,7 @@ ddq_add_8:
> 
> 
>  .macro setxdata n
> - var_xdata = %xmm\n
> + var_xdata = %xmm \n
>  .endm
> 
> 
> ###############################
> 
> so this seems to confuse gas ...
> 
> - var_xdata = %xmm\n
> + var_xdata = %xmm \n
> 
> 
> The test with that single line fixed works with plain as then.
> 
> Could the difference result from clang's expansion of the macros ?
> 
> 
> Best,
> Jan-Simon
> 
> 
> _______________________________________________
> LLVMLinux mailing list
> LLVMLinux at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux



More information about the LLVMLinux mailing list