Commit 220d1e53 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

modes/asm/ghash-alpha.pl: update from HEAD.

PR: 3165
parent ca44f729
Loading
Loading
Loading
Loading
+23 −13
Original line number Diff line number Diff line
@@ -254,15 +254,6 @@ $code=<<___;

.text

.align	4
rem_4bit:
	.quad	0x0000<<48, 0x1C20<<48, 0x3840<<48, 0x2460<<48
	.quad	0x7080<<48, 0x6CA0<<48, 0x48C0<<48, 0x54E0<<48
	.quad	0xE100<<48, 0xFD20<<48, 0xD940<<48, 0xC560<<48
	.quad	0x9180<<48, 0x8DA0<<48, 0xA9C0<<48, 0xB5E0<<48
.ascii	"GHASH for Alpha, CRYPTOGAMS by <appro\@openssl.org>"
.align	4

.set	noat
.set	noreorder
.globl	gcm_gmult_4bit
@@ -275,8 +266,8 @@ gcm_gmult_4bit:
	ldq	$Xlo,8($Xi)
	ldq	$Xhi,0($Xi)

	br	$rem_4bit,.Lpic1
.Lpic1:	lda	$rem_4bit,.Lpic1-rem_4bit($rem_4bit)
	bsr	$t0,picmeup
	nop
___

	&loop();
@@ -350,8 +341,8 @@ gcm_ghash_4bit:
	ldq	$Xhi,0($Xi)
	ldq	$Xlo,8($Xi)

	br	$rem_4bit,.Lpic2
.Lpic2:	lda	$rem_4bit,.Lpic2-rem_4bit($rem_4bit)
	bsr	$t0,picmeup
	nop

.Louter:
	extql	$inhi,$inp,$inhi
@@ -443,6 +434,25 @@ $code.=<<___;
	lda	sp,32(sp)
	ret	(ra)
.end	gcm_ghash_4bit

.align	4
.ent	picmeup
picmeup:
	.frame	sp,0,$t0
	.prologue 0
	br	$rem_4bit,.Lpic
.Lpic:	lda	$rem_4bit,12($rem_4bit)
	ret	($t0)
.end	picmeup
	nop
rem_4bit:
	.long	0,0x0000<<16, 0,0x1C20<<16, 0,0x3840<<16, 0,0x2460<<16
	.long	0,0x7080<<16, 0,0x6CA0<<16, 0,0x48C0<<16, 0,0x54E0<<16
	.long	0,0xE100<<16, 0,0xFD20<<16, 0,0xD940<<16, 0,0xC560<<16
	.long	0,0x9180<<16, 0,0x8DA0<<16, 0,0xA9C0<<16, 0,0xB5E0<<16
.ascii	"GHASH for Alpha, CRYPTOGAMS by <appro\@openssl.org>"
.align	4

___
$output=shift and open STDOUT,">$output";
print $code;