Commit 572dcfff authored by Niels Möller's avatar Niels Möller

(_aes_crypt): Use symbolic names for the fucntion


Rev: src/nettle/sparc/aes.asm:1.13
parent c202db9b
......@@ -44,52 +44,48 @@ include(`asm.m4')
.global _aes_crypt
.type _aes_crypt,#function
.proc 020
define(ctx, %o5)
define(T, %o0)
define(length, %o4)
define(dst, %o3)
define(src, %o2)
save %sp, -136, %sp
mov %i2, %o4
mov %i0, %o5
mov %i1, %o0
mov %i3, %o3
cmp %o4, 0
! Why this moving around of the input parameters?
mov %i2, length
mov %i0, ctx
mov %i1, T
mov %i3, dst
cmp length, 0
be .LL41
mov %i4, %o2
mov %i4, src
add %fp, -24, %l1
mov %l1, %l2
mov 0, %i3
sll %i3, 2, %i2
add %i2, %o2, %i0
add %i2, src, %i0
ldub [%i0+3], %g2
add %i3, 1, %i3
ldub [%i0+2], %g3
sll %g2, 24, %g2
ldub [%i0+1], %i1
sll %g3, 16, %g3
or %g2, %g3, %g2
ldub [%o2+%i2], %i0
ldub [src+%i2], %i0
sll %i1, 8, %i1
ld [%o5+%i2], %g3
ld [ctx+%i2], %g3
or %g2, %i1, %g2
or %g2, %i0, %g2
xor %g2, %g3, %g2
cmp %i3, 3
bleu .LL17
st %g2, [%l2+%i2]
ld [%o5+240], %g2
ld [ctx+240], %g2
mov 1, %g1
cmp %g1, %g2
bgeu,a .LL47
......@@ -98,13 +94,10 @@ _aes_crypt:
mov %g2, %o7
mov %o1, %l0
mov %l1, %g4
mov 0, %i5
add %o0, 288, %i4
add T, 288, %i4
ld [%i4-32], %g3
sll %i5, 2, %i3
sll %g3, 2, %g3
......@@ -121,122 +114,93 @@ _aes_crypt:
ldub [%g4+%g2], %i2
sll %i0, 2, %i0
add %i0, 304, %i0
ld [%o0+%i0], %g2
ld [T+%i0], %g2
add %i1, 1328, %i1
and %g3, 255, %g3
ld [%o0+%i1], %i0
ld [T+%i1], %i0
sll %g3, 2, %g3
add %g3, 2352, %g3
ld [%o0+%g3], %i1
ld [T+%g3], %i1
sll %i2, 2, %i2
add %i2, 3376, %i2
ld [%o0+%i2], %g3
ld [T+%i2], %g3
xor %g2, %i0, %g2
xor %g2, %i1, %g2
add %i5, 1, %i5
xor %g2, %g3, %g2
st %g2, [%l0+%i3]
cmp %i5, 3
bleu .LL26
add %i4, 4, %i4
sll %g1, 4, %g2
add %g2, %o5, %i1
add %g2, ctx, %i1
mov 0, %i5
mov %l1, %i3
mov %o1, %i2
sll %i5, 2, %g2
ld [%i1], %i0
add %i5, 1, %i5
ld [%i2+%g2], %g3
cmp %i5, 3
xor %g3, %i0, %g3
st %g3, [%i3+%g2]
bleu .LL31
add %i1, 4, %i1
add %g1, 1, %g1
cmp %g1, %o7
blu .LL48
mov 0, %i5
sll %g1, 4, %g2
add %g2, %o5, %o7
add %g2, ctx, %o7
mov 0, %o1
mov %l1, %g1
add %o0, 288, %g4
add T, 288, %g4
ld [%g4-32], %g2
sll %o1, 2, %i5
sll %g2, 2, %g2
add %g1, %g2, %g2
ldub [%g2+2], %i3
add %i5, %o3, %i4
add %i5, dst, %i4
ld [%g4-16], %g3
add %o1, 1, %o1
ld [%g1+%i5], %g2
sll %g3, 2, %g3
lduh [%g1+%g3], %i2
and %g2, 255, %g2
ld [%g4], %i0
and %i2, 255, %i2
ldub [%o0+%i3], %i1
ldub [T+%i3], %i1
sll %i0, 2, %i0
ldub [%o0+%g2], %g3
ldub [T+%g2], %g3
sll %i1, 8, %i1
ldub [%g1+%i0], %i3
or %g3, %i1, %g3
ldub [%o0+%i2], %g2
ldub [T+%i2], %g2
cmp %o1, 3
ldub [%o0+%i3], %i0
ldub [T+%i3], %i0
sll %g2, 16, %g2
or %g3, %g2, %g3
ld [%o7], %g2
sll %i0, 24, %i0
or %g3, %i0, %g3
xor %g3, %g2, %g3
srl %g3, 24, %i0
srl %g3, 16, %i1
srl %g3, 8, %g2
stb %g2, [%i4+1]
stb %i0, [%i4+3]
stb %i1, [%i4+2]
stb %g3, [%o3+%i5]
stb %g3, [dst+%i5]
add %o7, 4, %o7
bleu .LL37
add %g4, 4, %g4
add %o3, 16, %o3
addcc %o4, -16, %o4
add dst, 16, dst
addcc length, -16, length
bne .LL13
add %o2, 16, %o2
add src, 16, src
......@@ -656,7 +620,6 @@ _aes_crypt:
! call __assert_fail, 0
! mov 92, %o2
! .Lencrypt_end:
! .LLBE5:
! ret
! restore
! .LLFE4:
......@@ -697,7 +660,6 @@ _aes_crypt:
! save %sp, -136, %sp
! .LLCFI1:
! .LLBB6:
! andcc %i1, 15, %g0
! bne .LL111
! cmp %i1, 0
......@@ -856,7 +818,6 @@ _aes_crypt:
! call __assert_fail, 0
! mov 142, %o2
! .LL106:
! .LLBE6:
! ret
! restore
! .LLFE5:
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment