diff options
Diffstat (limited to '')
| -rwxr-xr-x | src/lib/libcrypto/aes/asm/aes-sparcv9.pl | 61 | ||||
| -rw-r--r-- | src/lib/libcrypto/arch/sparc64/Makefile.inc | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/bn/asm/sparcv9-mont.pl | 2 | ||||
| -rwxr-xr-x | src/lib/libcrypto/bn/asm/sparcv9a-mont.pl | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/modes/asm/ghash-sparcv9.pl | 35 | ||||
| -rw-r--r-- | src/lib/libcrypto/sha/asm/sha1-sparcv9.pl | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl | 17 | ||||
| -rw-r--r-- | src/lib/libcrypto/sha/asm/sha512-sparcv9.pl | 20 | 
8 files changed, 104 insertions, 39 deletions
| diff --git a/src/lib/libcrypto/aes/asm/aes-sparcv9.pl b/src/lib/libcrypto/aes/asm/aes-sparcv9.pl index 403c4d1290..08ac9830f1 100755 --- a/src/lib/libcrypto/aes/asm/aes-sparcv9.pl +++ b/src/lib/libcrypto/aes/asm/aes-sparcv9.pl | |||
| @@ -79,7 +79,7 @@ $code.=<<___ if ($bits==64); | |||
| 79 | .register %g3,#scratch | 79 | .register %g3,#scratch | 
| 80 | ___ | 80 | ___ | 
| 81 | $code.=<<___; | 81 | $code.=<<___; | 
| 82 | .section ".text",#alloc,#execinstr | 82 | .section ".rodata",#alloc | 
| 83 | 83 | ||
| 84 | .align 256 | 84 | .align 256 | 
| 85 | AES_Te: | 85 | AES_Te: | 
| @@ -185,6 +185,7 @@ $code.=<<___; | |||
| 185 | .type AES_Te,#object | 185 | .type AES_Te,#object | 
| 186 | .size AES_Te,(.-AES_Te) | 186 | .size AES_Te,(.-AES_Te) | 
| 187 | 187 | ||
| 188 | .section ".text",#alloc,#execinstr | ||
| 188 | .align 64 | 189 | .align 64 | 
| 189 | .skip 16 | 190 | .skip 16 | 
| 190 | _sparcv9_AES_encrypt: | 191 | _sparcv9_AES_encrypt: | 
| @@ -512,18 +513,30 @@ _sparcv9_AES_encrypt: | |||
| 512 | .align 32 | 513 | .align 32 | 
| 513 | .globl AES_encrypt | 514 | .globl AES_encrypt | 
| 514 | AES_encrypt: | 515 | AES_encrypt: | 
| 515 | or %o0,%o1,%g1 | 516 | save %sp,-$frame,%sp | 
| 517 | #ifdef __PIC__ | ||
| 518 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o5 | ||
| 519 | rd %pc, %o4 | ||
| 520 | or %o5, %lo(_GLOBAL_OFFSET_TABLE_+4), %o5 | ||
| 521 | add %o5, %o4, %o5 | ||
| 522 | #endif | ||
| 523 | |||
| 524 | or %i0,%i1,%g1 | ||
| 516 | andcc %g1,3,%g0 | 525 | andcc %g1,3,%g0 | 
| 517 | bnz,pn %xcc,.Lunaligned_enc | 526 | bnz,pn %xcc,.Lunaligned_enc | 
| 518 | save %sp,-$frame,%sp | 527 | nop | 
| 519 | 528 | ||
| 520 | ld [%i0+0],%o0 | 529 | ld [%i0+0],%o0 | 
| 521 | ld [%i0+4],%o1 | 530 | ld [%i0+4],%o1 | 
| 522 | ld [%i0+8],%o2 | 531 | ld [%i0+8],%o2 | 
| 523 | ld [%i0+12],%o3 | 532 | ld [%i0+12],%o3 | 
| 524 | 533 | ||
| 525 | 1: call .+8 | 534 | #ifdef __PIC__ | 
| 526 | add %o7,AES_Te-1b,%o4 | 535 | set AES_Te, %o4 | 
| 536 | ldx [%o4+%o5], %o4 | ||
| 537 | #else | ||
| 538 | set AES_Te, %o4 | ||
| 539 | #endif | ||
| 527 | call _sparcv9_AES_encrypt | 540 | call _sparcv9_AES_encrypt | 
| 528 | mov %i2,%o5 | 541 | mov %i2,%o5 | 
| 529 | 542 | ||
| @@ -582,8 +595,12 @@ AES_encrypt: | |||
| 582 | or %l7,%l6,%l6 | 595 | or %l7,%l6,%l6 | 
| 583 | or %l4,%l6,%o3 | 596 | or %l4,%l6,%o3 | 
| 584 | 597 | ||
| 585 | 1: call .+8 | 598 | #ifdef __PIC__ | 
| 586 | add %o7,AES_Te-1b,%o4 | 599 | set AES_Te, %o4 | 
| 600 | ldx [%o4+%o5], %o4 | ||
| 601 | #else | ||
| 602 | set AES_Te, %o4 | ||
| 603 | #endif | ||
| 587 | call _sparcv9_AES_encrypt | 604 | call _sparcv9_AES_encrypt | 
| 588 | mov %i2,%o5 | 605 | mov %i2,%o5 | 
| 589 | 606 | ||
| @@ -627,6 +644,7 @@ AES_encrypt: | |||
| 627 | ___ | 644 | ___ | 
| 628 | 645 | ||
| 629 | $code.=<<___; | 646 | $code.=<<___; | 
| 647 | .section ".rodata",#alloc | ||
| 630 | .align 256 | 648 | .align 256 | 
| 631 | AES_Td: | 649 | AES_Td: | 
| 632 | ___ | 650 | ___ | 
| @@ -731,6 +749,7 @@ $code.=<<___; | |||
| 731 | .type AES_Td,#object | 749 | .type AES_Td,#object | 
| 732 | .size AES_Td,(.-AES_Td) | 750 | .size AES_Td,(.-AES_Td) | 
| 733 | 751 | ||
| 752 | .section ".text",#alloc,#execinstr | ||
| 734 | .align 64 | 753 | .align 64 | 
| 735 | .skip 16 | 754 | .skip 16 | 
| 736 | _sparcv9_AES_decrypt: | 755 | _sparcv9_AES_decrypt: | 
| @@ -1058,18 +1077,30 @@ _sparcv9_AES_decrypt: | |||
| 1058 | .align 32 | 1077 | .align 32 | 
| 1059 | .globl AES_decrypt | 1078 | .globl AES_decrypt | 
| 1060 | AES_decrypt: | 1079 | AES_decrypt: | 
| 1061 | or %o0,%o1,%g1 | 1080 | save %sp,-$frame,%sp | 
| 1081 | #ifdef __PIC__ | ||
| 1082 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o5 | ||
| 1083 | rd %pc, %o4 | ||
| 1084 | or %o5, %lo(_GLOBAL_OFFSET_TABLE_+4), %o5 | ||
| 1085 | add %o5, %o4, %o5 | ||
| 1086 | #endif | ||
| 1087 | |||
| 1088 | or %i0,%i1,%g1 | ||
| 1062 | andcc %g1,3,%g0 | 1089 | andcc %g1,3,%g0 | 
| 1063 | bnz,pn %xcc,.Lunaligned_dec | 1090 | bnz,pn %xcc,.Lunaligned_dec | 
| 1064 | save %sp,-$frame,%sp | 1091 | nop | 
| 1065 | 1092 | ||
| 1066 | ld [%i0+0],%o0 | 1093 | ld [%i0+0],%o0 | 
| 1067 | ld [%i0+4],%o1 | 1094 | ld [%i0+4],%o1 | 
| 1068 | ld [%i0+8],%o2 | 1095 | ld [%i0+8],%o2 | 
| 1069 | ld [%i0+12],%o3 | 1096 | ld [%i0+12],%o3 | 
| 1070 | 1097 | ||
| 1071 | 1: call .+8 | 1098 | #ifdef __PIC__ | 
| 1072 | add %o7,AES_Td-1b,%o4 | 1099 | set AES_Td, %o4 | 
| 1100 | ldx [%o4+%o5], %o4 | ||
| 1101 | #else | ||
| 1102 | set AES_Td, %o4 | ||
| 1103 | #endif | ||
| 1073 | call _sparcv9_AES_decrypt | 1104 | call _sparcv9_AES_decrypt | 
| 1074 | mov %i2,%o5 | 1105 | mov %i2,%o5 | 
| 1075 | 1106 | ||
| @@ -1128,8 +1159,12 @@ AES_decrypt: | |||
| 1128 | or %l7,%l6,%l6 | 1159 | or %l7,%l6,%l6 | 
| 1129 | or %l4,%l6,%o3 | 1160 | or %l4,%l6,%o3 | 
| 1130 | 1161 | ||
| 1131 | 1: call .+8 | 1162 | #ifdef __PIC__ | 
| 1132 | add %o7,AES_Td-1b,%o4 | 1163 | set AES_Td, %o4 | 
| 1164 | ldx [%o4+%o5], %o4 | ||
| 1165 | #else | ||
| 1166 | set AES_Td, %o4 | ||
| 1167 | #endif | ||
| 1133 | call _sparcv9_AES_decrypt | 1168 | call _sparcv9_AES_decrypt | 
| 1134 | mov %i2,%o5 | 1169 | mov %i2,%o5 | 
| 1135 | 1170 | ||
| diff --git a/src/lib/libcrypto/arch/sparc64/Makefile.inc b/src/lib/libcrypto/arch/sparc64/Makefile.inc index cb502b28a3..223c941f77 100644 --- a/src/lib/libcrypto/arch/sparc64/Makefile.inc +++ b/src/lib/libcrypto/arch/sparc64/Makefile.inc | |||
| @@ -1,9 +1,7 @@ | |||
| 1 | # $OpenBSD: Makefile.inc,v 1.5 2023/01/11 16:36:44 deraadt Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.6 2023/01/13 17:27:26 miod Exp $ | 
| 2 | 2 | ||
| 3 | # sparc64-specific libcrypto build rules | 3 | # sparc64-specific libcrypto build rules | 
| 4 | 4 | ||
| 5 | LDADD+= -Wl,--no-execute-only | ||
| 6 | |||
| 7 | # aes | 5 | # aes | 
| 8 | SRCS+= aes_core.c aes_cbc.c | 6 | SRCS+= aes_core.c aes_cbc.c | 
| 9 | CFLAGS+= -DAES_ASM | 7 | CFLAGS+= -DAES_ASM | 
| diff --git a/src/lib/libcrypto/bn/asm/sparcv9-mont.pl b/src/lib/libcrypto/bn/asm/sparcv9-mont.pl index fb44c01443..610ec1a968 100644 --- a/src/lib/libcrypto/bn/asm/sparcv9-mont.pl +++ b/src/lib/libcrypto/bn/asm/sparcv9-mont.pl | |||
| @@ -598,8 +598,6 @@ $code.=<<___; | |||
| 598 | add $tp,8,$tp | 598 | add $tp,8,$tp | 
| 599 | .type $fname,#function | 599 | .type $fname,#function | 
| 600 | .size $fname,(.-$fname) | 600 | .size $fname,(.-$fname) | 
| 601 | .asciz "Montgomery Multipltication for SPARCv9, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 602 | .align 32 | ||
| 603 | ___ | 601 | ___ | 
| 604 | $code =~ s/\`([^\`]*)\`/eval($1)/gem; | 602 | $code =~ s/\`([^\`]*)\`/eval($1)/gem; | 
| 605 | print $code; | 603 | print $code; | 
| diff --git a/src/lib/libcrypto/bn/asm/sparcv9a-mont.pl b/src/lib/libcrypto/bn/asm/sparcv9a-mont.pl index 4ebe15c5c0..7bb1725a0e 100755 --- a/src/lib/libcrypto/bn/asm/sparcv9a-mont.pl +++ b/src/lib/libcrypto/bn/asm/sparcv9a-mont.pl | |||
| @@ -860,8 +860,6 @@ $fname: | |||
| 860 | restore | 860 | restore | 
| 861 | .type $fname,#function | 861 | .type $fname,#function | 
| 862 | .size $fname,(.-$fname) | 862 | .size $fname,(.-$fname) | 
| 863 | .asciz "Montgomery Multipltication for UltraSPARC, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 864 | .align 32 | ||
| 865 | ___ | 863 | ___ | 
| 866 | 864 | ||
| 867 | $code =~ s/\`([^\`]*)\`/eval($1)/gem; | 865 | $code =~ s/\`([^\`]*)\`/eval($1)/gem; | 
| diff --git a/src/lib/libcrypto/modes/asm/ghash-sparcv9.pl b/src/lib/libcrypto/modes/asm/ghash-sparcv9.pl index 70e7b044a3..ce75045f09 100644 --- a/src/lib/libcrypto/modes/asm/ghash-sparcv9.pl +++ b/src/lib/libcrypto/modes/asm/ghash-sparcv9.pl | |||
| @@ -67,7 +67,7 @@ $inp="%i2"; | |||
| 67 | $len="%i3"; | 67 | $len="%i3"; | 
| 68 | 68 | ||
| 69 | $code.=<<___; | 69 | $code.=<<___; | 
| 70 | .section ".text",#alloc,#execinstr | 70 | .section ".rodata",#alloc | 
| 71 | 71 | ||
| 72 | .align 64 | 72 | .align 64 | 
| 73 | rem_4bit: | 73 | rem_4bit: | 
| @@ -78,18 +78,30 @@ rem_4bit: | |||
| 78 | .type rem_4bit,#object | 78 | .type rem_4bit,#object | 
| 79 | .size rem_4bit,(.-rem_4bit) | 79 | .size rem_4bit,(.-rem_4bit) | 
| 80 | 80 | ||
| 81 | .section ".text",#alloc,#execinstr | ||
| 81 | .globl gcm_ghash_4bit | 82 | .globl gcm_ghash_4bit | 
| 82 | .align 32 | 83 | .align 32 | 
| 83 | gcm_ghash_4bit: | 84 | gcm_ghash_4bit: | 
| 84 | save %sp,-$frame,%sp | 85 | save %sp,-$frame,%sp | 
| 86 | #ifdef __PIC__ | ||
| 87 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), $tmp | ||
| 88 | rd %pc, $rem | ||
| 89 | or $tmp, %lo(_GLOBAL_OFFSET_TABLE_+4), $tmp | ||
| 90 | add $tmp, $rem, $tmp | ||
| 91 | #endif | ||
| 92 | |||
| 85 | ldub [$inp+15],$nlo | 93 | ldub [$inp+15],$nlo | 
| 86 | ldub [$Xi+15],$xi0 | 94 | ldub [$Xi+15],$xi0 | 
| 87 | ldub [$Xi+14],$xi1 | 95 | ldub [$Xi+14],$xi1 | 
| 88 | add $len,$inp,$len | 96 | add $len,$inp,$len | 
| 89 | add $Htbl,8,$Htblo | 97 | add $Htbl,8,$Htblo | 
| 90 | 98 | ||
| 91 | 1: call .+8 | 99 | #ifdef __PIC__ | 
| 92 | add %o7,rem_4bit-1b,$rem_4bit | 100 | set rem_4bit, $rem_4bit | 
| 101 | ldx [$rem_4bit+$tmp], $rem_4bit | ||
| 102 | #else | ||
| 103 | set rem_4bit, $rem_4bit | ||
| 104 | #endif | ||
| 93 | 105 | ||
| 94 | .Louter: | 106 | .Louter: | 
| 95 | xor $xi0,$nlo,$nlo | 107 | xor $xi0,$nlo,$nlo | 
| @@ -223,11 +235,22 @@ $code.=<<___; | |||
| 223 | .align 32 | 235 | .align 32 | 
| 224 | gcm_gmult_4bit: | 236 | gcm_gmult_4bit: | 
| 225 | save %sp,-$frame,%sp | 237 | save %sp,-$frame,%sp | 
| 238 | #ifdef __PIC__ | ||
| 239 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), $tmp | ||
| 240 | rd %pc, $rem | ||
| 241 | or $tmp, %lo(_GLOBAL_OFFSET_TABLE_+4), $tmp | ||
| 242 | add $tmp, $rem, $tmp | ||
| 243 | #endif | ||
| 244 | |||
| 226 | ldub [$Xi+15],$nlo | 245 | ldub [$Xi+15],$nlo | 
| 227 | add $Htbl,8,$Htblo | 246 | add $Htbl,8,$Htblo | 
| 228 | 247 | ||
| 229 | 1: call .+8 | 248 | #ifdef __PIC__ | 
| 230 | add %o7,rem_4bit-1b,$rem_4bit | 249 | set rem_4bit, $rem_4bit | 
| 250 | ldx [$rem_4bit+$tmp], $rem_4bit | ||
| 251 | #else | ||
| 252 | set rem_4bit, $rem_4bit | ||
| 253 | #endif | ||
| 231 | 254 | ||
| 232 | and $nlo,0xf0,$nhi | 255 | and $nlo,0xf0,$nhi | 
| 233 | and $nlo,0x0f,$nlo | 256 | and $nlo,0x0f,$nlo | 
| @@ -321,8 +344,6 @@ gcm_gmult_4bit: | |||
| 321 | restore | 344 | restore | 
| 322 | .type gcm_gmult_4bit,#function | 345 | .type gcm_gmult_4bit,#function | 
| 323 | .size gcm_gmult_4bit,(.-gcm_gmult_4bit) | 346 | .size gcm_gmult_4bit,(.-gcm_gmult_4bit) | 
| 324 | .asciz "GHASH for SPARCv9, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 325 | .align 4 | ||
| 326 | ___ | 347 | ___ | 
| 327 | 348 | ||
| 328 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 349 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 
| diff --git a/src/lib/libcrypto/sha/asm/sha1-sparcv9.pl b/src/lib/libcrypto/sha/asm/sha1-sparcv9.pl index 5c161cecd6..5235c59e63 100644 --- a/src/lib/libcrypto/sha/asm/sha1-sparcv9.pl +++ b/src/lib/libcrypto/sha/asm/sha1-sparcv9.pl | |||
| @@ -275,8 +275,6 @@ $code.=<<___; | |||
| 275 | restore | 275 | restore | 
| 276 | .type sha1_block_data_order,#function | 276 | .type sha1_block_data_order,#function | 
| 277 | .size sha1_block_data_order,(.-sha1_block_data_order) | 277 | .size sha1_block_data_order,(.-sha1_block_data_order) | 
| 278 | .asciz "SHA1 block transform for SPARCv9, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 279 | .align 4 | ||
| 280 | ___ | 278 | ___ | 
| 281 | 279 | ||
| 282 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 280 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 
| diff --git a/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl b/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl index e81a4dcb05..8e7674e9d2 100644 --- a/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl +++ b/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl | |||
| @@ -396,7 +396,7 @@ ___ | |||
| 396 | } | 396 | } | 
| 397 | 397 | ||
| 398 | $code.=<<___; | 398 | $code.=<<___; | 
| 399 | .section ".text",#alloc,#execinstr | 399 | .section ".rodata",#alloc | 
| 400 | 400 | ||
| 401 | .align 64 | 401 | .align 64 | 
| 402 | vis_const: | 402 | vis_const: | 
| @@ -409,13 +409,22 @@ vis_const: | |||
| 409 | .type vis_const,#object | 409 | .type vis_const,#object | 
| 410 | .size vis_const,(.-vis_const) | 410 | .size vis_const,(.-vis_const) | 
| 411 | 411 | ||
| 412 | .section ".text",#alloc,#execinstr | ||
| 412 | .globl sha1_block_data_order | 413 | .globl sha1_block_data_order | 
| 413 | sha1_block_data_order: | 414 | sha1_block_data_order: | 
| 414 | save %sp,-$frame,%sp | 415 | save %sp,-$frame,%sp | 
| 415 | add %fp,$bias-256,$base | 416 | add %fp,$bias-256,$base | 
| 416 | 417 | ||
| 417 | 1: call .+8 | 418 | #ifdef __PIC__ | 
| 418 | add %o7,vis_const-1b,$tmp0 | 419 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o5 | 
| 420 | rd %pc, %o4 | ||
| 421 | or %o5, %lo(_GLOBAL_OFFSET_TABLE_+4), %o5 | ||
| 422 | add %o5, %o4, %o5 | ||
| 423 | set vis_const, %o4 | ||
| 424 | ldx [%o4+%o5], %o4 | ||
| 425 | #else | ||
| 426 | set vis_const, %o4 | ||
| 427 | #endif | ||
| 419 | 428 | ||
| 420 | ldd [$tmp0+0],$VK_00_19 | 429 | ldd [$tmp0+0],$VK_00_19 | 
| 421 | ldd [$tmp0+8],$VK_20_39 | 430 | ldd [$tmp0+8],$VK_20_39 | 
| @@ -538,8 +547,6 @@ $code.=<<___; | |||
| 538 | restore | 547 | restore | 
| 539 | .type sha1_block_data_order,#function | 548 | .type sha1_block_data_order,#function | 
| 540 | .size sha1_block_data_order,(.-sha1_block_data_order) | 549 | .size sha1_block_data_order,(.-sha1_block_data_order) | 
| 541 | .asciz "SHA1 block transform for SPARCv9a, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 542 | .align 4 | ||
| 543 | ___ | 550 | ___ | 
| 544 | 551 | ||
| 545 | # Purpose of these subroutines is to explicitly encode VIS instructions, | 552 | # Purpose of these subroutines is to explicitly encode VIS instructions, | 
| diff --git a/src/lib/libcrypto/sha/asm/sha512-sparcv9.pl b/src/lib/libcrypto/sha/asm/sha512-sparcv9.pl index 585740789e..3c93799446 100644 --- a/src/lib/libcrypto/sha/asm/sha512-sparcv9.pl +++ b/src/lib/libcrypto/sha/asm/sha512-sparcv9.pl | |||
| @@ -386,7 +386,7 @@ $code.=<<___ if ($bits==64); | |||
| 386 | .register %g3,#scratch | 386 | .register %g3,#scratch | 
| 387 | ___ | 387 | ___ | 
| 388 | $code.=<<___; | 388 | $code.=<<___; | 
| 389 | .section ".text",#alloc,#execinstr | 389 | .section ".rodata",#alloc | 
| 390 | 390 | ||
| 391 | .align 64 | 391 | .align 64 | 
| 392 | K${label}: | 392 | K${label}: | 
| @@ -457,9 +457,17 @@ ___ | |||
| 457 | } | 457 | } | 
| 458 | $code.=<<___; | 458 | $code.=<<___; | 
| 459 | .size K${label},.-K${label} | 459 | .size K${label},.-K${label} | 
| 460 | |||
| 461 | .section ".text",#alloc,#execinstr | ||
| 460 | .globl sha${label}_block_data_order | 462 | .globl sha${label}_block_data_order | 
| 461 | sha${label}_block_data_order: | 463 | sha${label}_block_data_order: | 
| 462 | save %sp,`-$frame-$locals`,%sp | 464 | save %sp,`-$frame-$locals`,%sp | 
| 465 | #ifdef __PIC__ | ||
| 466 | sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o5 | ||
| 467 | rd %pc, %o4 | ||
| 468 | or %o5, %lo(_GLOBAL_OFFSET_TABLE_+4), %o5 | ||
| 469 | add %o5, %o4, %o5 | ||
| 470 | #endif | ||
| 463 | and $inp,`$align-1`,$tmp31 | 471 | and $inp,`$align-1`,$tmp31 | 
| 464 | sllx $len,`log(16*$SZ)/log(2)`,$len | 472 | sllx $len,`log(16*$SZ)/log(2)`,$len | 
| 465 | andn $inp,`$align-1`,$inp | 473 | andn $inp,`$align-1`,$inp | 
| @@ -471,8 +479,12 @@ $code.=<<___ if ($SZ==8); # SHA512 | |||
| 471 | sub $tmp32,$tmp31,$tmp32 | 479 | sub $tmp32,$tmp31,$tmp32 | 
| 472 | ___ | 480 | ___ | 
| 473 | $code.=<<___; | 481 | $code.=<<___; | 
| 474 | .Lpic: call .+8 | 482 | #ifdef __PIC__ | 
| 475 | add %o7,K${label}-.Lpic,$Ktbl | 483 | set K${label}, $Ktbl | 
| 484 | ldx [$Ktbl+%o5], $Ktbl | ||
| 485 | #else | ||
| 486 | set K${label}, $Ktbl | ||
| 487 | #endif | ||
| 476 | 488 | ||
| 477 | $LD [$ctx+`0*$SZ`],$A | 489 | $LD [$ctx+`0*$SZ`],$A | 
| 478 | $LD [$ctx+`1*$SZ`],$B | 490 | $LD [$ctx+`1*$SZ`],$B | 
| @@ -585,8 +597,6 @@ $code.=<<___; | |||
| 585 | restore | 597 | restore | 
| 586 | .type sha${label}_block_data_order,#function | 598 | .type sha${label}_block_data_order,#function | 
| 587 | .size sha${label}_block_data_order,(.-sha${label}_block_data_order) | 599 | .size sha${label}_block_data_order,(.-sha${label}_block_data_order) | 
| 588 | .asciz "SHA${label} block transform for SPARCv9, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 589 | .align 4 | ||
| 590 | ___ | 600 | ___ | 
| 591 | 601 | ||
| 592 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 602 | $code =~ s/\`([^\`]*)\`/eval $1/gem; | 
