提交 4c78bc05 编写于 作者: A Andy Polyakov

Make SPARC assembler Pirify-friendly (Purify can't cope with certain

PIC constructs).
上级 ef8e7728
...@@ -522,10 +522,10 @@ AES_encrypt: ...@@ -522,10 +522,10 @@ AES_encrypt:
ld [%i0+8],%o2 ld [%i0+8],%o2
ld [%i0+12],%o3 ld [%i0+12],%o3
mov %i2,%o5 1: call .+8
nop
1: call _sparcv9_AES_encrypt
sub %o7,1b-AES_Te,%o4 sub %o7,1b-AES_Te,%o4
call _sparcv9_AES_encrypt
mov %i2,%o5
st %o0,[%i1+0] st %o0,[%i1+0]
st %o1,[%i1+4] st %o1,[%i1+4]
...@@ -582,10 +582,10 @@ AES_encrypt: ...@@ -582,10 +582,10 @@ AES_encrypt:
or %l7,%l6,%l6 or %l7,%l6,%l6
or %l4,%l6,%o3 or %l4,%l6,%o3
mov %i2,%o5 1: call .+8
nop
1: call _sparcv9_AES_encrypt
sub %o7,1b-AES_Te,%o4 sub %o7,1b-AES_Te,%o4
call _sparcv9_AES_encrypt
mov %i2,%o5
srl %o0,24,%l0 srl %o0,24,%l0
srl %o0,16,%l1 srl %o0,16,%l1
...@@ -1068,10 +1068,10 @@ AES_decrypt: ...@@ -1068,10 +1068,10 @@ AES_decrypt:
ld [%i0+8],%o2 ld [%i0+8],%o2
ld [%i0+12],%o3 ld [%i0+12],%o3
mov %i2,%o5 1: call .+8
nop
1: call _sparcv9_AES_decrypt
sub %o7,1b-AES_Td,%o4 sub %o7,1b-AES_Td,%o4
call _sparcv9_AES_decrypt
mov %i2,%o5
st %o0,[%i1+0] st %o0,[%i1+0]
st %o1,[%i1+4] st %o1,[%i1+4]
...@@ -1128,10 +1128,10 @@ AES_decrypt: ...@@ -1128,10 +1128,10 @@ AES_decrypt:
or %l7,%l6,%l6 or %l7,%l6,%l6
or %l4,%l6,%o3 or %l4,%l6,%o3
mov %i2,%o5 1: call .+8
nop
1: call _sparcv9_AES_decrypt
sub %o7,1b-AES_Td,%o4 sub %o7,1b-AES_Td,%o4
call _sparcv9_AES_decrypt
mov %i2,%o5
srl %o0,24,%l0 srl %o0,24,%l0
srl %o0,16,%l1 srl %o0,16,%l1
......
...@@ -1180,8 +1180,11 @@ DES_encrypt1: ...@@ -1180,8 +1180,11 @@ DES_encrypt1:
save %sp, FRAME, %sp save %sp, FRAME, %sp
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
ld [in0], in5 ! left ld [in0], in5 ! left
cmp in2, 0 ! enc cmp in2, 0 ! enc
...@@ -1238,8 +1241,11 @@ DES_encrypt2: ...@@ -1238,8 +1241,11 @@ DES_encrypt2:
save %sp, FRAME, %sp save %sp, FRAME, %sp
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
! Set sbox address 1 to 6 and rotate halfs 3 left ! Set sbox address 1 to 6 and rotate halfs 3 left
! Errors caught by destest? Yes. Still? *NO* ! Errors caught by destest? Yes. Still? *NO*
...@@ -1353,8 +1359,11 @@ DES_encrypt3: ...@@ -1353,8 +1359,11 @@ DES_encrypt3:
save %sp, FRAME, %sp save %sp, FRAME, %sp
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
ld [in0], in5 ! left ld [in0], in5 ! left
add in2, 120, in4 ! ks2 add in2, 120, in4 ! ks2
...@@ -1395,8 +1404,11 @@ DES_decrypt3: ...@@ -1395,8 +1404,11 @@ DES_decrypt3:
save %sp, FRAME, %sp save %sp, FRAME, %sp
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
ld [in0], in5 ! left ld [in0], in5 ! left
add in3, 120, in4 ! ks3 add in3, 120, in4 ! ks3
...@@ -1425,19 +1437,6 @@ DES_decrypt3: ...@@ -1425,19 +1437,6 @@ DES_decrypt3:
.DES_decrypt3.end: .DES_decrypt3.end:
.size DES_decrypt3,.DES_decrypt3.end-DES_decrypt3 .size DES_decrypt3,.DES_decrypt3.end-DES_decrypt3
! input: out0 offset between .PIC.me.up and caller
! output: out0 pointer to .PIC.me.up
! out2 pointer to .des_and
! global1 pointer to DES_SPtrans
.align 32
.PIC.me.up:
add out0,%o7,out0 ! pointer to .PIC.me.up
sethi %hi(.des_and-.PIC.me.up),out2
or out2,%lo(.des_and-.PIC.me.up),out2
add out0,out2,out2
retl
add out2,.PIC.DES_SPtrans-.des_and,global1
! void DES_ncbc_encrypt(input, output, length, schedule, ivec, enc) ! void DES_ncbc_encrypt(input, output, length, schedule, ivec, enc)
! ***************************************************************** ! *****************************************************************
...@@ -1454,8 +1453,11 @@ DES_ncbc_encrypt: ...@@ -1454,8 +1453,11 @@ DES_ncbc_encrypt:
define({OUTPUT}, { [%sp+BIAS+ARG0+1*ARGSZ] }) define({OUTPUT}, { [%sp+BIAS+ARG0+1*ARGSZ] })
define({IVEC}, { [%sp+BIAS+ARG0+4*ARGSZ] }) define({IVEC}, { [%sp+BIAS+ARG0+4*ARGSZ] })
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
cmp in5, 0 ! enc cmp in5, 0 ! enc
...@@ -1676,8 +1678,11 @@ DES_ede3_cbc_encrypt: ...@@ -1676,8 +1678,11 @@ DES_ede3_cbc_encrypt:
define({KS2}, { [%sp+BIAS+ARG0+4*ARGSZ] }) define({KS2}, { [%sp+BIAS+ARG0+4*ARGSZ] })
define({KS3}, { [%sp+BIAS+ARG0+5*ARGSZ] }) define({KS3}, { [%sp+BIAS+ARG0+5*ARGSZ] })
call .PIC.me.up sethi %hi(.PIC.DES_SPtrans-1f),global1
mov .PIC.me.up-(.-4),out0 or global1,%lo(.PIC.DES_SPtrans-1f),global1
1: call .+8
add %o7,global1,global1
sub global1,.PIC.DES_SPtrans-.des_and,out2
LDPTR [%fp+BIAS+ARG0+7*ARGSZ], local3 ! enc LDPTR [%fp+BIAS+ARG0+7*ARGSZ], local3 ! enc
LDPTR [%fp+BIAS+ARG0+6*ARGSZ], local4 ! ivec LDPTR [%fp+BIAS+ARG0+6*ARGSZ], local4 ! ivec
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册