diff options
-rwxr-xr-x | crypto/aes/asm/aesv8-armx.pl | 9 | ||||
-rw-r--r-- | crypto/armv4cpuid.pl | 1 | ||||
-rw-r--r-- | crypto/modes/asm/ghashv8-armx.pl | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index 9246dbb437..1782d5b414 100755 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl @@ -59,9 +59,12 @@ $code=<<___; .text ___ $code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/); -$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. +$code.=<<___ if ($flavour !~ /64/); +.arch armv7-a // don't confuse not-so-latest binutils with argv8 :-) +.fpu neon +.code 32 +#undef __thumb2__ +___ # Assembler mnemonics are an eclectic mix of 32- and 64-bit syntax, # NEON is mostly 32-bit mnemonics, integer - mostly 64. Goal is to diff --git a/crypto/armv4cpuid.pl b/crypto/armv4cpuid.pl index 33c893d0e4..f7d31a698a 100644 --- a/crypto/armv4cpuid.pl +++ b/crypto/armv4cpuid.pl @@ -27,6 +27,7 @@ $code.=<<___; .thumb #else .code 32 +#undef __thumb2__ #endif .align 5 diff --git a/crypto/modes/asm/ghashv8-armx.pl b/crypto/modes/asm/ghashv8-armx.pl index cb4537b221..dcd5f595d2 100644 --- a/crypto/modes/asm/ghashv8-armx.pl +++ b/crypto/modes/asm/ghashv8-armx.pl @@ -67,7 +67,11 @@ $code=<<___; .text ___ $code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/); -$code.=".fpu neon\n.code 32\n" if ($flavour !~ /64/); +$code.=<<___ if ($flavour !~ /64/); +.fpu neon +.code 32 +#undef __thumb2__ +___ ################################################################################ # void gcm_init_v8(u128 Htable[16],const u64 H[2]); |