crypto: aesni-intel - Fix CTR optimization build failure with gas 2.16.1
authorHuang Ying <ying.huang@intel.com>
Sat, 13 Mar 2010 08:28:42 +0000 (16:28 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 13 Mar 2010 08:28:42 +0000 (16:28 +0800)
commit32cbd7dfce93382a70f155bf539871b4c55bed29
tree30ae215018df38e5f6b29eec73ad9a00d693ccc9
parent18bcc9194da3c97e8f458fb1b06ac5b9b35fb23f
crypto: aesni-intel - Fix CTR optimization build failure with gas 2.16.1

Andrew Morton reported that AES-NI CTR optimization failed to compile
with gas 2.16.1, the error message is as follow:

arch/x86/crypto/aesni-intel_asm.S: Assembler messages:
arch/x86/crypto/aesni-intel_asm.S:752: Error: suffix or operands invalid for `movq'
arch/x86/crypto/aesni-intel_asm.S:753: Error: suffix or operands invalid for `movq'

To fix this, a gas macro is defined to assemble movq with 64bit
general purpose registers and XMM registers. The macro will generate
the raw .byte sequence for needed instructions.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/aesni-intel_asm.S
arch/x86/include/asm/inst.h