Use a different arch feature indicator for clang

Clang doesn't currently understand the ".arch armv8-a+crypto" syntax and
instead requires the specification of ".arch_extension" to enable the
crypto functionality.

Change-Id: Ib7bab562055e7c7925a47030044479ec172d0a34
diff --git a/linux-aarch64/crypto/aes/aesv8-armx.S b/linux-aarch64/crypto/aes/aesv8-armx.S
index 0a4b1ac..e3d4666 100644
--- a/linux-aarch64/crypto/aes/aesv8-armx.S
+++ b/linux-aarch64/crypto/aes/aesv8-armx.S
@@ -2,7 +2,12 @@
 
 #if __ARM_MAX_ARCH__>=7
 .text
+#ifdef __clang__
+.arch	armv8-a
+.arch_extension	crypto
+#else
 .arch	armv8-a+crypto
+#endif
 .align	5
 rcon:
 .long	0x01,0x01,0x01,0x01
diff --git a/linux-aarch64/crypto/modes/ghashv8-armx.S b/linux-aarch64/crypto/modes/ghashv8-armx.S
index 1bfb263..2da617f 100644
--- a/linux-aarch64/crypto/modes/ghashv8-armx.S
+++ b/linux-aarch64/crypto/modes/ghashv8-armx.S
@@ -1,7 +1,12 @@
 #include "arm_arch.h"
 
 .text
+#ifdef __clang__
+.arch	armv8-a
+.arch_extension	crypto
+#else
 .arch	armv8-a+crypto
+#endif
 .global	gcm_init_v8
 .type	gcm_init_v8,%function
 .align	4
diff --git a/src/crypto/aes/asm/aesv8-armx.pl b/src/crypto/aes/asm/aesv8-armx.pl
index 1e93f86..2f0aaae 100644
--- a/src/crypto/aes/asm/aesv8-armx.pl
+++ b/src/crypto/aes/asm/aesv8-armx.pl
@@ -38,7 +38,15 @@
 #if __ARM_MAX_ARCH__>=7
 .text
 ___
-$code.=".arch	armv8-a+crypto\n"			if ($flavour =~ /64/);
+
+$code.=<<___	if ($flavour =~ /64/);
+#ifdef __clang__
+.arch	armv8-a
+.arch_extension	crypto
+#else
+.arch	armv8-a+crypto
+#endif
+___
 $code.=".arch	armv7-a\n.fpu	neon\n.code	32\n"	if ($flavour !~ /64/);
 		#^^^^^^ this is done to simplify adoption by not depending
 		#	on latest binutils.
diff --git a/src/crypto/modes/asm/ghashv8-armx.pl b/src/crypto/modes/asm/ghashv8-armx.pl
index 54a1ac4..40dca96 100644
--- a/src/crypto/modes/asm/ghashv8-armx.pl
+++ b/src/crypto/modes/asm/ghashv8-armx.pl
@@ -44,7 +44,14 @@
 
 .text
 ___
-$code.=".arch	armv8-a+crypto\n"	if ($flavour =~ /64/);
+$code.=<<___	if ($flavour =~ /64/);
+#ifdef __clang__
+.arch	armv8-a
+.arch_extension	crypto
+#else
+.arch	armv8-a+crypto
+#endif
+___
 $code.=".fpu	neon\n.code	32\n"	if ($flavour !~ /64/);
 
 $code.=<<___;