diff options
Diffstat (limited to 'src/lib/libcrypto/aes/asm/aes-parisc.pl')
-rw-r--r-- | src/lib/libcrypto/aes/asm/aes-parisc.pl | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/lib/libcrypto/aes/asm/aes-parisc.pl b/src/lib/libcrypto/aes/asm/aes-parisc.pl index f12a1c18ec..43dbfc108d 100644 --- a/src/lib/libcrypto/aes/asm/aes-parisc.pl +++ b/src/lib/libcrypto/aes/asm/aes-parisc.pl | |||
@@ -64,12 +64,7 @@ $rounds="%r29"; | |||
64 | 64 | ||
65 | $code=<<___; | 65 | $code=<<___; |
66 | .LEVEL $LEVEL | 66 | .LEVEL $LEVEL |
67 | #if 0 | ||
68 | .SPACE \$TEXT\$ | ||
69 | .SUBSPA \$CODE\$,QUAD=0,ALIGN=8,ACCESS=0x2C,CODE_ONLY | ||
70 | #else | ||
71 | .text | 67 | .text |
72 | #endif | ||
73 | 68 | ||
74 | .EXPORT AES_encrypt,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR | 69 | .EXPORT AES_encrypt,ENTRY,ARGW0=GR,ARGW1=GR,ARGW2=GR |
75 | .ALIGN 64 | 70 | .ALIGN 64 |
@@ -95,11 +90,14 @@ AES_encrypt | |||
95 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) | 90 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) |
96 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) | 91 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) |
97 | 92 | ||
98 | blr %r0,$tbl | ||
99 | ldi 3,$t0 | 93 | ldi 3,$t0 |
100 | L\$enc_pic | 94 | #ifdef __PIC__ |
101 | andcm $tbl,$t0,$tbl | 95 | addil LT'L\$AES_Te, %r19 |
102 | ldo L\$AES_Te-L\$enc_pic($tbl),$tbl | 96 | ldw RT'L\$AES_Te(%r1), $tbl |
97 | #else | ||
98 | ldil L'L\$AES_Te, %t1 | ||
99 | ldo R'L\$AES_Te(%t1), $tbl | ||
100 | #endif | ||
103 | 101 | ||
104 | and $inp,$t0,$t0 | 102 | and $inp,$t0,$t0 |
105 | sub $inp,$t0,$inp | 103 | sub $inp,$t0,$inp |
@@ -439,6 +437,7 @@ L\$enc_last | |||
439 | xor $acc15,$s3,$s3 | 437 | xor $acc15,$s3,$s3 |
440 | .PROCEND | 438 | .PROCEND |
441 | 439 | ||
440 | .section .rodata | ||
442 | .ALIGN 64 | 441 | .ALIGN 64 |
443 | L\$AES_Te | 442 | L\$AES_Te |
444 | .WORD 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d | 443 | .WORD 0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d |
@@ -537,6 +536,7 @@ L\$AES_Te | |||
537 | .BYTE 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf | 536 | .BYTE 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf |
538 | .BYTE 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 | 537 | .BYTE 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 |
539 | .BYTE 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 | 538 | .BYTE 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 |
539 | .previous | ||
540 | ___ | 540 | ___ |
541 | 541 | ||
542 | $code.=<<___; | 542 | $code.=<<___; |
@@ -564,11 +564,14 @@ AES_decrypt | |||
564 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) | 564 | $PUSH %r17,`-$FRAME+14*$SIZE_T`(%sp) |
565 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) | 565 | $PUSH %r18,`-$FRAME+15*$SIZE_T`(%sp) |
566 | 566 | ||
567 | blr %r0,$tbl | ||
568 | ldi 3,$t0 | 567 | ldi 3,$t0 |
569 | L\$dec_pic | 568 | #ifdef __PIC__ |
570 | andcm $tbl,$t0,$tbl | 569 | addil LT'L\$AES_Td, %r19 |
571 | ldo L\$AES_Td-L\$dec_pic($tbl),$tbl | 570 | ldw RT'L\$AES_Td(%r1), $tbl |
571 | #else | ||
572 | ldil L'L\$AES_Td, %t1 | ||
573 | ldo R'L\$AES_Td(%t1), $tbl | ||
574 | #endif | ||
572 | 575 | ||
573 | and $inp,$t0,$t0 | 576 | and $inp,$t0,$t0 |
574 | sub $inp,$t0,$inp | 577 | sub $inp,$t0,$inp |
@@ -908,6 +911,7 @@ L\$dec_last | |||
908 | xor $acc15,$s3,$s3 | 911 | xor $acc15,$s3,$s3 |
909 | .PROCEND | 912 | .PROCEND |
910 | 913 | ||
914 | .section .rodata | ||
911 | .ALIGN 64 | 915 | .ALIGN 64 |
912 | L\$AES_Td | 916 | L\$AES_Td |
913 | .WORD 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 | 917 | .WORD 0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96 |
@@ -1006,9 +1010,7 @@ L\$AES_Td | |||
1006 | .BYTE 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 | 1010 | .BYTE 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 |
1007 | .BYTE 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 | 1011 | .BYTE 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 |
1008 | .BYTE 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d | 1012 | .BYTE 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d |
1009 | 1013 | .previous | |
1010 | .data | ||
1011 | .STRINGZ "AES for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>" | ||
1012 | ___ | 1014 | ___ |
1013 | 1015 | ||
1014 | foreach (split("\n",$code)) { | 1016 | foreach (split("\n",$code)) { |