]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
crypto: crc32-pclmul - Use gas macro for pclmulqdq
authorSandy Wu <sandyw@twitter.com>
Fri, 29 Mar 2013 00:05:44 +0000 (17:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2013 03:08:20 +0000 (20:08 -0700)
commit 57ae1b0532977b30184aaba04b6cafe0a284c21f upstream.

Occurs when CONFIG_CRYPTO_CRC32C_INTEL=y and CONFIG_CRYPTO_CRC32C_INTEL=y.
Older versions of bintuils do not support the pclmulqdq instruction. The
PCLMULQDQ gas macro is used instead.

Signed-off-by: Sandy Wu <sandyw@twitter.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/crypto/crc32c-pcl-intel-asm_64.S

index 93c6d39237ac3753c1f1e7600351192715829a90..b0f7d3937ebbc86d73f3b54df0224a9177281f83 100644 (file)
@@ -42,6 +42,8 @@
  * SOFTWARE.
  */
 
+#include <asm/inst.h>
+
 ## ISCSI CRC 32 Implementation with crc32 and pclmulqdq Instruction
 
 .macro LABEL prefix n
@@ -224,10 +226,10 @@ LABEL crc_ %i
        movdqa  (bufp), %xmm0                   # 2 consts: K1:K2
 
        movq    crc_init, %xmm1                 # CRC for block 1
-       pclmulqdq $0x00,%xmm0,%xmm1             # Multiply by K2
+       PCLMULQDQ 0x00,%xmm0,%xmm1              # Multiply by K2
 
        movq    crc1, %xmm2                     # CRC for block 2
-       pclmulqdq $0x10, %xmm0, %xmm2           # Multiply by K1
+       PCLMULQDQ 0x10, %xmm0, %xmm2            # Multiply by K1
 
        pxor    %xmm2,%xmm1
        movq    %xmm1, %rax