2023-01-09 10:13:00

by Jan Beulich

[permalink] [raw]
Subject: Re: crypto: aria-avx - add AES-NI/AVX/x86_64/GFNI assembler implementation of aria cipher

Hello,

sadly I don't have the original thread to hand to reply, so this standalone
mail will need to do.

The documented GNU binutils baseline for the kernel (6.1) is 2.23, yet this
new drivers uses GFNI unconditionally. This breaks with any pre-2.30 gas.

Regards, Jan


2023-01-10 03:54:38

by Taehee Yoo

[permalink] [raw]
Subject: Re: crypto: aria-avx - add AES-NI/AVX/x86_64/GFNI assembler implementation of aria cipher

Hi Jan,
Thank you so much for the report!

On 2023. 1. 9. 오후 7:08, Jan Beulich wrote:
> Hello,
>
> sadly I don't have the original thread to hand to reply, so this
standalone
> mail will need to do.
>
> The documented GNU binutils baseline for the kernel (6.1) is 2.23,
yet this
> new drivers uses GFNI unconditionally. This breaks with any pre-2.30 gas.
>
> Regards, Jan

I tested to build with the binutils 2.26.1 and I found a failure as you
mentioned.

AS [M] arch/x86/crypto/aria-aesni-avx-asm_64.o
arch/x86/crypto/aria-aesni-avx-asm_64.S: Assembler messages:
arch/x86/crypto/aria-aesni-avx-asm_64.S:1101: Error: no such
instruction: `vgf2p8affineinvqb $((
(((0)&1)<<0)|(((1)&1)<<1)|(((0)&1)<<2)|(((0)&1)<<3)|(((0)&1)<<4)|(((1)&1)<<5)|(((1)&1)<<6)|(((1)&1)<<7))),%xmm0,%xmm9,%xmm9'
arch/x86/crypto/aria-aesni-avx-asm_64.S:1101: Error: no such
instruction: `vgf2p8affineinvqb $((
(((0)&1)<<0)|(((1)&1)<<1)|(((0)&1)<<2)|(((0)&1)<<3)|(((0)&1)<<4)|(((1)&1)<<5)|(((1)&1)<<6)|(((1)&1)<<7))),%xmm0,%xmm13,%xmm13'
arch/x86/crypto/aria-aesni-avx-asm_64.S:1101: Error: no such
instruction: `vgf2p8affineqb $((
(((1)&1)<<0)|(((0)&1)<<1)|(((1)&1)<<2)|(((0)&1)<<3)|(((0)&1)<<4)|(((0)&1)<<5)|(((0)&1)<<6)|(((0)&1)<<7))),%xmm1,%xmm10,%xmm10'
arch/x86/crypto/aria-aesni-avx-asm_64.S:1101: Error: no such
instruction: `vgf2p8affineqb $((
(((1)&1)<<0)|(((0)&1)<<1)|(((1)&1)<<2)|(((0)&1)<<3)|(((0)&1)<<4)|(((0)&1)<<5)|(((0)&1)<<6)|(((0)&1)<<7))),%xmm1,%xmm14,%xmm14'

My plan is to use AS_* macro such as AS_AVX512 to disable building code
that uses GFNI.
So, I may add AS_GFNI for this.

Thank you so much again for the report!
Taehee Yoo