diff options
author | Huang Ying <ying.huang@intel.com> | 2010-03-13 03:28:42 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2010-03-13 03:28:42 -0500 |
commit | 32cbd7dfce93382a70f155bf539871b4c55bed29 (patch) | |
tree | 30ae215018df38e5f6b29eec73ad9a00d693ccc9 /arch/x86/crypto | |
parent | 18bcc9194da3c97e8f458fb1b06ac5b9b35fb23f (diff) |
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>
Diffstat (limited to 'arch/x86/crypto')
-rw-r--r-- | arch/x86/crypto/aesni-intel_asm.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/crypto/aesni-intel_asm.S b/arch/x86/crypto/aesni-intel_asm.S index 822846a9eba9..ff16756a51c1 100644 --- a/arch/x86/crypto/aesni-intel_asm.S +++ b/arch/x86/crypto/aesni-intel_asm.S | |||
@@ -749,8 +749,8 @@ _aesni_inc_init: | |||
749 | movaps IV, CTR | 749 | movaps IV, CTR |
750 | PSHUFB_XMM BSWAP_MASK CTR | 750 | PSHUFB_XMM BSWAP_MASK CTR |
751 | mov $1, TCTR_LOW | 751 | mov $1, TCTR_LOW |
752 | movq TCTR_LOW, INC | 752 | MOVQ_R64_XMM TCTR_LOW INC |
753 | movq CTR, TCTR_LOW | 753 | MOVQ_R64_XMM CTR TCTR_LOW |
754 | ret | 754 | ret |
755 | 755 | ||
756 | /* | 756 | /* |