diff options
author | Sam Roberts <vieuxtech@gmail.com> | 2018-11-22 11:47:07 -0800 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2019-01-22 13:33:54 -0800 |
commit | 807ed7883a12423270450776f015a7c2348c0913 (patch) | |
tree | 00ec21dd290b29c782680ffc2f97e6d59fd2ab2f /deps/openssl/config/archs/aix-gcc/asm/crypto | |
parent | 57119fbdb200702d6e2cf23428de4c458ae86bbc (diff) | |
download | android-node-v8-807ed7883a12423270450776f015a7c2348c0913.tar.gz android-node-v8-807ed7883a12423270450776f015a7c2348c0913.tar.bz2 android-node-v8-807ed7883a12423270450776f015a7c2348c0913.zip |
deps: update archs files for OpenSSL-1.1.1a
`cd deps/openssl/config; make` updates all archs dependant files.
PR-URL: https://github.com/nodejs/node/pull/25381
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org>
Diffstat (limited to 'deps/openssl/config/archs/aix-gcc/asm/crypto')
13 files changed, 3278 insertions, 1600 deletions
diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aes-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aes-ppc.s index dad9e59c71..0b7a0c1900 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aes-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aes-ppc.s @@ -1553,6 +1553,6 @@ Ldec_compact_done: .byte 0,12,0x14,0,0,0,0,0 -.byte 65,69,83,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 65,69,83,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 7 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aesp8-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aesp8-ppc.s index af77b04524..99a833dd51 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aesp8-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/aesp8-ppc.s @@ -17,7 +17,7 @@ Lconsts: blr .long 0 .byte 0,12,0x14,0,0,0,0,0 -.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .globl .aes_p8_set_encrypt_key diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/vpaes-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/vpaes-ppc.s index b264c90033..5abc16717f 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/vpaes-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/aes/vpaes-ppc.s @@ -98,7 +98,7 @@ Lconsts: blr .long 0 .byte 0,12,0x14,0,0,0,0,0 -.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,108,116,105,86,101,99,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 +.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,65,108,116,105,86,101,99,44,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 .align 2 .align 6 @@ -204,7 +204,7 @@ Lenc_entry: vxor 3, 3, 5 vxor 4, 4, 5 vperm 2, 10, 7, 3 - vor 5, 6, 6 + vor 5,6,6 lvx 6, 9, 5 vperm 3, 10, 7, 4 addi 9, 9, 16 @@ -260,7 +260,7 @@ Lenc_entry: stw 7,228(1) li 0, -1 stw 6,236(1) - or 0, 0, 0 + or 0,0,0 bl _vpaes_encrypt_preheat @@ -294,7 +294,7 @@ Lenc_done: li 10,39 li 11,55 mtlr 6 - or 7, 7, 7 + or 7,7,7 lvx 20,10,1 addi 10,10,32 lvx 21,11,1 @@ -436,7 +436,7 @@ Ldec_entry: vxor 3, 3, 2 vxor 4, 4, 2 vperm 2, 10, 7, 3 - vor 5, 6, 6 + vor 5,6,6 lvx 6, 9, 5 vperm 3, 10, 7, 4 addi 9, 9, 16 @@ -492,7 +492,7 @@ Ldec_entry: stw 7,228(1) li 0, -1 stw 6,236(1) - or 0, 0, 0 + or 0,0,0 bl _vpaes_decrypt_preheat @@ -526,7 +526,7 @@ Ldec_done: li 10,39 li 11,55 mtlr 6 - or 7, 7, 7 + or 7,7,7 lvx 20,10,1 addi 10,10,32 lvx 21,11,1 @@ -602,7 +602,7 @@ Ldec_done: li 6, -1 mcrf 1, 0 mr 7, 12 - or 6, 6, 6 + or 6,6,6 lvx 24, 0, 31 li 9, 15 @@ -628,7 +628,7 @@ Ldec_done: beq 1, Lcbc_enc_loop - vor 0, 26, 26 + vor 0,26,26 lvx 26, 0, 3 addi 3, 3, 16 vperm 0, 0, 26, 27 @@ -637,7 +637,7 @@ Ldec_done: bl _vpaes_encrypt_core andi. 8, 4, 15 - vor 24, 0, 0 + vor 24,0,0 sub 9, 4, 8 vperm 28, 0, 0, 29 @@ -652,7 +652,7 @@ Lcbc_enc_head: beq Lcbc_unaligned_done Lcbc_enc_loop: - vor 0, 26, 26 + vor 0,26,26 lvx 26, 0, 3 addi 3, 3, 16 vperm 0, 0, 26, 27 @@ -660,11 +660,11 @@ Lcbc_enc_loop: bl _vpaes_encrypt_core - vor 24, 0, 0 + vor 24,0,0 sub. 30, 30, 0 vperm 0, 0, 0, 29 vsel 1, 28, 0, 30 - vor 28, 0, 0 + vor 28,0,0 stvx 1, 0, 4 addi 4, 4, 16 bne Lcbc_enc_loop @@ -678,17 +678,17 @@ Lcbc_decrypt: beq 1, Lcbc_dec_loop - vor 0, 26, 26 + vor 0,26,26 lvx 26, 0, 3 addi 3, 3, 16 vperm 0, 0, 26, 27 - vor 25, 0, 0 + vor 25,0,0 bl _vpaes_decrypt_core andi. 8, 4, 15 vxor 0, 0, 24 - vor 24, 25, 25 + vor 24,25,25 sub 9, 4, 8 vperm 28, 0, 0, 29 @@ -703,20 +703,20 @@ Lcbc_dec_head: beq Lcbc_unaligned_done Lcbc_dec_loop: - vor 0, 26, 26 + vor 0,26,26 lvx 26, 0, 3 addi 3, 3, 16 vperm 0, 0, 26, 27 - vor 25, 0, 0 + vor 25,0,0 bl _vpaes_decrypt_core vxor 0, 0, 24 - vor 24, 25, 25 + vor 24,25,25 sub. 30, 30, 0 vperm 0, 0, 0, 29 vsel 1, 28, 0, 30 - vor 28, 0, 0 + vor 28,0,0 stvx 1, 0, 4 addi 4, 4, 16 bne Lcbc_dec_loop @@ -746,7 +746,7 @@ Lcbc_write_iv: stvewx 24, 11, 31 stvewx 24, 12, 31 - or 7, 7, 7 + or 7,7,7 li 10,39 li 11,55 lvx 20,10,1 @@ -851,9 +851,9 @@ _vpaes_schedule_core: vperm 0, 0, 6, 27 - vor 3, 0, 0 + vor 3,0,0 bl _vpaes_schedule_transform - vor 7, 0, 0 + vor 7,0,0 bne 1, Lschedule_am_decrypting @@ -986,7 +986,7 @@ Lschedule_256: Loop_schedule_256: bl _vpaes_schedule_mangle - vor 6, 0, 0 + vor 6,0,0 bl _vpaes_schedule_round @@ -995,10 +995,10 @@ Loop_schedule_256: vspltw 0, 0, 3 - vor 5, 7, 7 - vor 7, 6, 6 + vor 5,7,7 + vor 7,6,6 bl _vpaes_schedule_low_round - vor 7, 5, 5 + vor 7,5,5 b Loop_schedule_256 @@ -1102,7 +1102,7 @@ _vpaes_schedule_192_smear: vsldoi 0, 7, 0, 8 vxor 6, 6, 1 vxor 6, 6, 0 - vor 0, 6, 6 + vor 0,6,6 vsldoi 6, 6, 9, 8 vsldoi 6, 9, 6, 8 blr @@ -1243,7 +1243,7 @@ _vpaes_schedule_mangle: vperm 1, 3, 3, 29 vsel 2, 28, 1, 30 - vor 28, 1, 1 + vor 28,1,1 stvx 2, 0, 5 blr @@ -1294,7 +1294,7 @@ Lschedule_mangle_dec: vperm 1, 3, 3, 29 vsel 2, 28, 1, 30 - vor 28, 1, 1 + vor 28,1,1 stvx 2, 0, 5 blr .long 0 @@ -1333,20 +1333,20 @@ Lschedule_mangle_dec: stw 6,228(1) li 7, -1 stw 0, 236(1) - or 7, 7, 7 + or 7,7,7 srwi 9, 4, 5 addi 9, 9, 6 stw 9, 240(5) - cmplw 1, 4, 4 + cmplw 1,4,4 li 8, 0x30 bl _vpaes_schedule_core lwz 0, 236(1) li 10,39 li 11,55 - or 6, 6, 6 + or 6,6,6 mtlr 0 xor 3, 3, 3 lvx 20,10,1 @@ -1411,7 +1411,7 @@ Lschedule_mangle_dec: stw 6,228(1) li 7, -1 stw 0, 236(1) - or 7, 7, 7 + or 7,7,7 srwi 9, 4, 5 addi 9, 9, 6 @@ -1429,7 +1429,7 @@ Lschedule_mangle_dec: lwz 0, 236(1) li 10,39 li 11,55 - or 6, 6, 6 + or 6,6,6 mtlr 0 xor 3, 3, 3 lvx 20,10,1 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc-mont.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc-mont.s index 267308a6ac..dc3c367057 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc-mont.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc-mont.s @@ -2,12 +2,10 @@ .csect .text[PR],7 .globl .bn_mul_mont_int -.align 4 +.align 5 .bn_mul_mont_int: - cmpwi 8,4 mr 9,3 li 3,0 - bclr 12,0 cmpwi 8,32 bgelr slwi 8,8,2 @@ -215,6 +213,1572 @@ Lcopy: .byte 0,12,4,0,0x80,12,6,0 .long 0 +.globl .bn_mul4x_mont_int +.align 5 +.bn_mul4x_mont_int: + andi. 0,8,7 + bne Lmul4x_do + cmplw 0,4,5 + bne Lmul4x_do + b Lsqr8x_do +Lmul4x_do: + slwi 8,8,2 + mr 9,1 + li 10,-32*4 + sub 10,10,8 + stwux 1,1,10 + + stw 14,-4*18(9) + stw 15,-4*17(9) + stw 16,-4*16(9) + stw 17,-4*15(9) + stw 18,-4*14(9) + stw 19,-4*13(9) + stw 20,-4*12(9) + stw 21,-4*11(9) + stw 22,-4*10(9) + stw 23,-4*9(9) + stw 24,-4*8(9) + stw 25,-4*7(9) + stw 26,-4*6(9) + stw 27,-4*5(9) + stw 28,-4*4(9) + stw 29,-4*3(9) + stw 30,-4*2(9) + stw 31,-4*1(9) + + subi 4,4,4 + subi 6,6,4 + subi 3,3,4 + lwz 7,0(7) + + add 14,5,8 + add 30,4,8 + subi 14,14,4*4 + + lwz 27,4*0(5) + li 22,0 + lwz 9,4*1(4) + li 23,0 + lwz 10,4*2(4) + li 24,0 + lwz 11,4*3(4) + li 25,0 + lwzu 12,4*4(4) + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + + stw 3,4*6(1) + stw 14,4*7(1) + li 3,0 + addic 29,1,4*7 + li 31,0 + li 0,0 + b Loop_mul4x_1st_reduction + +.align 5 +Loop_mul4x_1st_reduction: + mullw 14,9,27 + addze 3,3 + mullw 15,10,27 + addi 31,31,4 + mullw 16,11,27 + andi. 31,31,4*4-1 + mullw 17,12,27 + addc 22,22,14 + mulhwu 14,9,27 + adde 23,23,15 + mulhwu 15,10,27 + adde 24,24,16 + mullw 28,22,7 + adde 25,25,17 + mulhwu 16,11,27 + addze 26,0 + mulhwu 17,12,27 + lwzx 27,5,31 + addc 23,23,14 + + stwu 28,4(29) + adde 24,24,15 + mullw 15,19,28 + adde 25,25,16 + mullw 16,20,28 + adde 26,26,17 + mullw 17,21,28 + + + + + + + + + + + addic 22,22,-1 + mulhwu 14,18,28 + adde 22,23,15 + mulhwu 15,19,28 + adde 23,24,16 + mulhwu 16,20,28 + adde 24,25,17 + mulhwu 17,21,28 + adde 25,26,3 + addze 3,0 + addc 22,22,14 + adde 23,23,15 + adde 24,24,16 + adde 25,25,17 + + bne Loop_mul4x_1st_reduction + + cmplw 0,30,4 + beq Lmul4x4_post_condition + + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwzu 12,4*4(4) + lwz 28,4*8(1) + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + b Loop_mul4x_1st_tail + +.align 5 +Loop_mul4x_1st_tail: + mullw 14,9,27 + addze 3,3 + mullw 15,10,27 + addi 31,31,4 + mullw 16,11,27 + andi. 31,31,4*4-1 + mullw 17,12,27 + addc 22,22,14 + mulhwu 14,9,27 + adde 23,23,15 + mulhwu 15,10,27 + adde 24,24,16 + mulhwu 16,11,27 + adde 25,25,17 + mulhwu 17,12,27 + addze 26,0 + lwzx 27,5,31 + addc 23,23,14 + mullw 14,18,28 + adde 24,24,15 + mullw 15,19,28 + adde 25,25,16 + mullw 16,20,28 + adde 26,26,17 + mullw 17,21,28 + addc 22,22,14 + mulhwu 14,18,28 + adde 23,23,15 + mulhwu 15,19,28 + adde 24,24,16 + mulhwu 16,20,28 + adde 25,25,17 + adde 26,26,3 + mulhwu 17,21,28 + addze 3,0 + addi 28,1,4*8 + lwzx 28,28,31 + stwu 22,4(29) + addc 22,23,14 + adde 23,24,15 + adde 24,25,16 + adde 25,26,17 + + bne Loop_mul4x_1st_tail + + sub 15,30,8 + cmplw 0,30,4 + beq Lmul4x_proceed + + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwzu 12,4*4(4) + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + b Loop_mul4x_1st_tail + +.align 5 +Lmul4x_proceed: + lwzu 27,4*4(5) + addze 3,3 + lwz 9,4*1(15) + lwz 10,4*2(15) + lwz 11,4*3(15) + lwz 12,4*4(15) + addi 4,15,4*4 + sub 6,6,8 + + stw 22,4*1(29) + stw 23,4*2(29) + stw 24,4*3(29) + stw 25,4*4(29) + stw 3,4*5(29) + lwz 22,4*12(1) + lwz 23,4*13(1) + lwz 24,4*14(1) + lwz 25,4*15(1) + + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + addic 29,1,4*7 + li 3,0 + b Loop_mul4x_reduction + +.align 5 +Loop_mul4x_reduction: + mullw 14,9,27 + addze 3,3 + mullw 15,10,27 + addi 31,31,4 + mullw 16,11,27 + andi. 31,31,4*4-1 + mullw 17,12,27 + addc 22,22,14 + mulhwu 14,9,27 + adde 23,23,15 + mulhwu 15,10,27 + adde 24,24,16 + mullw 28,22,7 + adde 25,25,17 + mulhwu 16,11,27 + addze 26,0 + mulhwu 17,12,27 + lwzx 27,5,31 + addc 23,23,14 + + stwu 28,4(29) + adde 24,24,15 + mullw 15,19,28 + adde 25,25,16 + mullw 16,20,28 + adde 26,26,17 + mullw 17,21,28 + + addic 22,22,-1 + mulhwu 14,18,28 + adde 22,23,15 + mulhwu 15,19,28 + adde 23,24,16 + mulhwu 16,20,28 + adde 24,25,17 + mulhwu 17,21,28 + adde 25,26,3 + addze 3,0 + addc 22,22,14 + adde 23,23,15 + adde 24,24,16 + adde 25,25,17 + + bne Loop_mul4x_reduction + + lwz 14,4*5(29) + addze 3,3 + lwz 15,4*6(29) + lwz 16,4*7(29) + lwz 17,4*8(29) + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwzu 12,4*4(4) + addc 22,22,14 + adde 23,23,15 + adde 24,24,16 + adde 25,25,17 + + + lwz 28,4*8(1) + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + b Loop_mul4x_tail + +.align 5 +Loop_mul4x_tail: + mullw 14,9,27 + addze 3,3 + mullw 15,10,27 + addi 31,31,4 + mullw 16,11,27 + andi. 31,31,4*4-1 + mullw 17,12,27 + addc 22,22,14 + mulhwu 14,9,27 + adde 23,23,15 + mulhwu 15,10,27 + adde 24,24,16 + mulhwu 16,11,27 + adde 25,25,17 + mulhwu 17,12,27 + addze 26,0 + lwzx 27,5,31 + addc 23,23,14 + mullw 14,18,28 + adde 24,24,15 + mullw 15,19,28 + adde 25,25,16 + mullw 16,20,28 + adde 26,26,17 + mullw 17,21,28 + addc 22,22,14 + mulhwu 14,18,28 + adde 23,23,15 + mulhwu 15,19,28 + adde 24,24,16 + mulhwu 16,20,28 + adde 25,25,17 + mulhwu 17,21,28 + adde 26,26,3 + addi 28,1,4*8 + lwzx 28,28,31 + addze 3,0 + stwu 22,4(29) + addc 22,23,14 + adde 23,24,15 + adde 24,25,16 + adde 25,26,17 + + bne Loop_mul4x_tail + + lwz 14,4*5(29) + sub 15,6,8 + addze 3,3 + cmplw 0,30,4 + beq Loop_mul4x_break + + lwz 15,4*6(29) + lwz 16,4*7(29) + lwz 17,4*8(29) + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwzu 12,4*4(4) + addc 22,22,14 + adde 23,23,15 + adde 24,24,16 + adde 25,25,17 + + + lwz 18,4*1(6) + lwz 19,4*2(6) + lwz 20,4*3(6) + lwzu 21,4*4(6) + b Loop_mul4x_tail + +.align 5 +Loop_mul4x_break: + lwz 16,4*6(1) + lwz 17,4*7(1) + addc 9,22,14 + lwz 22,4*12(1) + addze 10,23 + lwz 23,4*13(1) + addze 11,24 + lwz 24,4*14(1) + addze 12,25 + lwz 25,4*15(1) + addze 3,3 + stw 9,4*1(29) + sub 4,30,8 + stw 10,4*2(29) + stw 11,4*3(29) + stw 12,4*4(29) + stw 3,4*5(29) + + lwz 18,4*1(15) + lwz 19,4*2(15) + lwz 20,4*3(15) + lwz 21,4*4(15) + addi 6,15,4*4 + cmplw 0,5,17 + beq Lmul4x_post + + lwzu 27,4*4(5) + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwzu 12,4*4(4) + li 3,0 + addic 29,1,4*7 + b Loop_mul4x_reduction + +.align 5 +Lmul4x_post: + + + + + srwi 31,8,4 + mr 5,16 + subi 31,31,1 + mr 30,16 + subfc 14,18,22 + addi 29,1,4*15 + subfe 15,19,23 + + mtctr 31 +Lmul4x_sub: + lwz 18,4*1(6) + lwz 22,4*1(29) + subfe 16,20,24 + lwz 19,4*2(6) + lwz 23,4*2(29) + subfe 17,21,25 + lwz 20,4*3(6) + lwz 24,4*3(29) + lwzu 21,4*4(6) + lwzu 25,4*4(29) + stw 14,4*1(5) + stw 15,4*2(5) + subfe 14,18,22 + stw 16,4*3(5) + stwu 17,4*4(5) + subfe 15,19,23 + bc 16,0,Lmul4x_sub + + lwz 9,4*1(30) + stw 14,4*1(5) + lwz 14,4*12(1) + subfe 16,20,24 + lwz 10,4*2(30) + stw 15,4*2(5) + lwz 15,4*13(1) + subfe 17,21,25 + subfe 3,0,3 + addi 29,1,4*12 + lwz 11,4*3(30) + stw 16,4*3(5) + lwz 16,4*14(1) + lwz 12,4*4(30) + stw 17,4*4(5) + lwz 17,4*15(1) + + mtctr 31 +Lmul4x_cond_copy: + and 14,14,3 + andc 9,9,3 + stw 0,4*0(29) + and 15,15,3 + andc 10,10,3 + stw 0,4*1(29) + and 16,16,3 + andc 11,11,3 + stw 0,4*2(29) + and 17,17,3 + andc 12,12,3 + stw 0,4*3(29) + or 22,14,9 + lwz 9,4*5(30) + lwz 14,4*4(29) + or 23,15,10 + lwz 10,4*6(30) + lwz 15,4*5(29) + or 24,16,11 + lwz 11,4*7(30) + lwz 16,4*6(29) + or 25,17,12 + lwz 12,4*8(30) + lwz 17,4*7(29) + addi 29,29,4*4 + stw 22,4*1(30) + stw 23,4*2(30) + stw 24,4*3(30) + stwu 25,4*4(30) + bc 16,0,Lmul4x_cond_copy + + lwz 5,0(1) + and 14,14,3 + andc 9,9,3 + stw 0,4*0(29) + and 15,15,3 + andc 10,10,3 + stw 0,4*1(29) + and 16,16,3 + andc 11,11,3 + stw 0,4*2(29) + and 17,17,3 + andc 12,12,3 + stw 0,4*3(29) + or 22,14,9 + or 23,15,10 + stw 0,4*4(29) + or 24,16,11 + or 25,17,12 + stw 22,4*1(30) + stw 23,4*2(30) + stw 24,4*3(30) + stw 25,4*4(30) + + b Lmul4x_done + +.align 4 +Lmul4x4_post_condition: + lwz 4,4*6(1) + lwz 5,0(1) + addze 3,3 + + subfc 9,18,22 + subfe 10,19,23 + subfe 11,20,24 + subfe 12,21,25 + subfe 3,0,3 + + and 18,18,3 + and 19,19,3 + addc 9,9,18 + and 20,20,3 + adde 10,10,19 + and 21,21,3 + adde 11,11,20 + adde 12,12,21 + + stw 9,4*1(4) + stw 10,4*2(4) + stw 11,4*3(4) + stw 12,4*4(4) + +Lmul4x_done: + stw 0,4*8(1) + stw 0,4*9(1) + stw 0,4*10(1) + stw 0,4*11(1) + li 3,1 + lwz 14,-4*18(5) + lwz 15,-4*17(5) + lwz 16,-4*16(5) + lwz 17,-4*15(5) + lwz 18,-4*14(5) + lwz 19,-4*13(5) + lwz 20,-4*12(5) + lwz 21,-4*11(5) + lwz 22,-4*10(5) + lwz 23,-4*9(5) + lwz 24,-4*8(5) + lwz 25,-4*7(5) + lwz 26,-4*6(5) + lwz 27,-4*5(5) + lwz 28,-4*4(5) + lwz 29,-4*3(5) + lwz 30,-4*2(5) + lwz 31,-4*1(5) + mr 1,5 + blr +.long 0 +.byte 0,12,4,0x20,0x80,18,6,0 +.long 0 + +.align 5 +__bn_sqr8x_mont: +Lsqr8x_do: + mr 9,1 + slwi 10,8,3 + li 11,-32*4 + sub 10,11,10 + slwi 8,8,2 + stwux 1,1,10 + + stw 14,-4*18(9) + stw 15,-4*17(9) + stw 16,-4*16(9) + stw 17,-4*15(9) + stw 18,-4*14(9) + stw 19,-4*13(9) + stw 20,-4*12(9) + stw 21,-4*11(9) + stw 22,-4*10(9) + stw 23,-4*9(9) + stw 24,-4*8(9) + stw 25,-4*7(9) + stw 26,-4*6(9) + stw 27,-4*5(9) + stw 28,-4*4(9) + stw 29,-4*3(9) + stw 30,-4*2(9) + stw 31,-4*1(9) + + subi 4,4,4 + subi 18,6,4 + subi 3,3,4 + lwz 7,0(7) + li 0,0 + + add 6,4,8 + lwz 9,4*1(4) + + lwz 10,4*2(4) + li 23,0 + lwz 11,4*3(4) + li 24,0 + lwz 12,4*4(4) + li 25,0 + lwz 14,4*5(4) + li 26,0 + lwz 15,4*6(4) + li 27,0 + lwz 16,4*7(4) + li 28,0 + lwzu 17,4*8(4) + li 29,0 + + addi 5,1,4*11 + subic. 30,8,4*8 + b Lsqr8x_zero_start + +.align 5 +Lsqr8x_zero: + subic. 30,30,4*8 + stw 0,4*1(5) + stw 0,4*2(5) + stw 0,4*3(5) + stw 0,4*4(5) + stw 0,4*5(5) + stw 0,4*6(5) + stw 0,4*7(5) + stw 0,4*8(5) +Lsqr8x_zero_start: + stw 0,4*9(5) + stw 0,4*10(5) + stw 0,4*11(5) + stw 0,4*12(5) + stw 0,4*13(5) + stw 0,4*14(5) + stw 0,4*15(5) + stwu 0,4*16(5) + bne Lsqr8x_zero + + stw 3,4*6(1) + stw 18,4*7(1) + stw 7,4*8(1) + stw 5,4*9(1) + stw 0,4*10(1) + addi 5,1,4*11 + + +.align 5 +Lsqr8x_outer_loop: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mullw 18,10,9 + mullw 19,11,9 + mullw 20,12,9 + mullw 21,14,9 + addc 23,23,18 + mullw 18,15,9 + adde 24,24,19 + mullw 19,16,9 + adde 25,25,20 + mullw 20,17,9 + adde 26,26,21 + mulhwu 21,10,9 + adde 27,27,18 + mulhwu 18,11,9 + adde 28,28,19 + mulhwu 19,12,9 + adde 29,29,20 + mulhwu 20,14,9 + stw 22,4*1(5) + addze 22,0 + stw 23,4*2(5) + addc 24,24,21 + mulhwu 21,15,9 + adde 25,25,18 + mulhwu 18,16,9 + adde 26,26,19 + mulhwu 19,17,9 + adde 27,27,20 + mullw 20,11,10 + adde 28,28,21 + mullw 21,12,10 + adde 29,29,18 + mullw 18,14,10 + adde 22,22,19 + + mullw 19,15,10 + addc 25,25,20 + mullw 20,16,10 + adde 26,26,21 + mullw 21,17,10 + adde 27,27,18 + mulhwu 18,11,10 + adde 28,28,19 + mulhwu 19,12,10 + adde 29,29,20 + mulhwu 20,14,10 + adde 22,22,21 + mulhwu 21,15,10 + stw 24,4*3(5) + addze 23,0 + stw 25,4*4(5) + addc 26,26,18 + mulhwu 18,16,10 + adde 27,27,19 + mulhwu 19,17,10 + adde 28,28,20 + mullw 20,12,11 + adde 29,29,21 + mullw 21,14,11 + adde 22,22,18 + mullw 18,15,11 + adde 23,23,19 + + mullw 19,16,11 + addc 27,27,20 + mullw 20,17,11 + adde 28,28,21 + mulhwu 21,12,11 + adde 29,29,18 + mulhwu 18,14,11 + adde 22,22,19 + mulhwu 19,15,11 + adde 23,23,20 + mulhwu 20,16,11 + stw 26,4*5(5) + addze 24,0 + stw 27,4*6(5) + addc 28,28,21 + mulhwu 21,17,11 + adde 29,29,18 + mullw 18,14,12 + adde 22,22,19 + mullw 19,15,12 + adde 23,23,20 + mullw 20,16,12 + adde 24,24,21 + + mullw 21,17,12 + addc 29,29,18 + mulhwu 18,14,12 + adde 22,22,19 + mulhwu 19,15,12 + adde 23,23,20 + mulhwu 20,16,12 + adde 24,24,21 + mulhwu 21,17,12 + stw 28,4*7(5) + addze 25,0 + stwu 29,4*8(5) + addc 22,22,18 + mullw 18,15,14 + adde 23,23,19 + mullw 19,16,14 + adde 24,24,20 + mullw 20,17,14 + adde 25,25,21 + + mulhwu 21,15,14 + addc 23,23,18 + mulhwu 18,16,14 + adde 24,24,19 + mulhwu 19,17,14 + adde 25,25,20 + mullw 20,16,15 + addze 26,0 + addc 24,24,21 + mullw 21,17,15 + adde 25,25,18 + mulhwu 18,16,15 + adde 26,26,19 + + mulhwu 19,17,15 + addc 25,25,20 + mullw 20,17,16 + adde 26,26,21 + mulhwu 21,17,16 + addze 27,0 + addc 26,26,18 + cmplw 0,6,4 + adde 27,27,19 + + addc 27,27,20 + sub 18,6,8 + addze 28,0 + add 28,28,21 + + beq Lsqr8x_outer_break + + mr 7,9 + lwz 9,4*1(5) + lwz 10,4*2(5) + lwz 11,4*3(5) + lwz 12,4*4(5) + lwz 14,4*5(5) + lwz 15,4*6(5) + lwz 16,4*7(5) + lwz 17,4*8(5) + addc 22,22,9 + lwz 9,4*1(4) + adde 23,23,10 + lwz 10,4*2(4) + adde 24,24,11 + lwz 11,4*3(4) + adde 25,25,12 + lwz 12,4*4(4) + adde 26,26,14 + lwz 14,4*5(4) + adde 27,27,15 + lwz 15,4*6(4) + adde 28,28,16 + lwz 16,4*7(4) + subi 3,4,4*7 + addze 29,17 + lwzu 17,4*8(4) + + li 30,0 + b Lsqr8x_mul + + + + + + + + + + + + + + + + + + + + + + + +.align 5 +Lsqr8x_mul: + mullw 18,9,7 + addze 31,0 + mullw 19,10,7 + addi 30,30,4 + mullw 20,11,7 + andi. 30,30,4*8-1 + mullw 21,12,7 + addc 22,22,18 + mullw 18,14,7 + adde 23,23,19 + mullw 19,15,7 + adde 24,24,20 + mullw 20,16,7 + adde 25,25,21 + mullw 21,17,7 + adde 26,26,18 + mulhwu 18,9,7 + adde 27,27,19 + mulhwu 19,10,7 + adde 28,28,20 + mulhwu 20,11,7 + adde 29,29,21 + mulhwu 21,12,7 + addze 31,31 + stwu 22,4(5) + addc 22,23,18 + mulhwu 18,14,7 + adde 23,24,19 + mulhwu 19,15,7 + adde 24,25,20 + mulhwu 20,16,7 + adde 25,26,21 + mulhwu 21,17,7 + lwzx 7,3,30 + adde 26,27,18 + adde 27,28,19 + adde 28,29,20 + adde 29,31,21 + + bne Lsqr8x_mul + + + cmplw 0,4,6 + beq Lsqr8x_break + + lwz 9,4*1(5) + lwz 10,4*2(5) + lwz 11,4*3(5) + lwz 12,4*4(5) + lwz 14,4*5(5) + lwz 15,4*6(5) + lwz 16,4*7(5) + lwz 17,4*8(5) + addc 22,22,9 + lwz 9,4*1(4) + adde 23,23,10 + lwz 10,4*2(4) + adde 24,24,11 + lwz 11,4*3(4) + adde 25,25,12 + lwz 12,4*4(4) + adde 26,26,14 + lwz 14,4*5(4) + adde 27,27,15 + lwz 15,4*6(4) + adde 28,28,16 + lwz 16,4*7(4) + adde 29,29,17 + lwzu 17,4*8(4) + + b Lsqr8x_mul + +.align 5 +Lsqr8x_break: + lwz 9,4*8(3) + addi 4,3,4*15 + lwz 10,4*9(3) + sub. 18,6,4 + lwz 11,4*10(3) + sub 19,5,18 + lwz 12,4*11(3) + lwz 14,4*12(3) + lwz 15,4*13(3) + lwz 16,4*14(3) + lwz 17,4*15(3) + beq Lsqr8x_outer_loop + + stw 22,4*1(5) + lwz 22,4*1(19) + stw 23,4*2(5) + lwz 23,4*2(19) + stw 24,4*3(5) + lwz 24,4*3(19) + stw 25,4*4(5) + lwz 25,4*4(19) + stw 26,4*5(5) + lwz 26,4*5(19) + stw 27,4*6(5) + lwz 27,4*6(19) + stw 28,4*7(5) + lwz 28,4*7(19) + stw 29,4*8(5) + lwz 29,4*8(19) + mr 5,19 + b Lsqr8x_outer_loop + +.align 5 +Lsqr8x_outer_break: + + + lwz 10,4*1(18) + lwz 12,4*2(18) + lwz 15,4*3(18) + lwz 17,4*4(18) + addi 4,18,4*4 + + lwz 19,4*13(1) + lwz 20,4*14(1) + lwz 21,4*15(1) + lwz 18,4*16(1) + + stw 22,4*1(5) + srwi 30,8,4 + stw 23,4*2(5) + subi 30,30,1 + stw 24,4*3(5) + stw 25,4*4(5) + stw 26,4*5(5) + stw 27,4*6(5) + stw 28,4*7(5) + + addi 5,1,4*11 + mullw 22,10,10 + mulhwu 10,10,10 + add 23,19,19 + srwi 19,19,32-1 + mullw 11,12,12 + mulhwu 12,12,12 + addc 23,23,10 + add 24,20,20 + srwi 20,20,32-1 + add 25,21,21 + srwi 21,21,32-1 + or 24,24,19 + + mtctr 30 +Lsqr4x_shift_n_add: + mullw 14,15,15 + mulhwu 15,15,15 + lwz 19,4*6(5) + lwz 10,4*1(4) + adde 24,24,11 + add 26,18,18 + srwi 18,18,32-1 + or 25,25,20 + lwz 20,4*7(5) + adde 25,25,12 + lwz 12,4*2(4) + add 27,19,19 + srwi 19,19,32-1 + or 26,26,21 + lwz 21,4*8(5) + mullw 16,17,17 + mulhwu 17,17,17 + adde 26,26,14 + add 28,20,20 + srwi 20,20,32-1 + or 27,27,18 + lwz 18,4*9(5) + adde 27,27,15 + lwz 15,4*3(4) + add 29,21,21 + srwi 21,21,32-1 + or 28,28,19 + lwz 19,4*10(5) + mullw 9,10,10 + mulhwu 10,10,10 + adde 28,28,16 + stw 22,4*1(5) + add 22,18,18 + srwi 18,18,32-1 + or 29,29,20 + lwz 20,4*11(5) + adde 29,29,17 + lwzu 17,4*4(4) + stw 23,4*2(5) + add 23,19,19 + srwi 19,19,32-1 + or 22,22,21 + lwz 21,4*12(5) + mullw 11,12,12 + mulhwu 12,12,12 + adde 22,22,9 + stw 24,4*3(5) + add 24,20,20 + srwi 20,20,32-1 + or 23,23,18 + lwz 18,4*13(5) + adde 23,23,10 + stw 25,4*4(5) + stw 26,4*5(5) + stw 27,4*6(5) + stw 28,4*7(5) + stwu 29,4*8(5) + add 25,21,21 + srwi 21,21,32-1 + or 24,24,19 + bc 16,0,Lsqr4x_shift_n_add + lwz 4,4*7(1) + lwz 7,4*8(1) + + mullw 14,15,15 + mulhwu 15,15,15 + stw 22,4*1(5) + lwz 22,4*12(1) + lwz 19,4*6(5) + adde 24,24,11 + add 26,18,18 + srwi 18,18,32-1 + or 25,25,20 + lwz 20,4*7(5) + adde 25,25,12 + add 27,19,19 + srwi 19,19,32-1 + or 26,26,21 + mullw 16,17,17 + mulhwu 17,17,17 + adde 26,26,14 + add 28,20,20 + srwi 20,20,32-1 + or 27,27,18 + stw 23,4*2(5) + lwz 23,4*13(1) + adde 27,27,15 + or 28,28,19 + lwz 9,4*1(4) + lwz 10,4*2(4) + adde 28,28,16 + lwz 11,4*3(4) + lwz 12,4*4(4) + adde 29,17,20 + lwz 14,4*5(4) + lwz 15,4*6(4) + + + + mullw 31,7,22 + li 30,8 + lwz 16,4*7(4) + add 6,4,8 + lwzu 17,4*8(4) + stw 24,4*3(5) + lwz 24,4*14(1) + stw 25,4*4(5) + lwz 25,4*15(1) + stw 26,4*5(5) + lwz 26,4*16(1) + stw 27,4*6(5) + lwz 27,4*17(1) + stw 28,4*7(5) + lwz 28,4*18(1) + stw 29,4*8(5) + lwz 29,4*19(1) + addi 5,1,4*11 + mtctr 30 + b Lsqr8x_reduction + +.align 5 +Lsqr8x_reduction: + + mullw 19,10,31 + mullw 20,11,31 + stwu 31,4(5) + mullw 21,12,31 + + addic 22,22,-1 + mullw 18,14,31 + adde 22,23,19 + mullw 19,15,31 + adde 23,24,20 + mullw 20,16,31 + adde 24,25,21 + mullw 21,17,31 + adde 25,26,18 + mulhwu 18,9,31 + adde 26,27,19 + mulhwu 19,10,31 + adde 27,28,20 + mulhwu 20,11,31 + adde 28,29,21 + mulhwu 21,12,31 + addze 29,0 + addc 22,22,18 + mulhwu 18,14,31 + adde 23,23,19 + mulhwu 19,15,31 + adde 24,24,20 + mulhwu 20,16,31 + adde 25,25,21 + mulhwu 21,17,31 + mullw 31,7,22 + adde 26,26,18 + adde 27,27,19 + adde 28,28,20 + adde 29,29,21 + bc 16,0,Lsqr8x_reduction + + lwz 18,4*1(5) + lwz 19,4*2(5) + lwz 20,4*3(5) + lwz 21,4*4(5) + subi 3,5,4*7 + cmplw 0,6,4 + addc 22,22,18 + lwz 18,4*5(5) + adde 23,23,19 + lwz 19,4*6(5) + adde 24,24,20 + lwz 20,4*7(5) + adde 25,25,21 + lwz 21,4*8(5) + adde 26,26,18 + adde 27,27,19 + adde 28,28,20 + adde 29,29,21 + + beq Lsqr8x8_post_condition + + lwz 7,4*0(3) + lwz 9,4*1(4) + lwz 10,4*2(4) + lwz 11,4*3(4) + lwz 12,4*4(4) + lwz 14,4*5(4) + lwz 15,4*6(4) + lwz 16,4*7(4) + lwzu 17,4*8(4) + li 30,0 + +.align 5 +Lsqr8x_tail: + mullw 18,9,7 + addze 31,0 + mullw 19,10,7 + addi 30,30,4 + mullw 20,11,7 + andi. 30,30,4*8-1 + mullw 21,12,7 + addc 22,22,18 + mullw 18,14,7 + adde 23,23,19 + mullw 19,15,7 + adde 24,24,20 + mullw 20,16,7 + adde 25,25,21 + mullw 21,17,7 + adde 26,26,18 + mulhwu 18,9,7 + adde 27,27,19 + mulhwu 19,10,7 + adde 28,28,20 + mulhwu 20,11,7 + adde 29,29,21 + mulhwu 21,12,7 + addze 31,31 + stwu 22,4(5) + addc 22,23,18 + mulhwu 18,14,7 + adde 23,24,19 + mulhwu 19,15,7 + adde 24,25,20 + mulhwu 20,16,7 + adde 25,26,21 + mulhwu 21,17,7 + lwzx 7,3,30 + adde 26,27,18 + adde 27,28,19 + adde 28,29,20 + adde 29,31,21 + + bne Lsqr8x_tail + + + lwz 9,4*1(5) + lwz 31,4*10(1) + cmplw 0,6,4 + lwz 10,4*2(5) + sub 20,6,8 + lwz 11,4*3(5) + lwz 12,4*4(5) + lwz 14,4*5(5) + lwz 15,4*6(5) + lwz 16,4*7(5) + lwz 17,4*8(5) + beq Lsqr8x_tail_break + + addc 22,22,9 + lwz 9,4*1(4) + adde 23,23,10 + lwz 10,4*2(4) + adde 24,24,11 + lwz 11,4*3(4) + adde 25,25,12 + lwz 12,4*4(4) + adde 26,26,14 + lwz 14,4*5(4) + adde 27,27,15 + lwz 15,4*6(4) + adde 28,28,16 + lwz 16,4*7(4) + adde 29,29,17 + lwzu 17,4*8(4) + + b Lsqr8x_tail + +.align 5 +Lsqr8x_tail_break: + lwz 7,4*8(1) + lwz 21,4*9(1) + addi 30,5,4*8 + + addic 31,31,-1 + adde 18,22,9 + lwz 22,4*8(3) + lwz 9,4*1(20) + adde 19,23,10 + lwz 23,4*9(3) + lwz 10,4*2(20) + adde 24,24,11 + lwz 11,4*3(20) + adde 25,25,12 + lwz 12,4*4(20) + adde 26,26,14 + lwz 14,4*5(20) + adde 27,27,15 + lwz 15,4*6(20) + adde 28,28,16 + lwz 16,4*7(20) + adde 29,29,17 + lwz 17,4*8(20) + addi 4,20,4*8 + addze 20,0 + mullw 31,7,22 + stw 18,4*1(5) + cmplw 0,30,21 + stw 19,4*2(5) + li 30,8 + stw 24,4*3(5) + lwz 24,4*10(3) + stw 25,4*4(5) + lwz 25,4*11(3) + stw 26,4*5(5) + lwz 26,4*12(3) + stw 27,4*6(5) + lwz 27,4*13(3) + stw 28,4*7(5) + lwz 28,4*14(3) + stw 29,4*8(5) + lwz 29,4*15(3) + stw 20,4*10(1) + addi 5,3,4*7 + mtctr 30 + bne Lsqr8x_reduction + + + + + + + lwz 3,4*6(1) + srwi 30,8,5 + mr 7,5 + addi 5,5,4*8 + subi 30,30,1 + subfc 18,9,22 + subfe 19,10,23 + mr 31,20 + mr 6,3 + + mtctr 30 + b Lsqr8x_sub + +.align 5 +Lsqr8x_sub: + lwz 9,4*1(4) + lwz 22,4*1(5) + lwz 10,4*2(4) + lwz 23,4*2(5) + subfe 20,11,24 + lwz 11,4*3(4) + lwz 24,4*3(5) + subfe 21,12,25 + lwz 12,4*4(4) + lwz 25,4*4(5) + stw 18,4*1(3) + subfe 18,14,26 + lwz 14,4*5(4) + lwz 26,4*5(5) + stw 19,4*2(3) + subfe 19,15,27 + lwz 15,4*6(4) + lwz 27,4*6(5) + stw 20,4*3(3) + subfe 20,16,28 + lwz 16,4*7(4) + lwz 28,4*7(5) + stw 21,4*4(3) + subfe 21,17,29 + lwzu 17,4*8(4) + lwzu 29,4*8(5) + stw 18,4*5(3) + subfe 18,9,22 + stw 19,4*6(3) + subfe 19,10,23 + stw 20,4*7(3) + stwu 21,4*8(3) + bc 16,0,Lsqr8x_sub + + srwi 30,8,4 + lwz 9,4*1(6) + lwz 22,4*1(7) + subi 30,30,1 + lwz 10,4*2(6) + lwz 23,4*2(7) + subfe 20,11,24 + lwz 11,4*3(6) + lwz 24,4*3(7) + subfe 21,12,25 + lwz 12,4*4(6) + lwzu 25,4*4(7) + stw 18,4*1(3) + subfe 18,14,26 + stw 19,4*2(3) + subfe 19,15,27 + stw 20,4*3(3) + subfe 20,16,28 + stw 21,4*4(3) + subfe 21,17,29 + stw 18,4*5(3) + subfe 31,0,31 + stw 19,4*6(3) + stw 20,4*7(3) + stw 21,4*8(3) + + addi 5,1,4*11 + mtctr 30 + +Lsqr4x_cond_copy: + andc 9,9,31 + stw 0,-4*3(7) + and 22,22,31 + stw 0,-4*2(7) + andc 10,10,31 + stw 0,-4*1(7) + and 23,23,31 + stw 0,-4*0(7) + andc 11,11,31 + stw 0,4*1(5) + and 24,24,31 + stw 0,4*2(5) + andc 12,12,31 + stw 0,4*3(5) + and 25,25,31 + stwu 0,4*4(5) + or 18,9,22 + lwz 9,4*5(6) + lwz 22,4*1(7) + or 19,10,23 + lwz 10,4*6(6) + lwz 23,4*2(7) + or 20,11,24 + lwz 11,4*7(6) + lwz 24,4*3(7) + or 21,12,25 + lwz 12,4*8(6) + lwzu 25,4*4(7) + stw 18,4*1(6) + stw 19,4*2(6) + stw 20,4*3(6) + stwu 21,4*4(6) + bc 16,0,Lsqr4x_cond_copy + + lwz 4,0(1) + andc 9,9,31 + and 22,22,31 + andc 10,10,31 + and 23,23,31 + andc 11,11,31 + and 24,24,31 + andc 12,12,31 + and 25,25,31 + or 18,9,22 + or 19,10,23 + or 20,11,24 + or 21,12,25 + stw 18,4*1(6) + stw 19,4*2(6) + stw 20,4*3(6) + stw 21,4*4(6) + + b Lsqr8x_done + +.align 5 +Lsqr8x8_post_condition: + lwz 3,4*6(1) + lwz 4,0(1) + addze 31,0 + + + subfc 22,9,22 + subfe 23,10,23 + stw 0,4*12(1) + stw 0,4*13(1) + subfe 24,11,24 + stw 0,4*14(1) + stw 0,4*15(1) + subfe 25,12,25 + stw 0,4*16(1) + stw 0,4*17(1) + subfe 26,14,26 + stw 0,4*18(1) + stw 0,4*19(1) + subfe 27,15,27 + stw 0,4*20(1) + stw 0,4*21(1) + subfe 28,16,28 + stw 0,4*22(1) + stw 0,4*23(1) + subfe 29,17,29 + stw 0,4*24(1) + stw 0,4*25(1) + subfe 31,0,31 + stw 0,4*26(1) + stw 0,4*27(1) + + and 9,9,31 + and 10,10,31 + addc 22,22,9 + and 11,11,31 + adde 23,23,10 + and 12,12,31 + adde 24,24,11 + and 14,14,31 + adde 25,25,12 + and 15,15,31 + adde 26,26,14 + and 16,16,31 + adde 27,27,15 + and 17,17,31 + adde 28,28,16 + adde 29,29,17 + stw 22,4*1(3) + stw 23,4*2(3) + stw 24,4*3(3) + stw 25,4*4(3) + stw 26,4*5(3) + stw 27,4*6(3) + stw 28,4*7(3) + stw 29,4*8(3) + +Lsqr8x_done: + stw 0,4*8(1) + stw 0,4*10(1) + + lwz 14,-4*18(4) + li 3,1 + lwz 15,-4*17(4) + lwz 16,-4*16(4) + lwz 17,-4*15(4) + lwz 18,-4*14(4) + lwz 19,-4*13(4) + lwz 20,-4*12(4) + lwz 21,-4*11(4) + lwz 22,-4*10(4) + lwz 23,-4*9(4) + lwz 24,-4*8(4) + lwz 25,-4*7(4) + lwz 26,-4*6(4) + lwz 27,-4*5(4) + lwz 28,-4*4(4) + lwz 29,-4*3(4) + lwz 30,-4*2(4) + lwz 31,-4*1(4) + mr 1,4 + blr +.long 0 +.byte 0,12,4,0x20,0x80,18,6,0 +.long 0 -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h index 1248f50fda..921b907b4e 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h @@ -1,29 +1,35 @@ -/* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */ -#define CFLAGS cflags /* - * Generate CFLAGS as an array of individual characters. This is a + * WARNING: do not edit! + * Generated by util/mkbuildinf.pl + * + * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define PLATFORM "platform: aix-gcc" +#define DATE "built on: Thu Nov 22 19:32:30 2018 UTC" + +/* + * Generate compiler_flags as an array of individual characters. This is a * workaround for the situation where CFLAGS gets too long for a C90 string * literal */ -static const char cflags[] = { - 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','D', - 'D','S','O','_','D','L','F','C','N',' ','-','D','H','A','V','E', - '_','D','L','F','C','N','_','H',' ','-','D','N','D','E','B','U', - 'G',' ','-','D','O','P','E','N','S','S','L','_','T','H','R','E', - 'A','D','S',' ','-','D','O','P','E','N','S','S','L','_','N','O', - '_','D','Y','N','A','M','I','C','_','E','N','G','I','N','E',' ', - '-','D','O','P','E','N','S','S','L','_','P','I','C',' ','-','D', - 'O','P','E','N','S','S','L','_','B','N','_','A','S','M','_','M', - 'O','N','T',' ','-','D','S','H','A','1','_','A','S','M',' ','-', - 'D','S','H','A','2','5','6','_','A','S','M',' ','-','D','S','H', - 'A','5','1','2','_','A','S','M',' ','-','D','A','E','S','_','A', - 'S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-', - 'D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D', - 'O','P','E','N','S','S','L','D','I','R','=','"','\\','"','/','u', - 's','r','/','l','o','c','a','l','/','s','s','l','\\','"','"',' ', - '-','D','E','N','G','I','N','E','S','D','I','R','=','"','\\','"', - '/','u','s','r','/','l','o','c','a','l','/','l','i','b','/','e', - 'n','g','i','n','e','s','-','1','.','1','\\','"','"',' ','\0' +static const char compiler_flags[] = { + 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','p', + 't','h','r','e','a','d',' ','-','W','a',',','-','-','n','o','e', + 'x','e','c','s','t','a','c','k',' ','-','O',' ','-','D','B','_', + 'E','N','D','I','A','N',' ','-','D','O','P','E','N','S','S','L', + '_','P','I','C',' ','-','D','O','P','E','N','S','S','L','_','C', + 'P','U','I','D','_','O','B','J',' ','-','D','O','P','E','N','S', + 'S','L','_','B','N','_','A','S','M','_','M','O','N','T',' ','-', + 'D','S','H','A','1','_','A','S','M',' ','-','D','S','H','A','2', + '5','6','_','A','S','M',' ','-','D','S','H','A','5','1','2','_', + 'A','S','M',' ','-','D','A','E','S','_','A','S','M',' ','-','D', + 'V','P','A','E','S','_','A','S','M',' ','-','D','P','O','L','Y', + '1','3','0','5','_','A','S','M',' ','-','D','N','D','E','B','U', + 'G','\0' }; -#define PLATFORM "platform: aix-gcc" -#define DATE "built on: Tue Nov 20 09:37:21 2018" diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/chacha/chacha-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/chacha/chacha-ppc.s index e4e4612d3a..787e820cc5 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/chacha/chacha-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/chacha/chacha-ppc.s @@ -406,54 +406,48 @@ Loop_tail: cmplwi 5,256 blt __ChaCha20_ctr32_int - stwu 1,-368(1) + stwu 1,-320(1) mflr 0 li 10,103 li 11,119 li 12,-1 - stvx 20,10,1 + stvx 23,10,1 addi 10,10,32 - stvx 21,11,1 + stvx 24,11,1 addi 11,11,32 - stvx 22,10,1 + stvx 25,10,1 addi 10,10,32 - stvx 23,11,1 + stvx 26,11,1 addi 11,11,32 - stvx 24,10,1 + stvx 27,10,1 addi 10,10,32 - stvx 25,11,1 + stvx 28,11,1 addi 11,11,32 - stvx 26,10,1 + stvx 29,10,1 addi 10,10,32 - stvx 27,11,1 - addi 11,11,32 - stvx 28,10,1 - addi 10,10,32 - stvx 29,11,1 - addi 11,11,32 - stvx 30,10,1 - stvx 31,11,1 - stw 12,292(1) - stw 14,296(1) - stw 15,300(1) - stw 16,304(1) - stw 17,308(1) - stw 18,312(1) - stw 19,316(1) - stw 20,320(1) - stw 21,324(1) - stw 22,328(1) - stw 23,332(1) - stw 24,336(1) - stw 25,340(1) - stw 26,344(1) - stw 27,348(1) - stw 28,352(1) - stw 29,356(1) - stw 30,360(1) - stw 31,364(1) - li 12,-1 - stw 0, 372(1) + stvx 30,11,1 + stvx 31,10,1 + stw 12,244(1) + stw 14,248(1) + stw 15,252(1) + stw 16,256(1) + stw 17,260(1) + stw 18,264(1) + stw 19,268(1) + stw 20,272(1) + stw 21,276(1) + stw 22,280(1) + stw 23,284(1) + stw 24,288(1) + stw 25,292(1) + stw 26,296(1) + stw 27,300(1) + stw 28,304(1) + stw 29,308(1) + stw 30,312(1) + stw 31,316(1) + li 12,-4096+511 + stw 0, 324(1) or 12,12,12 bl Lconsts @@ -464,308 +458,281 @@ Loop_tail: li 20,31 li 21,15 - lvx 16,0,6 - lvsl 12,0,6 - lvx 17,16,6 - lvx 31,20,6 + lvx 13,0,6 + lvsl 29,0,6 + lvx 14,16,6 + lvx 27,20,6 - lvx 18,0,7 - lvsl 13,0,7 - lvx 27,21,7 + lvx 15,0,7 + lvsl 30,0,7 + lvx 28,21,7 - lvx 15,0,12 - lvx 20,16,12 - lvx 21,17,12 - lvx 22,18,12 + lvx 12,0,12 + lvx 17,16,12 + lvx 18,17,12 + lvx 19,18,12 lvx 23,19,12 - vperm 16,16,17,12 - vperm 17,17,31,12 - vperm 18,18,27,13 + vperm 13,13,14,29 + vperm 14,14,27,29 + vperm 15,15,28,30 lwz 11,0(7) lwz 12,4(7) - vadduwm 18,18,20 + vadduwm 15,15,17 lwz 14,8(7) - vadduwm 19,18,20 + vadduwm 16,15,17 lwz 15,12(7) - vadduwm 20,19,20 - - vspltisw 24,-12 - vspltisw 25,12 - vspltisw 26,-7 + vadduwm 17,16,17 + vxor 29,29,29 + vspltisw 26,-1 + lvsl 24,0,4 + lvsr 25,0,3 + vperm 26,29,26,25 - vxor 12,12,12 - vspltisw 30,-1 - lvsl 28,0,4 - lvsr 29,0,3 - vperm 30,12,30,29 - - lvsl 12,0,16 - vspltisb 13,3 - vxor 12,12,13 - vxor 29,29,13 - vperm 28,28,28,12 + lvsl 29,0,16 + vspltisb 30,3 + vxor 29,29,30 + vxor 25,25,30 + vperm 24,24,24,29 + li 0,10 b Loop_outer_vmx .align 4 Loop_outer_vmx: lis 16,0x6170 lis 17,0x3320 - vor 0,15,15 + vor 0,12,12 lis 18,0x7962 lis 19,0x6b20 - vor 4,15,15 + vor 4,12,12 ori 16,16,0x7865 ori 17,17,0x646e - vor 8,15,15 + vor 8,12,12 ori 18,18,0x2d32 ori 19,19,0x6574 - vor 1,16,16 + vor 1,13,13 - li 0,10 lwz 20,0(6) - vor 5,16,16 + vor 5,13,13 lwz 21,4(6) - vor 9,16,16 + vor 9,13,13 lwz 22,8(6) - vor 2,17,17 + vor 2,14,14 lwz 23,12(6) - vor 6,17,17 + vor 6,14,14 lwz 24,16(6) - vor 10,17,17 + vor 10,14,14 mr 28,11 lwz 25,20(6) - vor 3,18,18 + vor 3,15,15 mr 29,12 lwz 26,24(6) - vor 7,19,19 + vor 7,16,16 mr 30,14 lwz 27,28(6) - vor 11,20,20 + vor 11,17,17 mr 31,15 mr 7,20 mr 8,21 mr 9,22 mr 10,23 - vspltisw 27,7 + + vspltisw 27,12 + vspltisw 28,7 mtctr 0 nop Loop_vmx: vadduwm 0,0,1 - add 16,16,20 vadduwm 4,4,5 - add 17,17,21 vadduwm 8,8,9 + add 16,16,20 + add 17,17,21 add 18,18,22 vxor 3,3,0 - add 19,19,23 vxor 7,7,4 - xor 28,28,16 vxor 11,11,8 + add 19,19,23 + xor 28,28,16 xor 29,29,17 - vperm 3,3,3,22 + vperm 3,3,3,19 + vperm 7,7,7,19 + vperm 11,11,11,19 xor 30,30,18 - vperm 7,7,7,22 xor 31,31,19 - vperm 11,11,11,22 rotlwi 28,28,16 vadduwm 2,2,3 - rotlwi 29,29,16 vadduwm 6,6,7 - rotlwi 30,30,16 vadduwm 10,10,11 + rotlwi 29,29,16 + rotlwi 30,30,16 rotlwi 31,31,16 - vxor 12,1,2 + vxor 1,1,2 + vxor 5,5,6 + vxor 9,9,10 add 24,24,28 - vxor 13,5,6 add 25,25,29 - vxor 14,9,10 add 26,26,30 - vsrw 1,12,24 + vrlw 1,1,27 + vrlw 5,5,27 + vrlw 9,9,27 add 27,27,31 - vsrw 5,13,24 xor 20,20,24 - vsrw 9,14,24 xor 21,21,25 - vslw 12,12,25 + vadduwm 0,0,1 + vadduwm 4,4,5 + vadduwm 8,8,9 xor 22,22,26 - vslw 13,13,25 xor 23,23,27 - vslw 14,14,25 rotlwi 20,20,12 - vor 1,1,12 + vxor 3,3,0 + vxor 7,7,4 + vxor 11,11,8 rotlwi 21,21,12 - vor 5,5,13 rotlwi 22,22,12 - vor 9,9,14 rotlwi 23,23,12 - vadduwm 0,0,1 + vperm 3,3,3,23 + vperm 7,7,7,23 + vperm 11,11,11,23 add 16,16,20 - vadduwm 4,4,5 add 17,17,21 - vadduwm 8,8,9 add 18,18,22 - vxor 3,3,0 + vadduwm 2,2,3 + vadduwm 6,6,7 + vadduwm 10,10,11 add 19,19,23 - vxor 7,7,4 xor 28,28,16 - vxor 11,11,8 xor 29,29,17 - vperm 3,3,3,23 + vxor 1,1,2 + vxor 5,5,6 + vxor 9,9,10 xor 30,30,18 - vperm 7,7,7,23 xor 31,31,19 - vperm 11,11,11,23 rotlwi 28,28,8 - vadduwm 2,2,3 + vrlw 1,1,28 + vrlw 5,5,28 + vrlw 9,9,28 rotlwi 29,29,8 - vadduwm 6,6,7 rotlwi 30,30,8 - vadduwm 10,10,11 rotlwi 31,31,8 - vxor 12,1,2 + vsldoi 2,2,2, 16-8 + vsldoi 6,6,6, 16-8 + vsldoi 10,10,10, 16-8 add 24,24,28 - vxor 13,5,6 add 25,25,29 - vxor 14,9,10 add 26,26,30 - vsrw 1,12,26 + vsldoi 1,1,1, 16-12 + vsldoi 5,5,5, 16-12 + vsldoi 9,9,9, 16-12 add 27,27,31 - vsrw 5,13,26 xor 20,20,24 - vsrw 9,14,26 xor 21,21,25 - vslw 12,12,27 + vsldoi 3,3,3, 16-4 + vsldoi 7,7,7, 16-4 + vsldoi 11,11,11, 16-4 xor 22,22,26 - vslw 13,13,27 xor 23,23,27 - vslw 14,14,27 rotlwi 20,20,7 - vor 1,1,12 rotlwi 21,21,7 - vor 5,5,13 rotlwi 22,22,7 - vor 9,9,14 rotlwi 23,23,7 - vsldoi 2,2,2, 16-8 - vsldoi 6,6,6, 16-8 - vsldoi 10,10,10, 16-8 - vsldoi 1,1,1, 16-12 - vsldoi 5,5,5, 16-12 - vsldoi 9,9,9, 16-12 - vsldoi 3,3,3, 16-4 - vsldoi 7,7,7, 16-4 - vsldoi 11,11,11, 16-4 vadduwm 0,0,1 - add 16,16,21 vadduwm 4,4,5 - add 17,17,22 vadduwm 8,8,9 + add 16,16,21 + add 17,17,22 add 18,18,23 vxor 3,3,0 - add 19,19,20 vxor 7,7,4 - xor 31,31,16 vxor 11,11,8 + add 19,19,20 + xor 31,31,16 xor 28,28,17 - vperm 3,3,3,22 + vperm 3,3,3,19 + vperm 7,7,7,19 + vperm 11,11,11,19 xor 29,29,18 - vperm 7,7,7,22 xor 30,30,19 - vperm 11,11,11,22 rotlwi 31,31,16 vadduwm 2,2,3 - rotlwi 28,28,16 vadduwm 6,6,7 - rotlwi 29,29,16 vadduwm 10,10,11 + rotlwi 28,28,16 + rotlwi 29,29,16 rotlwi 30,30,16 - vxor 12,1,2 + vxor 1,1,2 + vxor 5,5,6 + vxor 9,9,10 add 26,26,31 - vxor 13,5,6 add 27,27,28 - vxor 14,9,10 add 24,24,29 - vsrw 1,12,24 + vrlw 1,1,27 + vrlw 5,5,27 + vrlw 9,9,27 add 25,25,30 - vsrw 5,13,24 xor 21,21,26 - vsrw 9,14,24 xor 22,22,27 - vslw 12,12,25 + vadduwm 0,0,1 + vadduwm 4,4,5 + vadduwm 8,8,9 xor 23,23,24 - vslw 13,13,25 xor 20,20,25 - vslw 14,14,25 rotlwi 21,21,12 - vor 1,1,12 + vxor 3,3,0 + vxor 7,7,4 + vxor 11,11,8 rotlwi 22,22,12 - vor 5,5,13 rotlwi 23,23,12 - vor 9,9,14 rotlwi 20,20,12 - vadduwm 0,0,1 + vperm 3,3,3,23 + vperm 7,7,7,23 + vperm 11,11,11,23 add 16,16,21 - vadduwm 4,4,5 add 17,17,22 - vadduwm 8,8,9 add 18,18,23 - vxor 3,3,0 + vadduwm 2,2,3 + vadduwm 6,6,7 + vadduwm 10,10,11 add 19,19,20 - vxor 7,7,4 xor 31,31,16 - vxor 11,11,8 xor 28,28,17 - vperm 3,3,3,23 + vxor 1,1,2 + vxor 5,5,6 + vxor 9,9,10 xor 29,29,18 - vperm 7,7,7,23 xor 30,30,19 - vperm 11,11,11,23 rotlwi 31,31,8 - vadduwm 2,2,3 + vrlw 1,1,28 + vrlw 5,5,28 + vrlw 9,9,28 rotlwi 28,28,8 - vadduwm 6,6,7 rotlwi 29,29,8 - vadduwm 10,10,11 rotlwi 30,30,8 - vxor 12,1,2 + vsldoi 2,2,2, 16-8 + vsldoi 6,6,6, 16-8 + vsldoi 10,10,10, 16-8 add 26,26,31 - vxor 13,5,6 add 27,27,28 - vxor 14,9,10 add 24,24,29 - vsrw 1,12,26 + vsldoi 1,1,1, 16-4 + vsldoi 5,5,5, 16-4 + vsldoi 9,9,9, 16-4 add 25,25,30 - vsrw 5,13,26 xor 21,21,26 - vsrw 9,14,26 xor 22,22,27 - vslw 12,12,27 + vsldoi 3,3,3, 16-12 + vsldoi 7,7,7, 16-12 + vsldoi 11,11,11, 16-12 xor 23,23,24 - vslw 13,13,27 xor 20,20,25 - vslw 14,14,27 rotlwi 21,21,7 - vor 1,1,12 rotlwi 22,22,7 - vor 5,5,13 rotlwi 23,23,7 - vor 9,9,14 rotlwi 20,20,7 - vsldoi 2,2,2, 16-8 - vsldoi 6,6,6, 16-8 - vsldoi 10,10,10, 16-8 - vsldoi 1,1,1, 16-4 - vsldoi 5,5,5, 16-4 - vsldoi 9,9,9, 16-4 - vsldoi 3,3,3, 16-12 - vsldoi 7,7,7, 16-12 - vsldoi 11,11,11, 16-12 bc 16,0,Loop_vmx subi 5,5,256 @@ -794,23 +761,23 @@ Loop_vmx: add 30,30,14 add 31,31,15 - vadduwm 0,0,15 - vadduwm 4,4,15 - vadduwm 8,8,15 - vadduwm 1,1,16 - vadduwm 5,5,16 - vadduwm 9,9,16 - vadduwm 2,2,17 - vadduwm 6,6,17 - vadduwm 10,10,17 - vadduwm 3,3,18 - vadduwm 7,7,19 - vadduwm 11,11,20 + vadduwm 0,0,12 + vadduwm 4,4,12 + vadduwm 8,8,12 + vadduwm 1,1,13 + vadduwm 5,5,13 + vadduwm 9,9,13 + vadduwm 2,2,14 + vadduwm 6,6,14 + vadduwm 10,10,14 + vadduwm 3,3,15 + vadduwm 7,7,16 + vadduwm 11,11,17 addi 11,11,4 - vadduwm 18,18,21 - vadduwm 19,19,21 - vadduwm 20,20,21 + vadduwm 15,15,18 + vadduwm 16,16,18 + vadduwm 17,17,18 mr 7,16 rotlwi 16,16,8 @@ -931,84 +898,84 @@ Loop_vmx: stw 31,60(3) addi 3,3,64 - lvx 31,0,4 - lvx 27,7,4 - lvx 12,8,4 - lvx 13,9,4 - lvx 14,10,4 + lvx 27,0,4 + lvx 28,7,4 + lvx 29,8,4 + lvx 30,9,4 + lvx 31,10,4 addi 4,4,64 - vperm 31,31,27,28 - vperm 27,27,12,28 - vperm 12,12,13,28 - vperm 13,13,14,28 - vxor 0,0,31 - vxor 1,1,27 - lvx 27,7,4 - vxor 2,2,12 - lvx 12,8,4 - vxor 3,3,13 - lvx 13,9,4 - lvx 31,10,4 + vperm 27,27,28,24 + vperm 28,28,29,24 + vperm 29,29,30,24 + vperm 30,30,31,24 + vxor 0,0,27 + vxor 1,1,28 + lvx 28,7,4 + vxor 2,2,29 + lvx 29,8,4 + vxor 3,3,30 + lvx 30,9,4 + lvx 27,10,4 addi 4,4,64 li 10,63 - vperm 0,0,0,29 - vperm 1,1,1,29 - vperm 2,2,2,29 - vperm 3,3,3,29 - - vperm 14,14,27,28 - vperm 27,27,12,28 - vperm 12,12,13,28 - vperm 13,13,31,28 - vxor 4,4,14 - vxor 5,5,27 - lvx 27,7,4 - vxor 6,6,12 - lvx 12,8,4 - vxor 7,7,13 - lvx 13,9,4 - lvx 14,10,4 + vperm 0,0,0,25 + vperm 1,1,1,25 + vperm 2,2,2,25 + vperm 3,3,3,25 + + vperm 31,31,28,24 + vperm 28,28,29,24 + vperm 29,29,30,24 + vperm 30,30,27,24 + vxor 4,4,31 + vxor 5,5,28 + lvx 28,7,4 + vxor 6,6,29 + lvx 29,8,4 + vxor 7,7,30 + lvx 30,9,4 + lvx 31,10,4 addi 4,4,64 - vperm 4,4,4,29 - vperm 5,5,5,29 - vperm 6,6,6,29 - vperm 7,7,7,29 - - vperm 31,31,27,28 - vperm 27,27,12,28 - vperm 12,12,13,28 - vperm 13,13,14,28 - vxor 8,8,31 - vxor 9,9,27 - vxor 10,10,12 - vxor 11,11,13 - vperm 8,8,8,29 - vperm 9,9,9,29 - vperm 10,10,10,29 - vperm 11,11,11,29 + vperm 4,4,4,25 + vperm 5,5,5,25 + vperm 6,6,6,25 + vperm 7,7,7,25 + + vperm 27,27,28,24 + vperm 28,28,29,24 + vperm 29,29,30,24 + vperm 30,30,31,24 + vxor 8,8,27 + vxor 9,9,28 + vxor 10,10,29 + vxor 11,11,30 + vperm 8,8,8,25 + vperm 9,9,9,25 + vperm 10,10,10,25 + vperm 11,11,11,25 andi. 17,3,15 mr 16,3 - vsel 31,0,1,30 - vsel 27,1,2,30 - vsel 12,2,3,30 - vsel 13,3,4,30 - vsel 1,4,5,30 - vsel 2,5,6,30 - vsel 3,6,7,30 - vsel 4,7,8,30 - vsel 5,8,9,30 - vsel 6,9,10,30 - vsel 7,10,11,30 - - - stvx 31,7,3 - stvx 27,8,3 - stvx 12,9,3 + vsel 27,0,1,26 + vsel 28,1,2,26 + vsel 29,2,3,26 + vsel 30,3,4,26 + vsel 1,4,5,26 + vsel 2,5,6,26 + vsel 3,6,7,26 + vsel 4,7,8,26 + vsel 5,8,9,26 + vsel 6,9,10,26 + vsel 7,10,11,26 + + + stvx 27,7,3 + stvx 28,8,3 + stvx 29,9,3 addi 3,3,64 - stvx 13,0,3 + stvx 30,0,3 stvx 1,7,3 stvx 2,8,3 stvx 3,9,3 @@ -1053,22 +1020,404 @@ Ldone_vmx: cmplwi 5,0 bnel __ChaCha20_1x - lwz 12,292(1) + lwz 12,244(1) li 10,103 li 11,119 or 12,12,12 - lvx 20,10,1 + lvx 23,10,1 addi 10,10,32 - lvx 21,11,1 + lvx 24,11,1 addi 11,11,32 - lvx 22,10,1 + lvx 25,10,1 addi 10,10,32 - lvx 23,11,1 + lvx 26,11,1 addi 11,11,32 - lvx 24,10,1 + lvx 27,10,1 addi 10,10,32 - lvx 25,11,1 + lvx 28,11,1 addi 11,11,32 + lvx 29,10,1 + addi 10,10,32 + lvx 30,11,1 + lvx 31,10,1 + lwz 0, 324(1) + lwz 14,248(1) + lwz 15,252(1) + lwz 16,256(1) + lwz 17,260(1) + lwz 18,264(1) + lwz 19,268(1) + lwz 20,272(1) + lwz 21,276(1) + lwz 22,280(1) + lwz 23,284(1) + lwz 24,288(1) + lwz 25,292(1) + lwz 26,296(1) + lwz 27,300(1) + lwz 28,304(1) + lwz 29,308(1) + lwz 30,312(1) + lwz 31,316(1) + mtlr 0 + addi 1,1,320 + blr +.long 0 +.byte 0,12,0x04,1,0x80,18,5,0 +.long 0 + + +.globl .ChaCha20_ctr32_vsx +.align 5 +.ChaCha20_ctr32_vsx: + stwu 1,-200(1) + mflr 0 + li 10,103 + li 11,119 + li 12,-1 + stvx 26,10,1 + addi 10,10,32 + stvx 27,11,1 + addi 11,11,32 + stvx 28,10,1 + addi 10,10,32 + stvx 29,11,1 + addi 11,11,32 + stvx 30,10,1 + stvx 31,11,1 + stw 12,196(1) + li 12,-4096+63 + stw 0, 204(1) + or 12,12,12 + + bl Lconsts + .long 0x7E006619 + addi 12,12,0x50 + li 8,16 + li 9,32 + li 10,48 + li 11,64 + + .long 0x7E203619 + .long 0x7E483619 + .long 0x7E603E19 + + vxor 27,27,27 + .long 0x7F8B6619 + vspltw 26,19,0 + vsldoi 19,19,27,4 + vsldoi 19,27,19,12 + vadduwm 26,26,28 + + lvsl 31,0,8 + vspltisb 27,3 + vxor 31,31,27 + + li 0,10 + mtctr 0 + b Loop_outer_vsx + +.align 5 +Loop_outer_vsx: + lvx 0,0,12 + lvx 1,8,12 + lvx 2,9,12 + lvx 3,10,12 + + vspltw 4,17,0 + vspltw 5,17,1 + vspltw 6,17,2 + vspltw 7,17,3 + + vspltw 8,18,0 + vspltw 9,18,1 + vspltw 10,18,2 + vspltw 11,18,3 + + vor 12,26,26 + vspltw 13,19,1 + vspltw 14,19,2 + vspltw 15,19,3 + + vspltisw 27,-16 + vspltisw 28,12 + vspltisw 29,8 + vspltisw 30,7 + +Loop_vsx: + vadduwm 0,0,4 + vadduwm 1,1,5 + vadduwm 2,2,6 + vadduwm 3,3,7 + vxor 12,12,0 + vxor 13,13,1 + vxor 14,14,2 + vxor 15,15,3 + vrlw 12,12,27 + vrlw 13,13,27 + vrlw 14,14,27 + vrlw 15,15,27 + vadduwm 8,8,12 + vadduwm 9,9,13 + vadduwm 10,10,14 + vadduwm 11,11,15 + vxor 4,4,8 + vxor 5,5,9 + vxor 6,6,10 + vxor 7,7,11 + vrlw 4,4,28 + vrlw 5,5,28 + vrlw 6,6,28 + vrlw 7,7,28 + vadduwm 0,0,4 + vadduwm 1,1,5 + vadduwm 2,2,6 + vadduwm 3,3,7 + vxor 12,12,0 + vxor 13,13,1 + vxor 14,14,2 + vxor 15,15,3 + vrlw 12,12,29 + vrlw 13,13,29 + vrlw 14,14,29 + vrlw 15,15,29 + vadduwm 8,8,12 + vadduwm 9,9,13 + vadduwm 10,10,14 + vadduwm 11,11,15 + vxor 4,4,8 + vxor 5,5,9 + vxor 6,6,10 + vxor 7,7,11 + vrlw 4,4,30 + vrlw 5,5,30 + vrlw 6,6,30 + vrlw 7,7,30 + vadduwm 0,0,5 + vadduwm 1,1,6 + vadduwm 2,2,7 + vadduwm 3,3,4 + vxor 15,15,0 + vxor 12,12,1 + vxor 13,13,2 + vxor 14,14,3 + vrlw 15,15,27 + vrlw 12,12,27 + vrlw 13,13,27 + vrlw 14,14,27 + vadduwm 10,10,15 + vadduwm 11,11,12 + vadduwm 8,8,13 + vadduwm 9,9,14 + vxor 5,5,10 + vxor 6,6,11 + vxor 7,7,8 + vxor 4,4,9 + vrlw 5,5,28 + vrlw 6,6,28 + vrlw 7,7,28 + vrlw 4,4,28 + vadduwm 0,0,5 + vadduwm 1,1,6 + vadduwm 2,2,7 + vadduwm 3,3,4 + vxor 15,15,0 + vxor 12,12,1 + vxor 13,13,2 + vxor 14,14,3 + vrlw 15,15,29 + vrlw 12,12,29 + vrlw 13,13,29 + vrlw 14,14,29 + vadduwm 10,10,15 + vadduwm 11,11,12 + vadduwm 8,8,13 + vadduwm 9,9,14 + vxor 5,5,10 + vxor 6,6,11 + vxor 7,7,8 + vxor 4,4,9 + vrlw 5,5,30 + vrlw 6,6,30 + vrlw 7,7,30 + vrlw 4,4,30 + bc 16,0,Loop_vsx + + vadduwm 12,12,26 + + .long 0x13600F8C + .long 0x13821F8C + .long 0x10000E8C + .long 0x10421E8C + .long 0x13A42F8C + .long 0x13C63F8C + .long 0xF0201057 + .long 0xF0601357 + .long 0xF01BE057 + .long 0xF05BE357 + + .long 0x10842E8C + .long 0x10C63E8C + .long 0x13684F8C + .long 0x138A5F8C + .long 0xF0A43057 + .long 0xF0E43357 + .long 0xF09DF057 + .long 0xF0DDF357 + + .long 0x11084E8C + .long 0x114A5E8C + .long 0x13AC6F8C + .long 0x13CE7F8C + .long 0xF1285057 + .long 0xF1685357 + .long 0xF11BE057 + .long 0xF15BE357 + + .long 0x118C6E8C + .long 0x11CE7E8C + vspltisw 27,4 + vadduwm 26,26,27 + .long 0xF1AC7057 + .long 0xF1EC7357 + .long 0xF19DF057 + .long 0xF1DDF357 + + vadduwm 0,0,16 + vadduwm 4,4,17 + vadduwm 8,8,18 + vadduwm 12,12,19 + + vperm 0,0,0,31 + vperm 4,4,4,31 + vperm 8,8,8,31 + vperm 12,12,12,31 + + cmplwi 5,0x40 + blt Ltail_vsx + + .long 0x7F602619 + .long 0x7F882619 + .long 0x7FA92619 + .long 0x7FCA2619 + + vxor 27,27,0 + vxor 28,28,4 + vxor 29,29,8 + vxor 30,30,12 + + .long 0x7F601F19 + .long 0x7F881F19 + addi 4,4,0x40 + .long 0x7FA91F19 + subi 5,5,0x40 + .long 0x7FCA1F19 + addi 3,3,0x40 + beq Ldone_vsx + + vadduwm 0,1,16 + vadduwm 4,5,17 + vadduwm 8,9,18 + vadduwm 12,13,19 + + vperm 0,0,0,31 + vperm 4,4,4,31 + vperm 8,8,8,31 + vperm 12,12,12,31 + + cmplwi 5,0x40 + blt Ltail_vsx + + .long 0x7F602619 + .long 0x7F882619 + .long 0x7FA92619 + .long 0x7FCA2619 + + vxor 27,27,0 + vxor 28,28,4 + vxor 29,29,8 + vxor 30,30,12 + + .long 0x7F601F19 + .long 0x7F881F19 + addi 4,4,0x40 + .long 0x7FA91F19 + subi 5,5,0x40 + .long 0x7FCA1F19 + addi 3,3,0x40 + beq Ldone_vsx + + vadduwm 0,2,16 + vadduwm 4,6,17 + vadduwm 8,10,18 + vadduwm 12,14,19 + + vperm 0,0,0,31 + vperm 4,4,4,31 + vperm 8,8,8,31 + vperm 12,12,12,31 + + cmplwi 5,0x40 + blt Ltail_vsx + + .long 0x7F602619 + .long 0x7F882619 + .long 0x7FA92619 + .long 0x7FCA2619 + + vxor 27,27,0 + vxor 28,28,4 + vxor 29,29,8 + vxor 30,30,12 + + .long 0x7F601F19 + .long 0x7F881F19 + addi 4,4,0x40 + .long 0x7FA91F19 + subi 5,5,0x40 + .long 0x7FCA1F19 + addi 3,3,0x40 + beq Ldone_vsx + + vadduwm 0,3,16 + vadduwm 4,7,17 + vadduwm 8,11,18 + vadduwm 12,15,19 + + vperm 0,0,0,31 + vperm 4,4,4,31 + vperm 8,8,8,31 + vperm 12,12,12,31 + + cmplwi 5,0x40 + blt Ltail_vsx + + .long 0x7F602619 + .long 0x7F882619 + .long 0x7FA92619 + .long 0x7FCA2619 + + vxor 27,27,0 + vxor 28,28,4 + vxor 29,29,8 + vxor 30,30,12 + + .long 0x7F601F19 + .long 0x7F881F19 + addi 4,4,0x40 + .long 0x7FA91F19 + subi 5,5,0x40 + .long 0x7FCA1F19 + addi 3,3,0x40 + mtctr 0 + bne Loop_outer_vsx + +Ldone_vsx: + lwz 12,196(1) + li 10,103 + li 11,119 + lwz 0, 204(1) + or 12,12,12 lvx 26,10,1 addi 10,10,32 lvx 27,11,1 @@ -1079,33 +1428,39 @@ Ldone_vmx: addi 11,11,32 lvx 30,10,1 lvx 31,11,1 - lwz 0, 372(1) - lwz 14,296(1) - lwz 15,300(1) - lwz 16,304(1) - lwz 17,308(1) - lwz 18,312(1) - lwz 19,316(1) - lwz 20,320(1) - lwz 21,324(1) - lwz 22,328(1) - lwz 23,332(1) - lwz 24,336(1) - lwz 25,340(1) - lwz 26,344(1) - lwz 27,348(1) - lwz 28,352(1) - lwz 29,356(1) - lwz 30,360(1) - lwz 31,364(1) mtlr 0 - addi 1,1,368 + addi 1,1,200 blr + +.align 4 +Ltail_vsx: + addi 11,1,24 + mtctr 5 + .long 0x7C005F19 + .long 0x7C885F19 + .long 0x7D095F19 + .long 0x7D8A5F19 + subi 12,11,1 + subi 4,4,1 + subi 3,3,1 + +Loop_tail_vsx: + lbzu 6,1(12) + lbzu 7,1(4) + xor 6,6,7 + stbu 6,1(3) + bc 16,0,Loop_tail_vsx + + .long 0x7E005F19 + .long 0x7E085F19 + .long 0x7E095F19 + .long 0x7E0A5F19 + + b Ldone_vsx .long 0 -.byte 0,12,0x04,1,0x80,18,5,0 +.byte 0,12,0x04,1,0x80,0,5,0 .long 0 - .align 5 Lconsts: mflr 0 @@ -1123,6 +1478,11 @@ Lsigma: .long 4,0,0,0 .long 0x02030001,0x06070405,0x0a0b0809,0x0e0f0c0d .long 0x01020300,0x05060704,0x090a0b08,0x0d0e0f0c -.byte 67,104,97,67,104,97,50,48,32,102,111,114,32,80,111,119,101,114,80,67,47,65,108,116,105,86,101,99,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.long 0x61707865,0x61707865,0x61707865,0x61707865 +.long 0x3320646e,0x3320646e,0x3320646e,0x3320646e +.long 0x79622d32,0x79622d32,0x79622d32,0x79622d32 +.long 0x6b206574,0x6b206574,0x6b206574,0x6b206574 +.long 0,1,2,3 +.byte 67,104,97,67,104,97,50,48,32,102,111,114,32,80,111,119,101,114,80,67,47,65,108,116,105,86,101,99,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h index 7a52dd1f1a..18f6ac3bff 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h @@ -1,7 +1,7 @@ /* WARNING: do not edit! */ /* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -12,5 +12,8 @@ #ifndef HEADER_DSO_CONF_H # define HEADER_DSO_CONF_H +# define DSO_DLFCN +# define HAVE_DLFCN_H # define DSO_EXTENSION ".so" + #endif diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/modes/ghashp8-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/modes/ghashp8-ppc.s index 81d7d24b74..29173a807f 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/modes/ghashp8-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/modes/ghashp8-ppc.s @@ -477,7 +477,7 @@ Lthree: vxor 2,3,0 vor 29,23,23 - vor 30, 24, 24 + vor 30,24,24 vor 31,25,25 vperm 5,16,22,19 @@ -500,7 +500,7 @@ Ltwo: vperm 6,4,16,18 vsldoi 29,4,17,8 - vor 30, 17, 17 + vor 30,17,17 vsldoi 31,17,4,8 .long 0x12855CC8 @@ -514,7 +514,7 @@ Lone: vsldoi 29,4,9,8 - vor 30, 9, 9 + vor 30,9,9 vsldoi 31,9,4,8 vxor 2,3,0 @@ -560,6 +560,6 @@ Ldone_4x: .long 0 -.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppc.s index 1adc3641db..7fc8c5bc80 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppc.s @@ -304,5 +304,5 @@ Labort: .long 0 .byte 0,12,4,1,0x80,4,3,0 -.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppcfp.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppcfp.s index f4cc796fa7..5dd4c657fe 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppcfp.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/poly1305/poly1305-ppcfp.s @@ -577,6 +577,6 @@ LPICmeup: .long 0x42300000,0x00000000 .long 0x00000000,0x00000001 -.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 4 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha1-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha1-ppc.s index 2cbfbd5a3c..4ca7dbaf6b 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha1-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha1-ppc.s @@ -1112,5 +1112,5 @@ Lsha1_block_private: .long 0 .byte 0,12,0x14,0,0,0,0,0 -.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,102,121,46,99,104,97,108,109,101,114,115,46,115,101,62,0 +.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,102,121,46,99,104,97,108,109,101,114,115,46,115,101,62,0 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha256p8-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha256p8-ppc.s index e252f6fe29..026ce2ad27 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha256p8-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha256p8-ppc.s @@ -4,21 +4,13 @@ .globl .sha256_block_p8 .align 6 .sha256_block_p8: - stwu 1,-392(1) + stwu 1,-328(1) mflr 8 li 10,175 li 11,191 - stvx 20,10,1 - addi 10,10,32 - li 12,-1 - stvx 21,11,1 - addi 11,11,32 - stvx 22,10,1 - addi 10,10,32 - stvx 23,11,1 - addi 11,11,32 stvx 24,10,1 addi 10,10,32 + li 12,-1 stvx 25,11,1 addi 11,11,32 stvx 26,10,1 @@ -31,26 +23,26 @@ addi 11,11,32 stvx 30,10,1 stvx 31,11,1 - li 11,-1 - stw 12,364(1) + li 11,-4096+255 + stw 12,300(1) li 10,0x10 - stw 26,368(1) + stw 26,304(1) li 26,0x20 - stw 27,372(1) + stw 27,308(1) li 27,0x30 - stw 28,376(1) + stw 28,312(1) li 28,0x40 - stw 29,380(1) + stw 29,316(1) li 29,0x50 - stw 30,384(1) + stw 30,320(1) li 30,0x60 - stw 31,388(1) + stw 31,324(1) li 31,0x70 - stw 8,396(1) + stw 8,332(1) or 11,11,11 bl LPICmeup - addi 11,1,32+15 + addi 11,1,47 .long 0x7C001E19 .long 0x7C8A1E19 vsldoi 1,0,0,4 @@ -63,10 +55,10 @@ b Loop .align 5 Loop: - lvx 24,0,6 - li 7,16 + lvx 28,0,6 .long 0x7D002699 addi 4,4,16 + mr 7,6 stvx 0,0,11 stvx 1,10,11 stvx 2,26,11 @@ -75,639 +67,535 @@ Loop: stvx 5,29,11 stvx 6,30,11 stvx 7,31,11 - vadduwm 7,7,24 - lvx 24,7,6 - addi 7,7,16 - - vsel 25,6,5,4 - .long 0x1364FE82 + vadduwm 7,7,28 + lvx 28,10,6 vadduwm 7,7,8 - .long 0x13408682 - - vadduwm 7,7,25 - vxor 25,0,1 - - vadduwm 7,7,27 - vsel 25,1,2,25 - vadduwm 6,6,24 + vsel 29,6,5,4 + vadduwm 6,6,28 + vadduwm 7,7,29 + .long 0x13C4FE82 + vadduwm 7,7,30 + vxor 29,0,1 + vsel 29,1,2,29 vadduwm 3,3,7 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 7,7,26 - + .long 0x13C08682 + vadduwm 30,30,29 + vadduwm 7,7,30 + lvx 28,26,7 vsldoi 9,8,8,4 - - vsel 25,5,4,3 - .long 0x1363FE82 vadduwm 6,6,9 - .long 0x13478682 - - vadduwm 6,6,25 - vxor 25,7,0 - - vadduwm 6,6,27 - vsel 25,0,1,25 - vadduwm 5,5,24 + vsel 29,5,4,3 + vadduwm 5,5,28 + vadduwm 6,6,29 + .long 0x13C3FE82 + vadduwm 6,6,30 + vxor 29,7,0 + vsel 29,0,1,29 vadduwm 2,2,6 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 6,6,26 - + .long 0x13C78682 + vadduwm 30,30,29 + vadduwm 6,6,30 + lvx 28,27,7 vsldoi 10,9,9,4 - - vsel 25,4,3,2 - .long 0x1362FE82 vadduwm 5,5,10 - .long 0x13468682 - - vadduwm 5,5,25 - vxor 25,6,7 - - vadduwm 5,5,27 - vsel 25,7,0,25 - vadduwm 4,4,24 + vsel 29,4,3,2 + vadduwm 4,4,28 + vadduwm 5,5,29 + .long 0x13C2FE82 + vadduwm 5,5,30 + vxor 29,6,7 + vsel 29,7,0,29 vadduwm 1,1,5 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 5,5,26 - + .long 0x13C68682 + vadduwm 30,30,29 + vadduwm 5,5,30 + lvx 28,28,7 .long 0x7D802699 addi 4,4,16 vsldoi 11,10,10,4 - - vsel 25,3,2,1 - .long 0x1361FE82 vadduwm 4,4,11 - .long 0x13458682 - - vadduwm 4,4,25 - vxor 25,5,6 - - vadduwm 4,4,27 - vsel 25,6,7,25 - vadduwm 3,3,24 + vsel 29,3,2,1 + vadduwm 3,3,28 + vadduwm 4,4,29 + .long 0x13C1FE82 + vadduwm 4,4,30 + vxor 29,5,6 + vsel 29,6,7,29 vadduwm 0,0,4 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 4,4,26 - - - vsel 25,2,1,0 - .long 0x1360FE82 + .long 0x13C58682 + vadduwm 30,30,29 + vadduwm 4,4,30 + lvx 28,29,7 vadduwm 3,3,12 - .long 0x13448682 - - vadduwm 3,3,25 - vxor 25,4,5 - - vadduwm 3,3,27 - vsel 25,5,6,25 - vadduwm 2,2,24 + vsel 29,2,1,0 + vadduwm 2,2,28 + vadduwm 3,3,29 + .long 0x13C0FE82 + vadduwm 3,3,30 + vxor 29,4,5 + vsel 29,5,6,29 vadduwm 7,7,3 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 3,3,26 - + .long 0x13C48682 + vadduwm 30,30,29 + vadduwm 3,3,30 + lvx 28,30,7 vsldoi 13,12,12,4 - - vsel 25,1,0,7 - .long 0x1367FE82 vadduwm 2,2,13 - .long 0x13438682 - - vadduwm 2,2,25 - vxor 25,3,4 - - vadduwm 2,2,27 - vsel 25,4,5,25 - vadduwm 1,1,24 + vsel 29,1,0,7 + vadduwm 1,1,28 + vadduwm 2,2,29 + .long 0x13C7FE82 + vadduwm 2,2,30 + vxor 29,3,4 + vsel 29,4,5,29 vadduwm 6,6,2 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 2,2,26 - + .long 0x13C38682 + vadduwm 30,30,29 + vadduwm 2,2,30 + lvx 28,31,7 + addi 7,7,0x80 vsldoi 14,13,13,4 - - vsel 25,0,7,6 - .long 0x1366FE82 vadduwm 1,1,14 - .long 0x13428682 - - vadduwm 1,1,25 - vxor 25,2,3 - - vadduwm 1,1,27 - vsel 25,3,4,25 - vadduwm 0,0,24 + vsel 29,0,7,6 + vadduwm 0,0,28 + vadduwm 1,1,29 + .long 0x13C6FE82 + vadduwm 1,1,30 + vxor 29,2,3 + vsel 29,3,4,29 vadduwm 5,5,1 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 1,1,26 - + .long 0x13C28682 + vadduwm 30,30,29 + vadduwm 1,1,30 + lvx 28,0,7 .long 0x7E002699 addi 4,4,16 vsldoi 15,14,14,4 - - vsel 25,7,6,5 - .long 0x1365FE82 vadduwm 0,0,15 - .long 0x13418682 - - vadduwm 0,0,25 - vxor 25,1,2 - - vadduwm 0,0,27 - vsel 25,2,3,25 - vadduwm 7,7,24 + vsel 29,7,6,5 + vadduwm 7,7,28 + vadduwm 0,0,29 + .long 0x13C5FE82 + vadduwm 0,0,30 + vxor 29,1,2 + vsel 29,2,3,29 vadduwm 4,4,0 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 0,0,26 - - - vsel 25,6,5,4 - .long 0x1364FE82 + .long 0x13C18682 + vadduwm 30,30,29 + vadduwm 0,0,30 + lvx 28,10,7 vadduwm 7,7,16 - .long 0x13408682 - - vadduwm 7,7,25 - vxor 25,0,1 - - vadduwm 7,7,27 - vsel 25,1,2,25 - vadduwm 6,6,24 + vsel 29,6,5,4 + vadduwm 6,6,28 + vadduwm 7,7,29 + .long 0x13C4FE82 + vadduwm 7,7,30 + vxor 29,0,1 + vsel 29,1,2,29 vadduwm 3,3,7 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 7,7,26 - + .long 0x13C08682 + vadduwm 30,30,29 + vadduwm 7,7,30 + lvx 28,26,7 vsldoi 17,16,16,4 - - vsel 25,5,4,3 - .long 0x1363FE82 vadduwm 6,6,17 - .long 0x13478682 - - vadduwm 6,6,25 - vxor 25,7,0 - - vadduwm 6,6,27 - vsel 25,0,1,25 - vadduwm 5,5,24 + vsel 29,5,4,3 + vadduwm 5,5,28 + vadduwm 6,6,29 + .long 0x13C3FE82 + vadduwm 6,6,30 + vxor 29,7,0 + vsel 29,0,1,29 vadduwm 2,2,6 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 6,6,26 - + .long 0x13C78682 + vadduwm 30,30,29 + vadduwm 6,6,30 + lvx 28,27,7 vsldoi 18,17,17,4 - - vsel 25,4,3,2 - .long 0x1362FE82 vadduwm 5,5,18 - .long 0x13468682 - - vadduwm 5,5,25 - vxor 25,6,7 - - vadduwm 5,5,27 - vsel 25,7,0,25 - vadduwm 4,4,24 + vsel 29,4,3,2 + vadduwm 4,4,28 + vadduwm 5,5,29 + .long 0x13C2FE82 + vadduwm 5,5,30 + vxor 29,6,7 + vsel 29,7,0,29 vadduwm 1,1,5 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 5,5,26 - - .long 0x7E802699 + .long 0x13C68682 + vadduwm 30,30,29 + vadduwm 5,5,30 + lvx 28,28,7 + .long 0x7F002699 addi 4,4,16 vsldoi 19,18,18,4 - - vsel 25,3,2,1 - .long 0x1361FE82 vadduwm 4,4,19 - .long 0x13458682 - - vadduwm 4,4,25 - vxor 25,5,6 - - vadduwm 4,4,27 - vsel 25,6,7,25 - vadduwm 3,3,24 + vsel 29,3,2,1 + vadduwm 3,3,28 + vadduwm 4,4,29 + .long 0x13C1FE82 + vadduwm 4,4,30 + vxor 29,5,6 + vsel 29,6,7,29 vadduwm 0,0,4 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 4,4,26 - - - vsel 25,2,1,0 - .long 0x1360FE82 - vadduwm 3,3,20 - .long 0x13448682 - - vadduwm 3,3,25 - vxor 25,4,5 - - vadduwm 3,3,27 - vsel 25,5,6,25 - vadduwm 2,2,24 + .long 0x13C58682 + vadduwm 30,30,29 + vadduwm 4,4,30 + lvx 28,29,7 + vadduwm 3,3,24 + vsel 29,2,1,0 + vadduwm 2,2,28 + vadduwm 3,3,29 + .long 0x13C0FE82 + vadduwm 3,3,30 + vxor 29,4,5 + vsel 29,5,6,29 vadduwm 7,7,3 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 3,3,26 - - vsldoi 21,20,20,4 - - vsel 25,1,0,7 - .long 0x1367FE82 - vadduwm 2,2,21 - .long 0x13438682 - + .long 0x13C48682 + vadduwm 30,30,29 + vadduwm 3,3,30 + lvx 28,30,7 + vsldoi 25,24,24,4 vadduwm 2,2,25 - vxor 25,3,4 - - vadduwm 2,2,27 - vsel 25,4,5,25 - vadduwm 1,1,24 + vsel 29,1,0,7 + vadduwm 1,1,28 + vadduwm 2,2,29 + .long 0x13C7FE82 + vadduwm 2,2,30 + vxor 29,3,4 + vsel 29,4,5,29 vadduwm 6,6,2 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 - vadduwm 2,2,26 - - vsldoi 22,21,21,4 - - vsel 25,0,7,6 - .long 0x1366FE82 - vadduwm 1,1,22 - .long 0x13428682 - - vadduwm 1,1,25 - vxor 25,2,3 - - vadduwm 1,1,27 - vsel 25,3,4,25 - vadduwm 0,0,24 - vadduwm 5,5,1 - vadduwm 26,26,25 - - lvx 24,7,6 - addi 7,7,16 + .long 0x13C38682 + vadduwm 30,30,29 + vadduwm 2,2,30 + lvx 28,31,7 + addi 7,7,0x80 + vsldoi 26,25,25,4 vadduwm 1,1,26 - - vsldoi 23,22,22,4 - .long 0x13890682 - vsel 25,7,6,5 - .long 0x1365FE82 - vadduwm 0,0,23 - .long 0x13418682 - .long 0x13B67E82 - vadduwm 0,0,25 - vxor 25,1,2 + vsel 29,0,7,6 + vadduwm 0,0,28 + vadduwm 1,1,29 + .long 0x13C6FE82 + vadduwm 1,1,30 + vxor 29,2,3 + vsel 29,3,4,29 + vadduwm 5,5,1 + .long 0x13C28682 + vadduwm 30,30,29 + vadduwm 1,1,30 + lvx 28,0,7 + vsldoi 27,26,26,4 + .long 0x13C90682 + vadduwm 8,8,30 + .long 0x13DA7E82 + vadduwm 8,8,30 vadduwm 8,8,17 vadduwm 0,0,27 - vsel 25,2,3,25 - vadduwm 7,7,24 + vsel 29,7,6,5 + vadduwm 7,7,28 + vadduwm 0,0,29 + .long 0x13C5FE82 + vadduwm 0,0,30 + vxor 29,1,2 + vsel 29,2,3,29 vadduwm 4,4,0 - vadduwm 26,26,25 - vadduwm 8,8,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 0,0,26 - vadduwm 8,8,29 + .long 0x13C18682 + vadduwm 30,30,29 + vadduwm 0,0,30 + lvx 28,10,7 mtctr 0 b L16_xx .align 5 L16_xx: - .long 0x138A0682 - vsel 25,6,5,4 - .long 0x1364FE82 - vadduwm 7,7,8 - .long 0x13408682 - .long 0x13B77E82 - vadduwm 7,7,25 - vxor 25,0,1 + .long 0x13CA0682 + vadduwm 9,9,30 + .long 0x13DB7E82 + vadduwm 9,9,30 vadduwm 9,9,18 - vadduwm 7,7,27 - vsel 25,1,2,25 - vadduwm 6,6,24 + vadduwm 7,7,8 + vsel 29,6,5,4 + vadduwm 6,6,28 + vadduwm 7,7,29 + .long 0x13C4FE82 + vadduwm 7,7,30 + vxor 29,0,1 + vsel 29,1,2,29 vadduwm 3,3,7 - vadduwm 26,26,25 - vadduwm 9,9,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 7,7,26 - vadduwm 9,9,29 - .long 0x138B0682 - vsel 25,5,4,3 - .long 0x1363FE82 - vadduwm 6,6,9 - .long 0x13478682 - .long 0x13A87E82 - vadduwm 6,6,25 - vxor 25,7,0 + .long 0x13C08682 + vadduwm 30,30,29 + vadduwm 7,7,30 + lvx 28,26,7 + .long 0x13CB0682 + vadduwm 10,10,30 + .long 0x13C87E82 + vadduwm 10,10,30 vadduwm 10,10,19 - vadduwm 6,6,27 - vsel 25,0,1,25 - vadduwm 5,5,24 + vadduwm 6,6,9 + vsel 29,5,4,3 + vadduwm 5,5,28 + vadduwm 6,6,29 + .long 0x13C3FE82 + vadduwm 6,6,30 + vxor 29,7,0 + vsel 29,0,1,29 vadduwm 2,2,6 - vadduwm 26,26,25 - vadduwm 10,10,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 6,6,26 - vadduwm 10,10,29 - .long 0x138C0682 - vsel 25,4,3,2 - .long 0x1362FE82 + .long 0x13C78682 + vadduwm 30,30,29 + vadduwm 6,6,30 + lvx 28,27,7 + .long 0x13CC0682 + vadduwm 11,11,30 + .long 0x13C97E82 + vadduwm 11,11,30 + vadduwm 11,11,24 vadduwm 5,5,10 - .long 0x13468682 - .long 0x13A97E82 - vadduwm 5,5,25 - vxor 25,6,7 - vadduwm 11,11,20 - vadduwm 5,5,27 - vsel 25,7,0,25 - vadduwm 4,4,24 + vsel 29,4,3,2 + vadduwm 4,4,28 + vadduwm 5,5,29 + .long 0x13C2FE82 + vadduwm 5,5,30 + vxor 29,6,7 + vsel 29,7,0,29 vadduwm 1,1,5 - vadduwm 26,26,25 - vadduwm 11,11,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 5,5,26 - vadduwm 11,11,29 - .long 0x138D0682 - vsel 25,3,2,1 - .long 0x1361FE82 + .long 0x13C68682 + vadduwm 30,30,29 + vadduwm 5,5,30 + lvx 28,28,7 + .long 0x13CD0682 + vadduwm 12,12,30 + .long 0x13CA7E82 + vadduwm 12,12,30 + vadduwm 12,12,25 vadduwm 4,4,11 - .long 0x13458682 - .long 0x13AA7E82 - vadduwm 4,4,25 - vxor 25,5,6 - vadduwm 12,12,21 - vadduwm 4,4,27 - vsel 25,6,7,25 - vadduwm 3,3,24 + vsel 29,3,2,1 + vadduwm 3,3,28 + vadduwm 4,4,29 + .long 0x13C1FE82 + vadduwm 4,4,30 + vxor 29,5,6 + vsel 29,6,7,29 vadduwm 0,0,4 - vadduwm 26,26,25 - vadduwm 12,12,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 4,4,26 - vadduwm 12,12,29 - .long 0x138E0682 - vsel 25,2,1,0 - .long 0x1360FE82 + .long 0x13C58682 + vadduwm 30,30,29 + vadduwm 4,4,30 + lvx 28,29,7 + .long 0x13CE0682 + vadduwm 13,13,30 + .long 0x13CB7E82 + vadduwm 13,13,30 + vadduwm 13,13,26 vadduwm 3,3,12 - .long 0x13448682 - .long 0x13AB7E82 - vadduwm 3,3,25 - vxor 25,4,5 - vadduwm 13,13,22 - vadduwm 3,3,27 - vsel 25,5,6,25 - vadduwm 2,2,24 + vsel 29,2,1,0 + vadduwm 2,2,28 + vadduwm 3,3,29 + .long 0x13C0FE82 + vadduwm 3,3,30 + vxor 29,4,5 + vsel 29,5,6,29 vadduwm 7,7,3 - vadduwm 26,26,25 - vadduwm 13,13,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 3,3,26 - vadduwm 13,13,29 - .long 0x138F0682 - vsel 25,1,0,7 - .long 0x1367FE82 + .long 0x13C48682 + vadduwm 30,30,29 + vadduwm 3,3,30 + lvx 28,30,7 + .long 0x13CF0682 + vadduwm 14,14,30 + .long 0x13CC7E82 + vadduwm 14,14,30 + vadduwm 14,14,27 vadduwm 2,2,13 - .long 0x13438682 - .long 0x13AC7E82 - vadduwm 2,2,25 - vxor 25,3,4 - vadduwm 14,14,23 - vadduwm 2,2,27 - vsel 25,4,5,25 - vadduwm 1,1,24 + vsel 29,1,0,7 + vadduwm 1,1,28 + vadduwm 2,2,29 + .long 0x13C7FE82 + vadduwm 2,2,30 + vxor 29,3,4 + vsel 29,4,5,29 vadduwm 6,6,2 - vadduwm 26,26,25 - vadduwm 14,14,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 2,2,26 - vadduwm 14,14,29 - .long 0x13900682 - vsel 25,0,7,6 - .long 0x1366FE82 - vadduwm 1,1,14 - .long 0x13428682 - .long 0x13AD7E82 - vadduwm 1,1,25 - vxor 25,2,3 + .long 0x13C38682 + vadduwm 30,30,29 + vadduwm 2,2,30 + lvx 28,31,7 + addi 7,7,0x80 + .long 0x13D00682 + vadduwm 15,15,30 + .long 0x13CD7E82 + vadduwm 15,15,30 vadduwm 15,15,8 - vadduwm 1,1,27 - vsel 25,3,4,25 - vadduwm 0,0,24 + vadduwm 1,1,14 + vsel 29,0,7,6 + vadduwm 0,0,28 + vadduwm 1,1,29 + .long 0x13C6FE82 + vadduwm 1,1,30 + vxor 29,2,3 + vsel 29,3,4,29 vadduwm 5,5,1 - vadduwm 26,26,25 - vadduwm 15,15,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 1,1,26 - vadduwm 15,15,29 - .long 0x13910682 - vsel 25,7,6,5 - .long 0x1365FE82 - vadduwm 0,0,15 - .long 0x13418682 - .long 0x13AE7E82 - vadduwm 0,0,25 - vxor 25,1,2 + .long 0x13C28682 + vadduwm 30,30,29 + vadduwm 1,1,30 + lvx 28,0,7 + .long 0x13D10682 + vadduwm 16,16,30 + .long 0x13CE7E82 + vadduwm 16,16,30 vadduwm 16,16,9 - vadduwm 0,0,27 - vsel 25,2,3,25 - vadduwm 7,7,24 + vadduwm 0,0,15 + vsel 29,7,6,5 + vadduwm 7,7,28 + vadduwm 0,0,29 + .long 0x13C5FE82 + vadduwm 0,0,30 + vxor 29,1,2 + vsel 29,2,3,29 vadduwm 4,4,0 - vadduwm 26,26,25 - vadduwm 16,16,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 0,0,26 - vadduwm 16,16,29 - .long 0x13920682 - vsel 25,6,5,4 - .long 0x1364FE82 - vadduwm 7,7,16 - .long 0x13408682 - .long 0x13AF7E82 - vadduwm 7,7,25 - vxor 25,0,1 + .long 0x13C18682 + vadduwm 30,30,29 + vadduwm 0,0,30 + lvx 28,10,7 + .long 0x13D20682 + vadduwm 17,17,30 + .long 0x13CF7E82 + vadduwm 17,17,30 vadduwm 17,17,10 - vadduwm 7,7,27 - vsel 25,1,2,25 - vadduwm 6,6,24 + vadduwm 7,7,16 + vsel 29,6,5,4 + vadduwm 6,6,28 + vadduwm 7,7,29 + .long 0x13C4FE82 + vadduwm 7,7,30 + vxor 29,0,1 + vsel 29,1,2,29 vadduwm 3,3,7 - vadduwm 26,26,25 - vadduwm 17,17,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 7,7,26 - vadduwm 17,17,29 - .long 0x13930682 - vsel 25,5,4,3 - .long 0x1363FE82 - vadduwm 6,6,17 - .long 0x13478682 - .long 0x13B07E82 - vadduwm 6,6,25 - vxor 25,7,0 + .long 0x13C08682 + vadduwm 30,30,29 + vadduwm 7,7,30 + lvx 28,26,7 + .long 0x13D30682 + vadduwm 18,18,30 + .long 0x13D07E82 + vadduwm 18,18,30 vadduwm 18,18,11 - vadduwm 6,6,27 - vsel 25,0,1,25 - vadduwm 5,5,24 + vadduwm 6,6,17 + vsel 29,5,4,3 + vadduwm 5,5,28 + vadduwm 6,6,29 + .long 0x13C3FE82 + vadduwm 6,6,30 + vxor 29,7,0 + vsel 29,0,1,29 vadduwm 2,2,6 - vadduwm 26,26,25 - vadduwm 18,18,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 6,6,26 - vadduwm 18,18,29 - .long 0x13940682 - vsel 25,4,3,2 - .long 0x1362FE82 - vadduwm 5,5,18 - .long 0x13468682 - .long 0x13B17E82 - vadduwm 5,5,25 - vxor 25,6,7 + .long 0x13C78682 + vadduwm 30,30,29 + vadduwm 6,6,30 + lvx 28,27,7 + .long 0x13D80682 + vadduwm 19,19,30 + .long 0x13D17E82 + vadduwm 19,19,30 vadduwm 19,19,12 - vadduwm 5,5,27 - vsel 25,7,0,25 - vadduwm 4,4,24 + vadduwm 5,5,18 + vsel 29,4,3,2 + vadduwm 4,4,28 + vadduwm 5,5,29 + .long 0x13C2FE82 + vadduwm 5,5,30 + vxor 29,6,7 + vsel 29,7,0,29 vadduwm 1,1,5 - vadduwm 26,26,25 - vadduwm 19,19,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 5,5,26 - vadduwm 19,19,29 - .long 0x13950682 - vsel 25,3,2,1 - .long 0x1361FE82 + .long 0x13C68682 + vadduwm 30,30,29 + vadduwm 5,5,30 + lvx 28,28,7 + .long 0x13D90682 + vadduwm 24,24,30 + .long 0x13D27E82 + vadduwm 24,24,30 + vadduwm 24,24,13 vadduwm 4,4,19 - .long 0x13458682 - .long 0x13B27E82 - vadduwm 4,4,25 - vxor 25,5,6 - vadduwm 20,20,13 - vadduwm 4,4,27 - vsel 25,6,7,25 - vadduwm 3,3,24 + vsel 29,3,2,1 + vadduwm 3,3,28 + vadduwm 4,4,29 + .long 0x13C1FE82 + vadduwm 4,4,30 + vxor 29,5,6 + vsel 29,6,7,29 vadduwm 0,0,4 - vadduwm 26,26,25 - vadduwm 20,20,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 4,4,26 - vadduwm 20,20,29 - .long 0x13960682 - vsel 25,2,1,0 - .long 0x1360FE82 - vadduwm 3,3,20 - .long 0x13448682 - .long 0x13B37E82 - vadduwm 3,3,25 - vxor 25,4,5 - vadduwm 21,21,14 - vadduwm 3,3,27 - vsel 25,5,6,25 - vadduwm 2,2,24 + .long 0x13C58682 + vadduwm 30,30,29 + vadduwm 4,4,30 + lvx 28,29,7 + .long 0x13DA0682 + vadduwm 25,25,30 + .long 0x13D37E82 + vadduwm 25,25,30 + vadduwm 25,25,14 + vadduwm 3,3,24 + vsel 29,2,1,0 + vadduwm 2,2,28 + vadduwm 3,3,29 + .long 0x13C0FE82 + vadduwm 3,3,30 + vxor 29,4,5 + vsel 29,5,6,29 vadduwm 7,7,3 - vadduwm 26,26,25 - vadduwm 21,21,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 3,3,26 - vadduwm 21,21,29 - .long 0x13970682 - vsel 25,1,0,7 - .long 0x1367FE82 - vadduwm 2,2,21 - .long 0x13438682 - .long 0x13B47E82 + .long 0x13C48682 + vadduwm 30,30,29 + vadduwm 3,3,30 + lvx 28,30,7 + .long 0x13DB0682 + vadduwm 26,26,30 + .long 0x13D87E82 + vadduwm 26,26,30 + vadduwm 26,26,15 vadduwm 2,2,25 - vxor 25,3,4 - vadduwm 22,22,15 - vadduwm 2,2,27 - vsel 25,4,5,25 - vadduwm 1,1,24 + vsel 29,1,0,7 + vadduwm 1,1,28 + vadduwm 2,2,29 + .long 0x13C7FE82 + vadduwm 2,2,30 + vxor 29,3,4 + vsel 29,4,5,29 vadduwm 6,6,2 - vadduwm 26,26,25 - vadduwm 22,22,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 2,2,26 - vadduwm 22,22,29 - .long 0x13880682 - vsel 25,0,7,6 - .long 0x1366FE82 - vadduwm 1,1,22 - .long 0x13428682 - .long 0x13B57E82 - vadduwm 1,1,25 - vxor 25,2,3 - vadduwm 23,23,16 - vadduwm 1,1,27 - vsel 25,3,4,25 - vadduwm 0,0,24 - vadduwm 5,5,1 - vadduwm 26,26,25 - vadduwm 23,23,28 - lvx 24,7,6 - addi 7,7,16 + .long 0x13C38682 + vadduwm 30,30,29 + vadduwm 2,2,30 + lvx 28,31,7 + addi 7,7,0x80 + .long 0x13C80682 + vadduwm 27,27,30 + .long 0x13D97E82 + vadduwm 27,27,30 + vadduwm 27,27,16 vadduwm 1,1,26 - vadduwm 23,23,29 - .long 0x13890682 - vsel 25,7,6,5 - .long 0x1365FE82 - vadduwm 0,0,23 - .long 0x13418682 - .long 0x13B67E82 - vadduwm 0,0,25 - vxor 25,1,2 + vsel 29,0,7,6 + vadduwm 0,0,28 + vadduwm 1,1,29 + .long 0x13C6FE82 + vadduwm 1,1,30 + vxor 29,2,3 + vsel 29,3,4,29 + vadduwm 5,5,1 + .long 0x13C28682 + vadduwm 30,30,29 + vadduwm 1,1,30 + lvx 28,0,7 + .long 0x13C90682 + vadduwm 8,8,30 + .long 0x13DA7E82 + vadduwm 8,8,30 vadduwm 8,8,17 vadduwm 0,0,27 - vsel 25,2,3,25 - vadduwm 7,7,24 + vsel 29,7,6,5 + vadduwm 7,7,28 + vadduwm 0,0,29 + .long 0x13C5FE82 + vadduwm 0,0,30 + vxor 29,1,2 + vsel 29,2,3,29 vadduwm 4,4,0 - vadduwm 26,26,25 - vadduwm 8,8,28 - lvx 24,7,6 - addi 7,7,16 - vadduwm 0,0,26 - vadduwm 8,8,29 + .long 0x13C18682 + vadduwm 30,30,29 + vadduwm 0,0,30 + lvx 28,10,7 bc 16,0,L16_xx lvx 10,0,11 @@ -728,50 +616,34 @@ L16_xx: vadduwm 6,6,16 vadduwm 7,7,17 bne Loop - lvx 8,7,6 - addi 7,7,16 - vperm 0,0,1,24 - lvx 9,7,6 - vperm 4,4,5,24 + lvx 8,26,7 + vperm 0,0,1,28 + lvx 9,27,7 + vperm 4,4,5,28 vperm 0,0,2,8 vperm 4,4,6,8 vperm 0,0,3,9 vperm 4,4,7,9 .long 0x7C001F19 .long 0x7C8A1F19 - li 10,175 + addi 11,1,175 mtlr 8 - li 11,191 or 12,12,12 - lvx 20,10,1 - addi 10,10,32 - lvx 21,11,1 - addi 11,11,32 - lvx 22,10,1 - addi 10,10,32 - lvx 23,11,1 - addi 11,11,32 - lvx 24,10,1 - addi 10,10,32 - lvx 25,11,1 - addi 11,11,32 - lvx 26,10,1 - addi 10,10,32 - lvx 27,11,1 - addi 11,11,32 - lvx 28,10,1 - addi 10,10,32 - lvx 29,11,1 - addi 11,11,32 - lvx 30,10,1 - lvx 31,11,1 - lwz 26,368(1) - lwz 27,372(1) - lwz 28,376(1) - lwz 29,380(1) - lwz 30,384(1) - lwz 31,388(1) - addi 1,1,392 + lvx 24,0,11 + lvx 25,10,11 + lvx 26,26,11 + lvx 27,27,11 + lvx 28,28,11 + lvx 29,29,11 + lvx 30,30,11 + lvx 31,31,11 + lwz 26,304(1) + lwz 27,308(1) + lwz 28,312(1) + lwz 29,316(1) + lwz 30,320(1) + lwz 31,324(1) + addi 1,1,328 blr .long 0 .byte 0,12,4,1,0x80,6,3,0 @@ -856,6 +728,6 @@ LPICmeup: .long 0x00010203,0x10111213,0x10111213,0x10111213 .long 0x00010203,0x04050607,0x10111213,0x10111213 .long 0x00010203,0x04050607,0x08090a0b,0x10111213 -.byte 83,72,65,50,53,54,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 83,72,65,50,53,54,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha512p8-ppc.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha512p8-ppc.s index 930f009de7..c5b7df36aa 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha512p8-ppc.s +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/sha/sha512p8-ppc.s @@ -4,21 +4,13 @@ .globl .sha512_block_p8 .align 6 .sha512_block_p8: - stwu 1,-392(1) + stwu 1,-328(1) mflr 8 li 10,175 li 11,191 - stvx 20,10,1 - addi 10,10,32 - li 12,-1 - stvx 21,11,1 - addi 11,11,32 - stvx 22,10,1 - addi 10,10,32 - stvx 23,11,1 - addi 11,11,32 stvx 24,10,1 addi 10,10,32 + li 12,-1 stvx 25,11,1 addi 11,11,32 stvx 26,10,1 @@ -31,26 +23,26 @@ addi 11,11,32 stvx 30,10,1 stvx 31,11,1 - li 11,-1 - stw 12,364(1) + li 11,-4096+255 + stw 12,300(1) li 10,0x10 - stw 26,368(1) + stw 26,304(1) li 26,0x20 - stw 27,372(1) + stw 27,308(1) li 27,0x30 - stw 28,376(1) + stw 28,312(1) li 28,0x40 - stw 29,380(1) + stw 29,316(1) li 29,0x50 - stw 30,384(1) + stw 30,320(1) li 30,0x60 - stw 31,388(1) + stw 31,324(1) li 31,0x70 - stw 8,396(1) + stw 8,332(1) or 11,11,11 bl LPICmeup - addi 11,1,32+15 + addi 11,1,47 .long 0x7C001E99 .long 0x7C4A1E99 .long 0x7C9A1E99 @@ -63,10 +55,10 @@ b Loop .align 5 Loop: - lvx 24,0,6 - li 7,16 + lvx 28,0,6 .long 0x7D002699 addi 4,4,16 + mr 7,6 stvx 0,0,11 stvx 1,10,11 stvx 2,26,11 @@ -75,643 +67,539 @@ Loop: stvx 5,29,11 stvx 6,30,11 stvx 7,31,11 - .long 0x10E7C0C0 - lvx 24,7,6 - addi 7,7,16 - - vsel 25,6,5,4 - .long 0x1364FEC2 + .long 0x10E7E0C0 + lvx 28,10,6 .long 0x10E740C0 - .long 0x134086C2 - - .long 0x10E7C8C0 - vxor 25,0,1 - - .long 0x10E7D8C0 - vsel 25,1,2,25 - .long 0x10C6C0C0 + vsel 29,6,5,4 + .long 0x10C6E0C0 + .long 0x10E7E8C0 + .long 0x13C4FEC2 + .long 0x10E7F0C0 + vxor 29,0,1 + vsel 29,1,2,29 .long 0x106338C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10E7D0C0 - + .long 0x13C086C2 + .long 0x13DEE8C0 + .long 0x10E7F0C0 + lvx 28,26,7 .long 0x7D402699 addi 4,4,16 vsldoi 9,8,8,8 - - vsel 25,5,4,3 - .long 0x1363FEC2 .long 0x10C648C0 - .long 0x134786C2 - - .long 0x10C6C8C0 - vxor 25,7,0 - - .long 0x10C6D8C0 - vsel 25,0,1,25 - .long 0x10A5C0C0 + vsel 29,5,4,3 + .long 0x10A5E0C0 + .long 0x10C6E8C0 + .long 0x13C3FEC2 + .long 0x10C6F0C0 + vxor 29,7,0 + vsel 29,0,1,29 .long 0x104230C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10C6D0C0 - - - vsel 25,4,3,2 - .long 0x1362FEC2 + .long 0x13C786C2 + .long 0x13DEE8C0 + .long 0x10C6F0C0 + lvx 28,27,7 .long 0x10A550C0 - .long 0x134686C2 - - .long 0x10A5C8C0 - vxor 25,6,7 - - .long 0x10A5D8C0 - vsel 25,7,0,25 - .long 0x1084C0C0 + vsel 29,4,3,2 + .long 0x1084E0C0 + .long 0x10A5E8C0 + .long 0x13C2FEC2 + .long 0x10A5F0C0 + vxor 29,6,7 + vsel 29,7,0,29 .long 0x102128C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10A5D0C0 - + .long 0x13C686C2 + .long 0x13DEE8C0 + .long 0x10A5F0C0 + lvx 28,28,7 .long 0x7D802699 addi 4,4,16 vsldoi 11,10,10,8 - - vsel 25,3,2,1 - .long 0x1361FEC2 .long 0x108458C0 - .long 0x134586C2 - - .long 0x1084C8C0 - vxor 25,5,6 - - .long 0x1084D8C0 - vsel 25,6,7,25 - .long 0x1063C0C0 + vsel 29,3,2,1 + .long 0x1063E0C0 + .long 0x1084E8C0 + .long 0x13C1FEC2 + .long 0x1084F0C0 + vxor 29,5,6 + vsel 29,6,7,29 .long 0x100020C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1084D0C0 - - - vsel 25,2,1,0 - .long 0x1360FEC2 + .long 0x13C586C2 + .long 0x13DEE8C0 + .long 0x1084F0C0 + lvx 28,29,7 .long 0x106360C0 - .long 0x134486C2 - - .long 0x1063C8C0 - vxor 25,4,5 - - .long 0x1063D8C0 - vsel 25,5,6,25 - .long 0x1042C0C0 + vsel 29,2,1,0 + .long 0x1042E0C0 + .long 0x1063E8C0 + .long 0x13C0FEC2 + .long 0x1063F0C0 + vxor 29,4,5 + vsel 29,5,6,29 .long 0x10E718C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1063D0C0 - + .long 0x13C486C2 + .long 0x13DEE8C0 + .long 0x1063F0C0 + lvx 28,30,7 .long 0x7DC02699 addi 4,4,16 vsldoi 13,12,12,8 - - vsel 25,1,0,7 - .long 0x1367FEC2 .long 0x104268C0 - .long 0x134386C2 - - .long 0x1042C8C0 - vxor 25,3,4 - - .long 0x1042D8C0 - vsel 25,4,5,25 - .long 0x1021C0C0 + vsel 29,1,0,7 + .long 0x1021E0C0 + .long 0x1042E8C0 + .long 0x13C7FEC2 + .long 0x1042F0C0 + vxor 29,3,4 + vsel 29,4,5,29 .long 0x10C610C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1042D0C0 - - - vsel 25,0,7,6 - .long 0x1366FEC2 + .long 0x13C386C2 + .long 0x13DEE8C0 + .long 0x1042F0C0 + lvx 28,31,7 + addi 7,7,0x80 .long 0x102170C0 - .long 0x134286C2 - - .long 0x1021C8C0 - vxor 25,2,3 - - .long 0x1021D8C0 - vsel 25,3,4,25 - .long 0x1000C0C0 + vsel 29,0,7,6 + .long 0x1000E0C0 + .long 0x1021E8C0 + .long 0x13C6FEC2 + .long 0x1021F0C0 + vxor 29,2,3 + vsel 29,3,4,29 .long 0x10A508C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1021D0C0 - + .long 0x13C286C2 + .long 0x13DEE8C0 + .long 0x1021F0C0 + lvx 28,0,7 .long 0x7E002699 addi 4,4,16 vsldoi 15,14,14,8 - - vsel 25,7,6,5 - .long 0x1365FEC2 .long 0x100078C0 - .long 0x134186C2 - - .long 0x1000C8C0 - vxor 25,1,2 - - .long 0x1000D8C0 - vsel 25,2,3,25 - .long 0x10E7C0C0 + vsel 29,7,6,5 + .long 0x10E7E0C0 + .long 0x1000E8C0 + .long 0x13C5FEC2 + .long 0x1000F0C0 + vxor 29,1,2 + vsel 29,2,3,29 .long 0x108400C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1000D0C0 - - - vsel 25,6,5,4 - .long 0x1364FEC2 + .long 0x13C186C2 + .long 0x13DEE8C0 + .long 0x1000F0C0 + lvx 28,10,7 .long 0x10E780C0 - .long 0x134086C2 - - .long 0x10E7C8C0 - vxor 25,0,1 - - .long 0x10E7D8C0 - vsel 25,1,2,25 - .long 0x10C6C0C0 + vsel 29,6,5,4 + .long 0x10C6E0C0 + .long 0x10E7E8C0 + .long 0x13C4FEC2 + .long 0x10E7F0C0 + vxor 29,0,1 + vsel 29,1,2,29 .long 0x106338C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10E7D0C0 - + .long 0x13C086C2 + .long 0x13DEE8C0 + .long 0x10E7F0C0 + lvx 28,26,7 .long 0x7E402699 addi 4,4,16 vsldoi 17,16,16,8 - - vsel 25,5,4,3 - .long 0x1363FEC2 .long 0x10C688C0 - .long 0x134786C2 - - .long 0x10C6C8C0 - vxor 25,7,0 - - .long 0x10C6D8C0 - vsel 25,0,1,25 - .long 0x10A5C0C0 + vsel 29,5,4,3 + .long 0x10A5E0C0 + .long 0x10C6E8C0 + .long 0x13C3FEC2 + .long 0x10C6F0C0 + vxor 29,7,0 + vsel 29,0,1,29 .long 0x104230C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10C6D0C0 - - - vsel 25,4,3,2 - .long 0x1362FEC2 + .long 0x13C786C2 + .long 0x13DEE8C0 + .long 0x10C6F0C0 + lvx 28,27,7 .long 0x10A590C0 - .long 0x134686C2 - - .long 0x10A5C8C0 - vxor 25,6,7 - - .long 0x10A5D8C0 - vsel 25,7,0,25 - .long 0x1084C0C0 + vsel 29,4,3,2 + .long 0x1084E0C0 + .long 0x10A5E8C0 + .long 0x13C2FEC2 + .long 0x10A5F0C0 + vxor 29,6,7 + vsel 29,7,0,29 .long 0x102128C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x10A5D0C0 - - .long 0x7E802699 + .long 0x13C686C2 + .long 0x13DEE8C0 + .long 0x10A5F0C0 + lvx 28,28,7 + .long 0x7F002699 addi 4,4,16 vsldoi 19,18,18,8 - - vsel 25,3,2,1 - .long 0x1361FEC2 .long 0x108498C0 - .long 0x134586C2 - - .long 0x1084C8C0 - vxor 25,5,6 - - .long 0x1084D8C0 - vsel 25,6,7,25 - .long 0x1063C0C0 + vsel 29,3,2,1 + .long 0x1063E0C0 + .long 0x1084E8C0 + .long 0x13C1FEC2 + .long 0x1084F0C0 + vxor 29,5,6 + vsel 29,6,7,29 .long 0x100020C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1084D0C0 - - - vsel 25,2,1,0 - .long 0x1360FEC2 - .long 0x1063A0C0 - .long 0x134486C2 - - .long 0x1063C8C0 - vxor 25,4,5 - - .long 0x1063D8C0 - vsel 25,5,6,25 - .long 0x1042C0C0 + .long 0x13C586C2 + .long 0x13DEE8C0 + .long 0x1084F0C0 + lvx 28,29,7 + .long 0x1063C0C0 + vsel 29,2,1,0 + .long 0x1042E0C0 + .long 0x1063E8C0 + .long 0x13C0FEC2 + .long 0x1063F0C0 + vxor 29,4,5 + vsel 29,5,6,29 .long 0x10E718C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1063D0C0 - - .long 0x7EC02699 + .long 0x13C486C2 + .long 0x13DEE8C0 + .long 0x1063F0C0 + lvx 28,30,7 + .long 0x7F402699 addi 4,4,16 - vsldoi 21,20,20,8 - - vsel 25,1,0,7 - .long 0x1367FEC2 - .long 0x1042A8C0 - .long 0x134386C2 - + vsldoi 25,24,24,8 .long 0x1042C8C0 - vxor 25,3,4 - - .long 0x1042D8C0 - vsel 25,4,5,25 - .long 0x1021C0C0 + vsel 29,1,0,7 + .long 0x1021E0C0 + .long 0x1042E8C0 + .long 0x13C7FEC2 + .long 0x1042F0C0 + vxor 29,3,4 + vsel 29,4,5,29 .long 0x10C610C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 - .long 0x1042D0C0 - - - vsel 25,0,7,6 - .long 0x1366FEC2 - .long 0x1021B0C0 - .long 0x134286C2 - - .long 0x1021C8C0 - vxor 25,2,3 - - .long 0x1021D8C0 - vsel 25,3,4,25 - .long 0x1000C0C0 - .long 0x10A508C0 - .long 0x135AC8C0 - - lvx 24,7,6 - addi 7,7,16 + .long 0x13C386C2 + .long 0x13DEE8C0 + .long 0x1042F0C0 + lvx 28,31,7 + addi 7,7,0x80 .long 0x1021D0C0 - - vsldoi 23,22,22,8 - .long 0x138906C2 - vsel 25,7,6,5 - .long 0x1365FEC2 - .long 0x1000B8C0 - .long 0x134186C2 - .long 0x13B67EC2 - .long 0x1000C8C0 - vxor 25,1,2 + vsel 29,0,7,6 + .long 0x1000E0C0 + .long 0x1021E8C0 + .long 0x13C6FEC2 + .long 0x1021F0C0 + vxor 29,2,3 + vsel 29,3,4,29 + .long 0x10A508C0 + .long 0x13C286C2 + .long 0x13DEE8C0 + .long 0x1021F0C0 + lvx 28,0,7 + vsldoi 27,26,26,8 + .long 0x13C906C2 + .long 0x1108F0C0 + .long 0x13DA7EC2 + .long 0x1108F0C0 .long 0x110888C0 .long 0x1000D8C0 - vsel 25,2,3,25 - .long 0x10E7C0C0 + vsel 29,7,6,5 + .long 0x10E7E0C0 + .long 0x1000E8C0 + .long 0x13C5FEC2 + .long 0x1000F0C0 + vxor 29,1,2 + vsel 29,2,3,29 .long 0x108400C0 - .long 0x135AC8C0 - .long 0x1108E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1000D0C0 - .long 0x1108E8C0 + .long 0x13C186C2 + .long 0x13DEE8C0 + .long 0x1000F0C0 + lvx 28,10,7 mtctr 0 b L16_xx .align 5 L16_xx: - .long 0x138A06C2 - vsel 25,6,5,4 - .long 0x1364FEC2 - .long 0x10E740C0 - .long 0x134086C2 - .long 0x13B77EC2 - .long 0x10E7C8C0 - vxor 25,0,1 + .long 0x13CA06C2 + .long 0x1129F0C0 + .long 0x13DB7EC2 + .long 0x1129F0C0 .long 0x112990C0 - .long 0x10E7D8C0 - vsel 25,1,2,25 - .long 0x10C6C0C0 + .long 0x10E740C0 + vsel 29,6,5,4 + .long 0x10C6E0C0 + .long 0x10E7E8C0 + .long 0x13C4FEC2 + .long 0x10E7F0C0 + vxor 29,0,1 + vsel 29,1,2,29 .long 0x106338C0 - .long 0x135AC8C0 - .long 0x1129E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10E7D0C0 - .long 0x1129E8C0 - .long 0x138B06C2 - vsel 25,5,4,3 - .long 0x1363FEC2 - .long 0x10C648C0 - .long 0x134786C2 - .long 0x13A87EC2 - .long 0x10C6C8C0 - vxor 25,7,0 + .long 0x13C086C2 + .long 0x13DEE8C0 + .long 0x10E7F0C0 + lvx 28,26,7 + .long 0x13CB06C2 + .long 0x114AF0C0 + .long 0x13C87EC2 + .long 0x114AF0C0 .long 0x114A98C0 - .long 0x10C6D8C0 - vsel 25,0,1,25 - .long 0x10A5C0C0 + .long 0x10C648C0 + vsel 29,5,4,3 + .long 0x10A5E0C0 + .long 0x10C6E8C0 + .long 0x13C3FEC2 + .long 0x10C6F0C0 + vxor 29,7,0 + vsel 29,0,1,29 .long 0x104230C0 - .long 0x135AC8C0 - .long 0x114AE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10C6D0C0 - .long 0x114AE8C0 - .long 0x138C06C2 - vsel 25,4,3,2 - .long 0x1362FEC2 + .long 0x13C786C2 + .long 0x13DEE8C0 + .long 0x10C6F0C0 + lvx 28,27,7 + .long 0x13CC06C2 + .long 0x116BF0C0 + .long 0x13C97EC2 + .long 0x116BF0C0 + .long 0x116BC0C0 .long 0x10A550C0 - .long 0x134686C2 - .long 0x13A97EC2 - .long 0x10A5C8C0 - vxor 25,6,7 - .long 0x116BA0C0 - .long 0x10A5D8C0 - vsel 25,7,0,25 - .long 0x1084C0C0 + vsel 29,4,3,2 + .long 0x1084E0C0 + .long 0x10A5E8C0 + .long 0x13C2FEC2 + .long 0x10A5F0C0 + vxor 29,6,7 + vsel 29,7,0,29 .long 0x102128C0 - .long 0x135AC8C0 - .long 0x116BE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10A5D0C0 - .long 0x116BE8C0 - .long 0x138D06C2 - vsel 25,3,2,1 - .long 0x1361FEC2 + .long 0x13C686C2 + .long 0x13DEE8C0 + .long 0x10A5F0C0 + lvx 28,28,7 + .long 0x13CD06C2 + .long 0x118CF0C0 + .long 0x13CA7EC2 + .long 0x118CF0C0 + .long 0x118CC8C0 .long 0x108458C0 - .long 0x134586C2 - .long 0x13AA7EC2 - .long 0x1084C8C0 - vxor 25,5,6 - .long 0x118CA8C0 - .long 0x1084D8C0 - vsel 25,6,7,25 - .long 0x1063C0C0 + vsel 29,3,2,1 + .long 0x1063E0C0 + .long 0x1084E8C0 + .long 0x13C1FEC2 + .long 0x1084F0C0 + vxor 29,5,6 + vsel 29,6,7,29 .long 0x100020C0 - .long 0x135AC8C0 - .long 0x118CE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1084D0C0 - .long 0x118CE8C0 - .long 0x138E06C2 - vsel 25,2,1,0 - .long 0x1360FEC2 + .long 0x13C586C2 + .long 0x13DEE8C0 + .long 0x1084F0C0 + lvx 28,29,7 + .long 0x13CE06C2 + .long 0x11ADF0C0 + .long 0x13CB7EC2 + .long 0x11ADF0C0 + .long 0x11ADD0C0 .long 0x106360C0 - .long 0x134486C2 - .long 0x13AB7EC2 - .long 0x1063C8C0 - vxor 25,4,5 - .long 0x11ADB0C0 - .long 0x1063D8C0 - vsel 25,5,6,25 - .long 0x1042C0C0 + vsel 29,2,1,0 + .long 0x1042E0C0 + .long 0x1063E8C0 + .long 0x13C0FEC2 + .long 0x1063F0C0 + vxor 29,4,5 + vsel 29,5,6,29 .long 0x10E718C0 - .long 0x135AC8C0 - .long 0x11ADE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1063D0C0 - .long 0x11ADE8C0 - .long 0x138F06C2 - vsel 25,1,0,7 - .long 0x1367FEC2 + .long 0x13C486C2 + .long 0x13DEE8C0 + .long 0x1063F0C0 + lvx 28,30,7 + .long 0x13CF06C2 + .long 0x11CEF0C0 + .long 0x13CC7EC2 + .long 0x11CEF0C0 + .long 0x11CED8C0 .long 0x104268C0 - .long 0x134386C2 - .long 0x13AC7EC2 - .long 0x1042C8C0 - vxor 25,3,4 - .long 0x11CEB8C0 - .long 0x1042D8C0 - vsel 25,4,5,25 - .long 0x1021C0C0 + vsel 29,1,0,7 + .long 0x1021E0C0 + .long 0x1042E8C0 + .long 0x13C7FEC2 + .long 0x1042F0C0 + vxor 29,3,4 + vsel 29,4,5,29 .long 0x10C610C0 - .long 0x135AC8C0 - .long 0x11CEE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1042D0C0 - .long 0x11CEE8C0 - .long 0x139006C2 - vsel 25,0,7,6 - .long 0x1366FEC2 - .long 0x102170C0 - .long 0x134286C2 - .long 0x13AD7EC2 - .long 0x1021C8C0 - vxor 25,2,3 + .long 0x13C386C2 + .long 0x13DEE8C0 + .long 0x1042F0C0 + lvx 28,31,7 + addi 7,7,0x80 + .long 0x13D006C2 + .long 0x11EFF0C0 + .long 0x13CD7EC2 + .long 0x11EFF0C0 .long 0x11EF40C0 - .long 0x1021D8C0 - vsel 25,3,4,25 - .long 0x1000C0C0 + .long 0x102170C0 + vsel 29,0,7,6 + .long 0x1000E0C0 + .long 0x1021E8C0 + .long 0x13C6FEC2 + .long 0x1021F0C0 + vxor 29,2,3 + vsel 29,3,4,29 .long 0x10A508C0 - .long 0x135AC8C0 - .long 0x11EFE0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1021D0C0 - .long 0x11EFE8C0 - .long 0x139106C2 - vsel 25,7,6,5 - .long 0x1365FEC2 - .long 0x100078C0 - .long 0x134186C2 - .long 0x13AE7EC2 - .long 0x1000C8C0 - vxor 25,1,2 + .long 0x13C286C2 + .long 0x13DEE8C0 + .long 0x1021F0C0 + lvx 28,0,7 + .long 0x13D106C2 + .long 0x1210F0C0 + .long 0x13CE7EC2 + .long 0x1210F0C0 .long 0x121048C0 - .long 0x1000D8C0 - vsel 25,2,3,25 - .long 0x10E7C0C0 + .long 0x100078C0 + vsel 29,7,6,5 + .long 0x10E7E0C0 + .long 0x1000E8C0 + .long 0x13C5FEC2 + .long 0x1000F0C0 + vxor 29,1,2 + vsel 29,2,3,29 .long 0x108400C0 - .long 0x135AC8C0 - .long 0x1210E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1000D0C0 - .long 0x1210E8C0 - .long 0x139206C2 - vsel 25,6,5,4 - .long 0x1364FEC2 - .long 0x10E780C0 - .long 0x134086C2 - .long 0x13AF7EC2 - .long 0x10E7C8C0 - vxor 25,0,1 + .long 0x13C186C2 + .long 0x13DEE8C0 + .long 0x1000F0C0 + lvx 28,10,7 + .long 0x13D206C2 + .long 0x1231F0C0 + .long 0x13CF7EC2 + .long 0x1231F0C0 .long 0x123150C0 - .long 0x10E7D8C0 - vsel 25,1,2,25 - .long 0x10C6C0C0 + .long 0x10E780C0 + vsel 29,6,5,4 + .long 0x10C6E0C0 + .long 0x10E7E8C0 + .long 0x13C4FEC2 + .long 0x10E7F0C0 + vxor 29,0,1 + vsel 29,1,2,29 .long 0x106338C0 - .long 0x135AC8C0 - .long 0x1231E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10E7D0C0 - .long 0x1231E8C0 - .long 0x139306C2 - vsel 25,5,4,3 - .long 0x1363FEC2 - .long 0x10C688C0 - .long 0x134786C2 - .long 0x13B07EC2 - .long 0x10C6C8C0 - vxor 25,7,0 + .long 0x13C086C2 + .long 0x13DEE8C0 + .long 0x10E7F0C0 + lvx 28,26,7 + .long 0x13D306C2 + .long 0x1252F0C0 + .long 0x13D07EC2 + .long 0x1252F0C0 .long 0x125258C0 - .long 0x10C6D8C0 - vsel 25,0,1,25 - .long 0x10A5C0C0 + .long 0x10C688C0 + vsel 29,5,4,3 + .long 0x10A5E0C0 + .long 0x10C6E8C0 + .long 0x13C3FEC2 + .long 0x10C6F0C0 + vxor 29,7,0 + vsel 29,0,1,29 .long 0x104230C0 - .long 0x135AC8C0 - .long 0x1252E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10C6D0C0 - .long 0x1252E8C0 - .long 0x139406C2 - vsel 25,4,3,2 - .long 0x1362FEC2 - .long 0x10A590C0 - .long 0x134686C2 - .long 0x13B17EC2 - .long 0x10A5C8C0 - vxor 25,6,7 + .long 0x13C786C2 + .long 0x13DEE8C0 + .long 0x10C6F0C0 + lvx 28,27,7 + .long 0x13D806C2 + .long 0x1273F0C0 + .long 0x13D17EC2 + .long 0x1273F0C0 .long 0x127360C0 - .long 0x10A5D8C0 - vsel 25,7,0,25 - .long 0x1084C0C0 + .long 0x10A590C0 + vsel 29,4,3,2 + .long 0x1084E0C0 + .long 0x10A5E8C0 + .long 0x13C2FEC2 + .long 0x10A5F0C0 + vxor 29,6,7 + vsel 29,7,0,29 .long 0x102128C0 - .long 0x135AC8C0 - .long 0x1273E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x10A5D0C0 - .long 0x1273E8C0 - .long 0x139506C2 - vsel 25,3,2,1 - .long 0x1361FEC2 + .long 0x13C686C2 + .long 0x13DEE8C0 + .long 0x10A5F0C0 + lvx 28,28,7 + .long 0x13D906C2 + .long 0x1318F0C0 + .long 0x13D27EC2 + .long 0x1318F0C0 + .long 0x131868C0 .long 0x108498C0 - .long 0x134586C2 - .long 0x13B27EC2 - .long 0x1084C8C0 - vxor 25,5,6 - .long 0x129468C0 - .long 0x1084D8C0 - vsel 25,6,7,25 - .long 0x1063C0C0 + vsel 29,3,2,1 + .long 0x1063E0C0 + .long 0x1084E8C0 + .long 0x13C1FEC2 + .long 0x1084F0C0 + vxor 29,5,6 + vsel 29,6,7,29 .long 0x100020C0 - .long 0x135AC8C0 - .long 0x1294E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1084D0C0 - .long 0x1294E8C0 - .long 0x139606C2 - vsel 25,2,1,0 - .long 0x1360FEC2 - .long 0x1063A0C0 - .long 0x134486C2 - .long 0x13B37EC2 - .long 0x1063C8C0 - vxor 25,4,5 - .long 0x12B570C0 - .long 0x1063D8C0 - vsel 25,5,6,25 - .long 0x1042C0C0 + .long 0x13C586C2 + .long 0x13DEE8C0 + .long 0x1084F0C0 + lvx 28,29,7 + .long 0x13DA06C2 + .long 0x1339F0C0 + .long 0x13D37EC2 + .long 0x1339F0C0 + .long 0x133970C0 + .long 0x1063C0C0 + vsel 29,2,1,0 + .long 0x1042E0C0 + .long 0x1063E8C0 + .long 0x13C0FEC2 + .long 0x1063F0C0 + vxor 29,4,5 + vsel 29,5,6,29 .long 0x10E718C0 - .long 0x135AC8C0 - .long 0x12B5E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1063D0C0 - .long 0x12B5E8C0 - .long 0x139706C2 - vsel 25,1,0,7 - .long 0x1367FEC2 - .long 0x1042A8C0 - .long 0x134386C2 - .long 0x13B47EC2 + .long 0x13C486C2 + .long 0x13DEE8C0 + .long 0x1063F0C0 + lvx 28,30,7 + .long 0x13DB06C2 + .long 0x135AF0C0 + .long 0x13D87EC2 + .long 0x135AF0C0 + .long 0x135A78C0 .long 0x1042C8C0 - vxor 25,3,4 - .long 0x12D678C0 - .long 0x1042D8C0 - vsel 25,4,5,25 - .long 0x1021C0C0 + vsel 29,1,0,7 + .long 0x1021E0C0 + .long 0x1042E8C0 + .long 0x13C7FEC2 + .long 0x1042F0C0 + vxor 29,3,4 + vsel 29,4,5,29 .long 0x10C610C0 - .long 0x135AC8C0 - .long 0x12D6E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1042D0C0 - .long 0x12D6E8C0 - .long 0x138806C2 - vsel 25,0,7,6 - .long 0x1366FEC2 - .long 0x1021B0C0 - .long 0x134286C2 - .long 0x13B57EC2 - .long 0x1021C8C0 - vxor 25,2,3 - .long 0x12F780C0 - .long 0x1021D8C0 - vsel 25,3,4,25 - .long 0x1000C0C0 - .long 0x10A508C0 - .long 0x135AC8C0 - .long 0x12F7E0C0 - lvx 24,7,6 - addi 7,7,16 + .long 0x13C386C2 + .long 0x13DEE8C0 + .long 0x1042F0C0 + lvx 28,31,7 + addi 7,7,0x80 + .long 0x13C806C2 + .long 0x137BF0C0 + .long 0x13D97EC2 + .long 0x137BF0C0 + .long 0x137B80C0 .long 0x1021D0C0 - .long 0x12F7E8C0 - .long 0x138906C2 - vsel 25,7,6,5 - .long 0x1365FEC2 - .long 0x1000B8C0 - .long 0x134186C2 - .long 0x13B67EC2 - .long 0x1000C8C0 - vxor 25,1,2 + vsel 29,0,7,6 + .long 0x1000E0C0 + .long 0x1021E8C0 + .long 0x13C6FEC2 + .long 0x1021F0C0 + vxor 29,2,3 + vsel 29,3,4,29 + .long 0x10A508C0 + .long 0x13C286C2 + .long 0x13DEE8C0 + .long 0x1021F0C0 + lvx 28,0,7 + .long 0x13C906C2 + .long 0x1108F0C0 + .long 0x13DA7EC2 + .long 0x1108F0C0 .long 0x110888C0 .long 0x1000D8C0 - vsel 25,2,3,25 - .long 0x10E7C0C0 + vsel 29,7,6,5 + .long 0x10E7E0C0 + .long 0x1000E8C0 + .long 0x13C5FEC2 + .long 0x1000F0C0 + vxor 29,1,2 + vsel 29,2,3,29 .long 0x108400C0 - .long 0x135AC8C0 - .long 0x1108E0C0 - lvx 24,7,6 - addi 7,7,16 - .long 0x1000D0C0 - .long 0x1108E8C0 + .long 0x13C186C2 + .long 0x13DEE8C0 + .long 0x1000F0C0 + lvx 28,10,7 bc 16,0,L16_xx lvx 10,0,11 @@ -732,47 +620,32 @@ L16_xx: .long 0x10C680C0 .long 0x10E788C0 bne Loop - vperm 0,0,1,24 - vperm 2,2,3,24 - vperm 4,4,5,24 - vperm 6,6,7,24 + vperm 0,0,1,28 + vperm 2,2,3,28 + vperm 4,4,5,28 + vperm 6,6,7,28 .long 0x7C001F99 .long 0x7C4A1F99 .long 0x7C9A1F99 .long 0x7CDB1F99 - li 10,175 + addi 11,1,175 mtlr 8 - li 11,191 or 12,12,12 - lvx 20,10,1 - addi 10,10,32 - lvx 21,11,1 - addi 11,11,32 - lvx 22,10,1 - addi 10,10,32 - lvx 23,11,1 - addi 11,11,32 - lvx 24,10,1 - addi 10,10,32 - lvx 25,11,1 - addi 11,11,32 - lvx 26,10,1 - addi 10,10,32 - lvx 27,11,1 - addi 11,11,32 - lvx 28,10,1 - addi 10,10,32 - lvx 29,11,1 - addi 11,11,32 - lvx 30,10,1 - lvx 31,11,1 - lwz 26,368(1) - lwz 27,372(1) - lwz 28,376(1) - lwz 29,380(1) - lwz 30,384(1) - lwz 31,388(1) - addi 1,1,392 + lvx 24,0,11 + lvx 25,10,11 + lvx 26,26,11 + lvx 27,27,11 + lvx 28,28,11 + lvx 29,29,11 + lvx 30,30,11 + lvx 31,31,11 + lwz 26,304(1) + lwz 27,308(1) + lwz 28,312(1) + lwz 29,316(1) + lwz 30,320(1) + lwz 31,324(1) + addi 1,1,328 blr .long 0 .byte 0,12,4,1,0x80,6,3,0 @@ -953,6 +826,6 @@ LPICmeup: .long 0,0 .long 0x00010203,0x04050607 .long 0x10111213,0x14151617 -.byte 83,72,65,53,49,50,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +.byte 83,72,65,53,49,50,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .align 2 .align 2 |