diff options
author | Adam Langley <agl@chromium.org> | 2014-08-09 03:52:36 +0400 |
---|---|---|
committer | Adam Langley <agl@chromium.org> | 2014-08-09 03:52:36 +0400 |
commit | 2cd63877b5d663d1f19dca08b36de9746c044f9d (patch) | |
tree | ffb9cb5b8356432a747e57bc52ceff0acc7b3985 /crypto/modes | |
parent | 1e7f8d70ecf0fe365f936e1cfbd6966582984e1a (diff) |
Use unified ARM assembly.
Clang's integrated as accepts unified ARM syntax only. This change
updates the GHASH ARM asm to use that syntax and thus be compatible.
Patch from Nico Weber.
https://code.google.com/p/chromium/issues/detail?id=124610
Change-Id: Ie6f3de4e37286f0af39196fad33905f7dee7402e
Diffstat (limited to 'crypto/modes')
-rw-r--r-- | crypto/modes/asm/ghash-armv4.pl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl index a8d6b2e9..b3246410 100644 --- a/crypto/modes/asm/ghash-armv4.pl +++ b/crypto/modes/asm/ghash-armv4.pl @@ -124,6 +124,8 @@ $code=<<___; #if defined(__arm__) #include "arm_arch.h" +.syntax unified + .text .code 32 @@ -198,7 +200,7 @@ gcm_ghash_4bit: eor $Zlh,$Zlh,$Zhl,lsl#28 ldrh $Tll,[sp,$nlo] @ rem_4bit[rem] eor $Zhl,$Thl,$Zhl,lsr#4 - ldrplb $nlo,[$inp,$cnt] + ldrbpl $nlo,[$inp,$cnt] eor $Zhl,$Zhl,$Zhh,lsl#28 eor $Zhh,$Thh,$Zhh,lsr#4 @@ -208,7 +210,7 @@ gcm_ghash_4bit: add $nhi,$nhi,$nhi ldmia $Thh,{$Tll-$Thh} @ load Htbl[nhi] eor $Zll,$Tll,$Zll,lsr#4 - ldrplb $Tll,[$Xi,$cnt] + ldrbpl $Tll,[$Xi,$cnt] eor $Zll,$Zll,$Zlh,lsl#28 eor $Zlh,$Tlh,$Zlh,lsr#4 ldrh $Tlh,[sp,$nhi] @@ -226,7 +228,7 @@ gcm_ghash_4bit: add $inp,$inp,#16 mov $nhi,$Zll ___ - &Zsmash("cmp\t$inp,$len","ldrneb\t$nlo,[$inp,#15]"); + &Zsmash("cmp\t$inp,$len","ldrbne\t$nlo,[$inp,#15]"); $code.=<<___; bne .Louter @@ -285,7 +287,7 @@ gcm_gmult_4bit: eor $Zlh,$Zlh,$Zhl,lsl#28 ldrh $Tll,[$rem_4bit,$nlo] @ rem_4bit[rem] eor $Zhl,$Thl,$Zhl,lsr#4 - ldrplb $nlo,[$Xi,$cnt] + ldrbpl $nlo,[$Xi,$cnt] eor $Zhl,$Zhl,$Zhh,lsl#28 eor $Zhh,$Thh,$Zhh,lsr#4 |