| Index: third_party/boringssl/linux-ppc64le/crypto/aes/aesp8-ppc.S
|
| diff --git a/third_party/boringssl/linux-ppc64le/crypto/aes/aesp8-ppc.S b/third_party/boringssl/linux-ppc64le/crypto/aes/aesp8-ppc.S
|
| deleted file mode 100644
|
| index 3424ea60364f0b03e4a9a0e260a815d975b2d16a..0000000000000000000000000000000000000000
|
| --- a/third_party/boringssl/linux-ppc64le/crypto/aes/aesp8-ppc.S
|
| +++ /dev/null
|
| @@ -1,3633 +0,0 @@
|
| -.machine "any"
|
| -
|
| -.text
|
| -
|
| -.align 7
|
| -rcon:
|
| -.byte 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01
|
| -.byte 0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b
|
| -.byte 0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d
|
| -.byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
| -Lconsts:
|
| - mflr 0
|
| - bcl 20,31,$+4
|
| - mflr 6
|
| - addi 6,6,-0x48
|
| - mtlr 0
|
| - 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
|
| -.align 2
|
| -
|
| -.globl aes_hw_set_encrypt_key
|
| -.align 5
|
| -aes_hw_set_encrypt_key:
|
| -Lset_encrypt_key:
|
| - mflr 11
|
| - std 11,16(1)
|
| -
|
| - li 6,-1
|
| - cmpldi 3,0
|
| - beq- Lenc_key_abort
|
| - cmpldi 5,0
|
| - beq- Lenc_key_abort
|
| - li 6,-2
|
| - cmpwi 4,128
|
| - blt- Lenc_key_abort
|
| - cmpwi 4,256
|
| - bgt- Lenc_key_abort
|
| - andi. 0,4,0x3f
|
| - bne- Lenc_key_abort
|
| -
|
| - lis 0,0xfff0
|
| - mfspr 12,256
|
| - mtspr 256,0
|
| -
|
| - bl Lconsts
|
| - mtlr 11
|
| -
|
| - neg 9,3
|
| - lvx 1,0,3
|
| - addi 3,3,15
|
| - lvsr 3,0,9
|
| - li 8,0x20
|
| - cmpwi 4,192
|
| - lvx 2,0,3
|
| - vspltisb 5,0x0f
|
| - lvx 4,0,6
|
| - vxor 3,3,5
|
| - lvx 5,8,6
|
| - addi 6,6,0x10
|
| - vperm 1,1,2,3
|
| - li 7,8
|
| - vxor 0,0,0
|
| - mtctr 7
|
| -
|
| - lvsl 8,0,5
|
| - vspltisb 9,-1
|
| - lvx 10,0,5
|
| - vperm 9,9,0,8
|
| -
|
| - blt Loop128
|
| - addi 3,3,8
|
| - beq L192
|
| - addi 3,3,8
|
| - b L256
|
| -
|
| -.align 4
|
| -Loop128:
|
| - vperm 3,1,1,5
|
| - vsldoi 6,0,1,12
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - .long 0x10632509
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vadduwm 4,4,4
|
| - vxor 1,1,3
|
| - bc 16,0,Loop128
|
| -
|
| - lvx 4,0,6
|
| -
|
| - vperm 3,1,1,5
|
| - vsldoi 6,0,1,12
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - .long 0x10632509
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vadduwm 4,4,4
|
| - vxor 1,1,3
|
| -
|
| - vperm 3,1,1,5
|
| - vsldoi 6,0,1,12
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - .long 0x10632509
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vxor 1,1,3
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - stvx 7,0,5
|
| -
|
| - addi 3,5,15
|
| - addi 5,5,0x50
|
| -
|
| - li 8,10
|
| - b Ldone
|
| -
|
| -.align 4
|
| -L192:
|
| - lvx 6,0,3
|
| - li 7,4
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| - vperm 2,2,6,3
|
| - vspltisb 3,8
|
| - mtctr 7
|
| - vsububm 5,5,3
|
| -
|
| -Loop192:
|
| - vperm 3,2,2,5
|
| - vsldoi 6,0,1,12
|
| - .long 0x10632509
|
| -
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| -
|
| - vsldoi 7,0,2,8
|
| - vspltw 6,1,3
|
| - vxor 6,6,2
|
| - vsldoi 2,0,2,12
|
| - vadduwm 4,4,4
|
| - vxor 2,2,6
|
| - vxor 1,1,3
|
| - vxor 2,2,3
|
| - vsldoi 7,7,1,8
|
| -
|
| - vperm 3,2,2,5
|
| - vsldoi 6,0,1,12
|
| - vperm 11,7,7,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - .long 0x10632509
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vsldoi 7,1,2,8
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vperm 11,7,7,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vspltw 6,1,3
|
| - vxor 6,6,2
|
| - vsldoi 2,0,2,12
|
| - vadduwm 4,4,4
|
| - vxor 2,2,6
|
| - vxor 1,1,3
|
| - vxor 2,2,3
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - stvx 7,0,5
|
| - addi 3,5,15
|
| - addi 5,5,16
|
| - bc 16,0,Loop192
|
| -
|
| - li 8,12
|
| - addi 5,5,0x20
|
| - b Ldone
|
| -
|
| -.align 4
|
| -L256:
|
| - lvx 6,0,3
|
| - li 7,7
|
| - li 8,14
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| - vperm 2,2,6,3
|
| - mtctr 7
|
| -
|
| -Loop256:
|
| - vperm 3,2,2,5
|
| - vsldoi 6,0,1,12
|
| - vperm 11,2,2,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - .long 0x10632509
|
| - stvx 7,0,5
|
| - addi 5,5,16
|
| -
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vsldoi 6,0,6,12
|
| - vxor 1,1,6
|
| - vadduwm 4,4,4
|
| - vxor 1,1,3
|
| - vperm 11,1,1,8
|
| - vsel 7,10,11,9
|
| - vor 10,11,11
|
| - stvx 7,0,5
|
| - addi 3,5,15
|
| - addi 5,5,16
|
| - bdz Ldone
|
| -
|
| - vspltw 3,1,3
|
| - vsldoi 6,0,2,12
|
| - .long 0x106305C8
|
| -
|
| - vxor 2,2,6
|
| - vsldoi 6,0,6,12
|
| - vxor 2,2,6
|
| - vsldoi 6,0,6,12
|
| - vxor 2,2,6
|
| -
|
| - vxor 2,2,3
|
| - b Loop256
|
| -
|
| -.align 4
|
| -Ldone:
|
| - lvx 2,0,3
|
| - vsel 2,10,2,9
|
| - stvx 2,0,3
|
| - li 6,0
|
| - mtspr 256,12
|
| - stw 8,0(5)
|
| -
|
| -Lenc_key_abort:
|
| - mr 3,6
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,1,0,0,3,0
|
| -.long 0
|
| -
|
| -
|
| -.globl aes_hw_set_decrypt_key
|
| -.align 5
|
| -aes_hw_set_decrypt_key:
|
| - stdu 1,-64(1)
|
| - mflr 10
|
| - std 10,64+16(1)
|
| - bl Lset_encrypt_key
|
| - mtlr 10
|
| -
|
| - cmpwi 3,0
|
| - bne- Ldec_key_abort
|
| -
|
| - slwi 7,8,4
|
| - subi 3,5,240
|
| - srwi 8,8,1
|
| - add 5,3,7
|
| - mtctr 8
|
| -
|
| -Ldeckey:
|
| - lwz 0, 0(3)
|
| - lwz 6, 4(3)
|
| - lwz 7, 8(3)
|
| - lwz 8, 12(3)
|
| - addi 3,3,16
|
| - lwz 9, 0(5)
|
| - lwz 10,4(5)
|
| - lwz 11,8(5)
|
| - lwz 12,12(5)
|
| - stw 0, 0(5)
|
| - stw 6, 4(5)
|
| - stw 7, 8(5)
|
| - stw 8, 12(5)
|
| - subi 5,5,16
|
| - stw 9, -16(3)
|
| - stw 10,-12(3)
|
| - stw 11,-8(3)
|
| - stw 12,-4(3)
|
| - bc 16,0,Ldeckey
|
| -
|
| - xor 3,3,3
|
| -Ldec_key_abort:
|
| - addi 1,1,64
|
| - blr
|
| -.long 0
|
| -.byte 0,12,4,1,0x80,0,3,0
|
| -.long 0
|
| -
|
| -.globl aes_hw_encrypt
|
| -.align 5
|
| -aes_hw_encrypt:
|
| - lwz 6,240(5)
|
| - lis 0,0xfc00
|
| - mfspr 12,256
|
| - li 7,15
|
| - mtspr 256,0
|
| -
|
| - lvx 0,0,3
|
| - neg 11,4
|
| - lvx 1,7,3
|
| - lvsl 2,0,3
|
| - vspltisb 4,0x0f
|
| - lvsr 3,0,11
|
| - vxor 2,2,4
|
| - li 7,16
|
| - vperm 0,0,1,2
|
| - lvx 1,0,5
|
| - lvsr 5,0,5
|
| - srwi 6,6,1
|
| - lvx 2,7,5
|
| - addi 7,7,16
|
| - subi 6,6,1
|
| - vperm 1,2,1,5
|
| -
|
| - vxor 0,0,1
|
| - lvx 1,7,5
|
| - addi 7,7,16
|
| - mtctr 6
|
| -
|
| -Loop_enc:
|
| - vperm 2,1,2,5
|
| - .long 0x10001508
|
| - lvx 2,7,5
|
| - addi 7,7,16
|
| - vperm 1,2,1,5
|
| - .long 0x10000D08
|
| - lvx 1,7,5
|
| - addi 7,7,16
|
| - bc 16,0,Loop_enc
|
| -
|
| - vperm 2,1,2,5
|
| - .long 0x10001508
|
| - lvx 2,7,5
|
| - vperm 1,2,1,5
|
| - .long 0x10000D09
|
| -
|
| - vspltisb 2,-1
|
| - vxor 1,1,1
|
| - li 7,15
|
| - vperm 2,2,1,3
|
| - vxor 3,3,4
|
| - lvx 1,0,4
|
| - vperm 0,0,0,3
|
| - vsel 1,1,0,2
|
| - lvx 4,7,4
|
| - stvx 1,0,4
|
| - vsel 0,0,4,2
|
| - stvx 0,7,4
|
| -
|
| - mtspr 256,12
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,3,0
|
| -.long 0
|
| -
|
| -.globl aes_hw_decrypt
|
| -.align 5
|
| -aes_hw_decrypt:
|
| - lwz 6,240(5)
|
| - lis 0,0xfc00
|
| - mfspr 12,256
|
| - li 7,15
|
| - mtspr 256,0
|
| -
|
| - lvx 0,0,3
|
| - neg 11,4
|
| - lvx 1,7,3
|
| - lvsl 2,0,3
|
| - vspltisb 4,0x0f
|
| - lvsr 3,0,11
|
| - vxor 2,2,4
|
| - li 7,16
|
| - vperm 0,0,1,2
|
| - lvx 1,0,5
|
| - lvsr 5,0,5
|
| - srwi 6,6,1
|
| - lvx 2,7,5
|
| - addi 7,7,16
|
| - subi 6,6,1
|
| - vperm 1,2,1,5
|
| -
|
| - vxor 0,0,1
|
| - lvx 1,7,5
|
| - addi 7,7,16
|
| - mtctr 6
|
| -
|
| -Loop_dec:
|
| - vperm 2,1,2,5
|
| - .long 0x10001548
|
| - lvx 2,7,5
|
| - addi 7,7,16
|
| - vperm 1,2,1,5
|
| - .long 0x10000D48
|
| - lvx 1,7,5
|
| - addi 7,7,16
|
| - bc 16,0,Loop_dec
|
| -
|
| - vperm 2,1,2,5
|
| - .long 0x10001548
|
| - lvx 2,7,5
|
| - vperm 1,2,1,5
|
| - .long 0x10000D49
|
| -
|
| - vspltisb 2,-1
|
| - vxor 1,1,1
|
| - li 7,15
|
| - vperm 2,2,1,3
|
| - vxor 3,3,4
|
| - lvx 1,0,4
|
| - vperm 0,0,0,3
|
| - vsel 1,1,0,2
|
| - lvx 4,7,4
|
| - stvx 1,0,4
|
| - vsel 0,0,4,2
|
| - stvx 0,7,4
|
| -
|
| - mtspr 256,12
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,3,0
|
| -.long 0
|
| -
|
| -.globl aes_hw_cbc_encrypt
|
| -.align 5
|
| -aes_hw_cbc_encrypt:
|
| - cmpldi 5,16
|
| - bclr 14,0
|
| -
|
| - cmpwi 8,0
|
| - lis 0,0xffe0
|
| - mfspr 12,256
|
| - mtspr 256,0
|
| -
|
| - li 10,15
|
| - vxor 0,0,0
|
| - vspltisb 3,0x0f
|
| -
|
| - lvx 4,0,7
|
| - lvsl 6,0,7
|
| - lvx 5,10,7
|
| - vxor 6,6,3
|
| - vperm 4,4,5,6
|
| -
|
| - neg 11,3
|
| - lvsr 10,0,6
|
| - lwz 9,240(6)
|
| -
|
| - lvsr 6,0,11
|
| - lvx 5,0,3
|
| - addi 3,3,15
|
| - vxor 6,6,3
|
| -
|
| - lvsl 8,0,4
|
| - vspltisb 9,-1
|
| - lvx 7,0,4
|
| - vperm 9,9,0,8
|
| - vxor 8,8,3
|
| -
|
| - srwi 9,9,1
|
| - li 10,16
|
| - subi 9,9,1
|
| - beq Lcbc_dec
|
| -
|
| -Lcbc_enc:
|
| - vor 2,5,5
|
| - lvx 5,0,3
|
| - addi 3,3,16
|
| - mtctr 9
|
| - subi 5,5,16
|
| -
|
| - lvx 0,0,6
|
| - vperm 2,2,5,6
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - vxor 2,2,0
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - vxor 2,2,4
|
| -
|
| -Loop_cbc_enc:
|
| - vperm 1,0,1,10
|
| - .long 0x10420D08
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - .long 0x10420508
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - bc 16,0,Loop_cbc_enc
|
| -
|
| - vperm 1,0,1,10
|
| - .long 0x10420D08
|
| - lvx 1,10,6
|
| - li 10,16
|
| - vperm 0,1,0,10
|
| - .long 0x10820509
|
| - cmpldi 5,16
|
| -
|
| - vperm 3,4,4,8
|
| - vsel 2,7,3,9
|
| - vor 7,3,3
|
| - stvx 2,0,4
|
| - addi 4,4,16
|
| - bge Lcbc_enc
|
| -
|
| - b Lcbc_done
|
| -
|
| -.align 4
|
| -Lcbc_dec:
|
| - cmpldi 5,128
|
| - bge _aesp8_cbc_decrypt8x
|
| - vor 3,5,5
|
| - lvx 5,0,3
|
| - addi 3,3,16
|
| - mtctr 9
|
| - subi 5,5,16
|
| -
|
| - lvx 0,0,6
|
| - vperm 3,3,5,6
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - vxor 2,3,0
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| -
|
| -Loop_cbc_dec:
|
| - vperm 1,0,1,10
|
| - .long 0x10420D48
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - .long 0x10420548
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - bc 16,0,Loop_cbc_dec
|
| -
|
| - vperm 1,0,1,10
|
| - .long 0x10420D48
|
| - lvx 1,10,6
|
| - li 10,16
|
| - vperm 0,1,0,10
|
| - .long 0x10420549
|
| - cmpldi 5,16
|
| -
|
| - vxor 2,2,4
|
| - vor 4,3,3
|
| - vperm 3,2,2,8
|
| - vsel 2,7,3,9
|
| - vor 7,3,3
|
| - stvx 2,0,4
|
| - addi 4,4,16
|
| - bge Lcbc_dec
|
| -
|
| -Lcbc_done:
|
| - addi 4,4,-1
|
| - lvx 2,0,4
|
| - vsel 2,7,2,9
|
| - stvx 2,0,4
|
| -
|
| - neg 8,7
|
| - li 10,15
|
| - vxor 0,0,0
|
| - vspltisb 9,-1
|
| - vspltisb 3,0x0f
|
| - lvsr 8,0,8
|
| - vperm 9,9,0,8
|
| - vxor 8,8,3
|
| - lvx 7,0,7
|
| - vperm 4,4,4,8
|
| - vsel 2,7,4,9
|
| - lvx 5,10,7
|
| - stvx 2,0,7
|
| - vsel 2,4,5,9
|
| - stvx 2,10,7
|
| -
|
| - mtspr 256,12
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,6,0
|
| -.long 0
|
| -.align 5
|
| -_aesp8_cbc_decrypt8x:
|
| - stdu 1,-448(1)
|
| - li 10,207
|
| - li 11,223
|
| - stvx 20,10,1
|
| - addi 10,10,32
|
| - 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
|
| - stvx 25,11,1
|
| - addi 11,11,32
|
| - 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
|
| - li 0,-1
|
| - stw 12,396(1)
|
| - li 8,0x10
|
| - std 26,400(1)
|
| - li 26,0x20
|
| - std 27,408(1)
|
| - li 27,0x30
|
| - std 28,416(1)
|
| - li 28,0x40
|
| - std 29,424(1)
|
| - li 29,0x50
|
| - std 30,432(1)
|
| - li 30,0x60
|
| - std 31,440(1)
|
| - li 31,0x70
|
| - mtspr 256,0
|
| -
|
| - subi 9,9,3
|
| - subi 5,5,128
|
| -
|
| - lvx 23,0,6
|
| - lvx 30,8,6
|
| - addi 6,6,0x20
|
| - lvx 31,0,6
|
| - vperm 23,30,23,10
|
| - addi 11,1,64+15
|
| - mtctr 9
|
| -
|
| -Load_cbc_dec_key:
|
| - vperm 24,31,30,10
|
| - lvx 30,8,6
|
| - addi 6,6,0x20
|
| - stvx 24,0,11
|
| - vperm 25,30,31,10
|
| - lvx 31,0,6
|
| - stvx 25,8,11
|
| - addi 11,11,0x20
|
| - bc 16,0,Load_cbc_dec_key
|
| -
|
| - lvx 26,8,6
|
| - vperm 24,31,30,10
|
| - lvx 27,26,6
|
| - stvx 24,0,11
|
| - vperm 25,26,31,10
|
| - lvx 28,27,6
|
| - stvx 25,8,11
|
| - addi 11,1,64+15
|
| - vperm 26,27,26,10
|
| - lvx 29,28,6
|
| - vperm 27,28,27,10
|
| - lvx 30,29,6
|
| - vperm 28,29,28,10
|
| - lvx 31,30,6
|
| - vperm 29,30,29,10
|
| - lvx 14,31,6
|
| - vperm 30,31,30,10
|
| - lvx 24,0,11
|
| - vperm 31,14,31,10
|
| - lvx 25,8,11
|
| -
|
| -
|
| -
|
| - subi 3,3,15
|
| -
|
| - li 10,8
|
| - .long 0x7C001E99
|
| - lvsl 6,0,10
|
| - vspltisb 3,0x0f
|
| - .long 0x7C281E99
|
| - vxor 6,6,3
|
| - .long 0x7C5A1E99
|
| - vperm 0,0,0,6
|
| - .long 0x7C7B1E99
|
| - vperm 1,1,1,6
|
| - .long 0x7D5C1E99
|
| - vperm 2,2,2,6
|
| - vxor 14,0,23
|
| - .long 0x7D7D1E99
|
| - vperm 3,3,3,6
|
| - vxor 15,1,23
|
| - .long 0x7D9E1E99
|
| - vperm 10,10,10,6
|
| - vxor 16,2,23
|
| - .long 0x7DBF1E99
|
| - addi 3,3,0x80
|
| - vperm 11,11,11,6
|
| - vxor 17,3,23
|
| - vperm 12,12,12,6
|
| - vxor 18,10,23
|
| - vperm 13,13,13,6
|
| - vxor 19,11,23
|
| - vxor 20,12,23
|
| - vxor 21,13,23
|
| -
|
| - mtctr 9
|
| - b Loop_cbc_dec8x
|
| -.align 5
|
| -Loop_cbc_dec8x:
|
| - .long 0x11CEC548
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| - .long 0x1231C548
|
| - .long 0x1252C548
|
| - .long 0x1273C548
|
| - .long 0x1294C548
|
| - .long 0x12B5C548
|
| - lvx 24,26,11
|
| - addi 11,11,0x20
|
| -
|
| - .long 0x11CECD48
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| - .long 0x1231CD48
|
| - .long 0x1252CD48
|
| - .long 0x1273CD48
|
| - .long 0x1294CD48
|
| - .long 0x12B5CD48
|
| - lvx 25,8,11
|
| - bc 16,0,Loop_cbc_dec8x
|
| -
|
| - subic 5,5,128
|
| - .long 0x11CEC548
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| - .long 0x1231C548
|
| - .long 0x1252C548
|
| - .long 0x1273C548
|
| - .long 0x1294C548
|
| - .long 0x12B5C548
|
| -
|
| - subfe. 0,0,0
|
| - .long 0x11CECD48
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| - .long 0x1231CD48
|
| - .long 0x1252CD48
|
| - .long 0x1273CD48
|
| - .long 0x1294CD48
|
| - .long 0x12B5CD48
|
| -
|
| - and 0,0,5
|
| - .long 0x11CED548
|
| - .long 0x11EFD548
|
| - .long 0x1210D548
|
| - .long 0x1231D548
|
| - .long 0x1252D548
|
| - .long 0x1273D548
|
| - .long 0x1294D548
|
| - .long 0x12B5D548
|
| -
|
| - add 3,3,0
|
| -
|
| -
|
| -
|
| - .long 0x11CEDD48
|
| - .long 0x11EFDD48
|
| - .long 0x1210DD48
|
| - .long 0x1231DD48
|
| - .long 0x1252DD48
|
| - .long 0x1273DD48
|
| - .long 0x1294DD48
|
| - .long 0x12B5DD48
|
| -
|
| - addi 11,1,64+15
|
| - .long 0x11CEE548
|
| - .long 0x11EFE548
|
| - .long 0x1210E548
|
| - .long 0x1231E548
|
| - .long 0x1252E548
|
| - .long 0x1273E548
|
| - .long 0x1294E548
|
| - .long 0x12B5E548
|
| - lvx 24,0,11
|
| -
|
| - .long 0x11CEED48
|
| - .long 0x11EFED48
|
| - .long 0x1210ED48
|
| - .long 0x1231ED48
|
| - .long 0x1252ED48
|
| - .long 0x1273ED48
|
| - .long 0x1294ED48
|
| - .long 0x12B5ED48
|
| - lvx 25,8,11
|
| -
|
| - .long 0x11CEF548
|
| - vxor 4,4,31
|
| - .long 0x11EFF548
|
| - vxor 0,0,31
|
| - .long 0x1210F548
|
| - vxor 1,1,31
|
| - .long 0x1231F548
|
| - vxor 2,2,31
|
| - .long 0x1252F548
|
| - vxor 3,3,31
|
| - .long 0x1273F548
|
| - vxor 10,10,31
|
| - .long 0x1294F548
|
| - vxor 11,11,31
|
| - .long 0x12B5F548
|
| - vxor 12,12,31
|
| -
|
| - .long 0x11CE2549
|
| - .long 0x11EF0549
|
| - .long 0x7C001E99
|
| - .long 0x12100D49
|
| - .long 0x7C281E99
|
| - .long 0x12311549
|
| - vperm 0,0,0,6
|
| - .long 0x7C5A1E99
|
| - .long 0x12521D49
|
| - vperm 1,1,1,6
|
| - .long 0x7C7B1E99
|
| - .long 0x12735549
|
| - vperm 2,2,2,6
|
| - .long 0x7D5C1E99
|
| - .long 0x12945D49
|
| - vperm 3,3,3,6
|
| - .long 0x7D7D1E99
|
| - .long 0x12B56549
|
| - vperm 10,10,10,6
|
| - .long 0x7D9E1E99
|
| - vor 4,13,13
|
| - vperm 11,11,11,6
|
| - .long 0x7DBF1E99
|
| - addi 3,3,0x80
|
| -
|
| - vperm 14,14,14,6
|
| - vperm 15,15,15,6
|
| - .long 0x7DC02799
|
| - vperm 12,12,12,6
|
| - vxor 14,0,23
|
| - vperm 16,16,16,6
|
| - .long 0x7DE82799
|
| - vperm 13,13,13,6
|
| - vxor 15,1,23
|
| - vperm 17,17,17,6
|
| - .long 0x7E1A2799
|
| - vxor 16,2,23
|
| - vperm 18,18,18,6
|
| - .long 0x7E3B2799
|
| - vxor 17,3,23
|
| - vperm 19,19,19,6
|
| - .long 0x7E5C2799
|
| - vxor 18,10,23
|
| - vperm 20,20,20,6
|
| - .long 0x7E7D2799
|
| - vxor 19,11,23
|
| - vperm 21,21,21,6
|
| - .long 0x7E9E2799
|
| - vxor 20,12,23
|
| - .long 0x7EBF2799
|
| - addi 4,4,0x80
|
| - vxor 21,13,23
|
| -
|
| - mtctr 9
|
| - beq Loop_cbc_dec8x
|
| -
|
| - addic. 5,5,128
|
| - beq Lcbc_dec8x_done
|
| - nop
|
| - nop
|
| -
|
| -Loop_cbc_dec8x_tail:
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| - .long 0x1231C548
|
| - .long 0x1252C548
|
| - .long 0x1273C548
|
| - .long 0x1294C548
|
| - .long 0x12B5C548
|
| - lvx 24,26,11
|
| - addi 11,11,0x20
|
| -
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| - .long 0x1231CD48
|
| - .long 0x1252CD48
|
| - .long 0x1273CD48
|
| - .long 0x1294CD48
|
| - .long 0x12B5CD48
|
| - lvx 25,8,11
|
| - bc 16,0,Loop_cbc_dec8x_tail
|
| -
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| - .long 0x1231C548
|
| - .long 0x1252C548
|
| - .long 0x1273C548
|
| - .long 0x1294C548
|
| - .long 0x12B5C548
|
| -
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| - .long 0x1231CD48
|
| - .long 0x1252CD48
|
| - .long 0x1273CD48
|
| - .long 0x1294CD48
|
| - .long 0x12B5CD48
|
| -
|
| - .long 0x11EFD548
|
| - .long 0x1210D548
|
| - .long 0x1231D548
|
| - .long 0x1252D548
|
| - .long 0x1273D548
|
| - .long 0x1294D548
|
| - .long 0x12B5D548
|
| -
|
| - .long 0x11EFDD48
|
| - .long 0x1210DD48
|
| - .long 0x1231DD48
|
| - .long 0x1252DD48
|
| - .long 0x1273DD48
|
| - .long 0x1294DD48
|
| - .long 0x12B5DD48
|
| -
|
| - .long 0x11EFE548
|
| - .long 0x1210E548
|
| - .long 0x1231E548
|
| - .long 0x1252E548
|
| - .long 0x1273E548
|
| - .long 0x1294E548
|
| - .long 0x12B5E548
|
| -
|
| - .long 0x11EFED48
|
| - .long 0x1210ED48
|
| - .long 0x1231ED48
|
| - .long 0x1252ED48
|
| - .long 0x1273ED48
|
| - .long 0x1294ED48
|
| - .long 0x12B5ED48
|
| -
|
| - .long 0x11EFF548
|
| - vxor 4,4,31
|
| - .long 0x1210F548
|
| - vxor 1,1,31
|
| - .long 0x1231F548
|
| - vxor 2,2,31
|
| - .long 0x1252F548
|
| - vxor 3,3,31
|
| - .long 0x1273F548
|
| - vxor 10,10,31
|
| - .long 0x1294F548
|
| - vxor 11,11,31
|
| - .long 0x12B5F548
|
| - vxor 12,12,31
|
| -
|
| - cmplwi 5,32
|
| - blt Lcbc_dec8x_one
|
| - nop
|
| - beq Lcbc_dec8x_two
|
| - cmplwi 5,64
|
| - blt Lcbc_dec8x_three
|
| - nop
|
| - beq Lcbc_dec8x_four
|
| - cmplwi 5,96
|
| - blt Lcbc_dec8x_five
|
| - nop
|
| - beq Lcbc_dec8x_six
|
| -
|
| -Lcbc_dec8x_seven:
|
| - .long 0x11EF2549
|
| - .long 0x12100D49
|
| - .long 0x12311549
|
| - .long 0x12521D49
|
| - .long 0x12735549
|
| - .long 0x12945D49
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5B2799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7C2799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9D2799
|
| - .long 0x7EBE2799
|
| - addi 4,4,0x70
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_six:
|
| - .long 0x12102549
|
| - .long 0x12311549
|
| - .long 0x12521D49
|
| - .long 0x12735549
|
| - .long 0x12945D49
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 16,16,16,6
|
| - vperm 17,17,17,6
|
| - .long 0x7E002799
|
| - vperm 18,18,18,6
|
| - .long 0x7E282799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5A2799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7B2799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9C2799
|
| - .long 0x7EBD2799
|
| - addi 4,4,0x60
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_five:
|
| - .long 0x12312549
|
| - .long 0x12521D49
|
| - .long 0x12735549
|
| - .long 0x12945D49
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 17,17,17,6
|
| - vperm 18,18,18,6
|
| - .long 0x7E202799
|
| - vperm 19,19,19,6
|
| - .long 0x7E482799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7A2799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9B2799
|
| - .long 0x7EBC2799
|
| - addi 4,4,0x50
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_four:
|
| - .long 0x12522549
|
| - .long 0x12735549
|
| - .long 0x12945D49
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 18,18,18,6
|
| - vperm 19,19,19,6
|
| - .long 0x7E402799
|
| - vperm 20,20,20,6
|
| - .long 0x7E682799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9A2799
|
| - .long 0x7EBB2799
|
| - addi 4,4,0x40
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_three:
|
| - .long 0x12732549
|
| - .long 0x12945D49
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 19,19,19,6
|
| - vperm 20,20,20,6
|
| - .long 0x7E602799
|
| - vperm 21,21,21,6
|
| - .long 0x7E882799
|
| - .long 0x7EBA2799
|
| - addi 4,4,0x30
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_two:
|
| - .long 0x12942549
|
| - .long 0x12B56549
|
| - vor 4,13,13
|
| -
|
| - vperm 20,20,20,6
|
| - vperm 21,21,21,6
|
| - .long 0x7E802799
|
| - .long 0x7EA82799
|
| - addi 4,4,0x20
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lcbc_dec8x_one:
|
| - .long 0x12B52549
|
| - vor 4,13,13
|
| -
|
| - vperm 21,21,21,6
|
| - .long 0x7EA02799
|
| - addi 4,4,0x10
|
| -
|
| -Lcbc_dec8x_done:
|
| - vperm 4,4,4,6
|
| - .long 0x7C803F99
|
| -
|
| - li 10,79
|
| - li 11,95
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| -
|
| - mtspr 256,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
|
| - ld 26,400(1)
|
| - ld 27,408(1)
|
| - ld 28,416(1)
|
| - ld 29,424(1)
|
| - ld 30,432(1)
|
| - ld 31,440(1)
|
| - addi 1,1,448
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,0,0x80,6,6,0
|
| -.long 0
|
| -
|
| -.globl aes_hw_ctr32_encrypt_blocks
|
| -.align 5
|
| -aes_hw_ctr32_encrypt_blocks:
|
| - cmpldi 5,1
|
| - bclr 14,0
|
| -
|
| - lis 0,0xfff0
|
| - mfspr 12,256
|
| - mtspr 256,0
|
| -
|
| - li 10,15
|
| - vxor 0,0,0
|
| - vspltisb 3,0x0f
|
| -
|
| - lvx 4,0,7
|
| - lvsl 6,0,7
|
| - lvx 5,10,7
|
| - vspltisb 11,1
|
| - vxor 6,6,3
|
| - vperm 4,4,5,6
|
| - vsldoi 11,0,11,1
|
| -
|
| - neg 11,3
|
| - lvsr 10,0,6
|
| - lwz 9,240(6)
|
| -
|
| - lvsr 6,0,11
|
| - lvx 5,0,3
|
| - addi 3,3,15
|
| - vxor 6,6,3
|
| -
|
| - srwi 9,9,1
|
| - li 10,16
|
| - subi 9,9,1
|
| -
|
| - cmpldi 5,8
|
| - bge _aesp8_ctr32_encrypt8x
|
| -
|
| - lvsl 8,0,4
|
| - vspltisb 9,-1
|
| - lvx 7,0,4
|
| - vperm 9,9,0,8
|
| - vxor 8,8,3
|
| -
|
| - lvx 0,0,6
|
| - mtctr 9
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - vxor 2,4,0
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - b Loop_ctr32_enc
|
| -
|
| -.align 5
|
| -Loop_ctr32_enc:
|
| - vperm 1,0,1,10
|
| - .long 0x10420D08
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 0,1,0,10
|
| - .long 0x10420508
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - bc 16,0,Loop_ctr32_enc
|
| -
|
| - vadduwm 4,4,11
|
| - vor 3,5,5
|
| - lvx 5,0,3
|
| - addi 3,3,16
|
| - subic. 5,5,1
|
| -
|
| - vperm 1,0,1,10
|
| - .long 0x10420D08
|
| - lvx 1,10,6
|
| - vperm 3,3,5,6
|
| - li 10,16
|
| - vperm 1,1,0,10
|
| - lvx 0,0,6
|
| - vxor 3,3,1
|
| - .long 0x10421D09
|
| -
|
| - lvx 1,10,6
|
| - addi 10,10,16
|
| - vperm 2,2,2,8
|
| - vsel 3,7,2,9
|
| - mtctr 9
|
| - vperm 0,1,0,10
|
| - vor 7,2,2
|
| - vxor 2,4,0
|
| - lvx 0,10,6
|
| - addi 10,10,16
|
| - stvx 3,0,4
|
| - addi 4,4,16
|
| - bne Loop_ctr32_enc
|
| -
|
| - addi 4,4,-1
|
| - lvx 2,0,4
|
| - vsel 2,7,2,9
|
| - stvx 2,0,4
|
| -
|
| - mtspr 256,12
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,6,0
|
| -.long 0
|
| -.align 5
|
| -_aesp8_ctr32_encrypt8x:
|
| - stdu 1,-448(1)
|
| - li 10,207
|
| - li 11,223
|
| - stvx 20,10,1
|
| - addi 10,10,32
|
| - 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
|
| - stvx 25,11,1
|
| - addi 11,11,32
|
| - 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
|
| - li 0,-1
|
| - stw 12,396(1)
|
| - li 8,0x10
|
| - std 26,400(1)
|
| - li 26,0x20
|
| - std 27,408(1)
|
| - li 27,0x30
|
| - std 28,416(1)
|
| - li 28,0x40
|
| - std 29,424(1)
|
| - li 29,0x50
|
| - std 30,432(1)
|
| - li 30,0x60
|
| - std 31,440(1)
|
| - li 31,0x70
|
| - mtspr 256,0
|
| -
|
| - subi 9,9,3
|
| -
|
| - lvx 23,0,6
|
| - lvx 30,8,6
|
| - addi 6,6,0x20
|
| - lvx 31,0,6
|
| - vperm 23,30,23,10
|
| - addi 11,1,64+15
|
| - mtctr 9
|
| -
|
| -Load_ctr32_enc_key:
|
| - vperm 24,31,30,10
|
| - lvx 30,8,6
|
| - addi 6,6,0x20
|
| - stvx 24,0,11
|
| - vperm 25,30,31,10
|
| - lvx 31,0,6
|
| - stvx 25,8,11
|
| - addi 11,11,0x20
|
| - bc 16,0,Load_ctr32_enc_key
|
| -
|
| - lvx 26,8,6
|
| - vperm 24,31,30,10
|
| - lvx 27,26,6
|
| - stvx 24,0,11
|
| - vperm 25,26,31,10
|
| - lvx 28,27,6
|
| - stvx 25,8,11
|
| - addi 11,1,64+15
|
| - vperm 26,27,26,10
|
| - lvx 29,28,6
|
| - vperm 27,28,27,10
|
| - lvx 30,29,6
|
| - vperm 28,29,28,10
|
| - lvx 31,30,6
|
| - vperm 29,30,29,10
|
| - lvx 15,31,6
|
| - vperm 30,31,30,10
|
| - lvx 24,0,11
|
| - vperm 31,15,31,10
|
| - lvx 25,8,11
|
| -
|
| - vadduwm 7,11,11
|
| - subi 3,3,15
|
| - sldi 5,5,4
|
| -
|
| - vadduwm 16,4,11
|
| - vadduwm 17,4,7
|
| - vxor 15,4,23
|
| - li 10,8
|
| - vadduwm 18,16,7
|
| - vxor 16,16,23
|
| - lvsl 6,0,10
|
| - vadduwm 19,17,7
|
| - vxor 17,17,23
|
| - vspltisb 3,0x0f
|
| - vadduwm 20,18,7
|
| - vxor 18,18,23
|
| - vxor 6,6,3
|
| - vadduwm 21,19,7
|
| - vxor 19,19,23
|
| - vadduwm 22,20,7
|
| - vxor 20,20,23
|
| - vadduwm 4,21,7
|
| - vxor 21,21,23
|
| - vxor 22,22,23
|
| -
|
| - mtctr 9
|
| - b Loop_ctr32_enc8x
|
| -.align 5
|
| -Loop_ctr32_enc8x:
|
| - .long 0x11EFC508
|
| - .long 0x1210C508
|
| - .long 0x1231C508
|
| - .long 0x1252C508
|
| - .long 0x1273C508
|
| - .long 0x1294C508
|
| - .long 0x12B5C508
|
| - .long 0x12D6C508
|
| -Loop_ctr32_enc8x_middle:
|
| - lvx 24,26,11
|
| - addi 11,11,0x20
|
| -
|
| - .long 0x11EFCD08
|
| - .long 0x1210CD08
|
| - .long 0x1231CD08
|
| - .long 0x1252CD08
|
| - .long 0x1273CD08
|
| - .long 0x1294CD08
|
| - .long 0x12B5CD08
|
| - .long 0x12D6CD08
|
| - lvx 25,8,11
|
| - bc 16,0,Loop_ctr32_enc8x
|
| -
|
| - subic 11,5,256
|
| - .long 0x11EFC508
|
| - .long 0x1210C508
|
| - .long 0x1231C508
|
| - .long 0x1252C508
|
| - .long 0x1273C508
|
| - .long 0x1294C508
|
| - .long 0x12B5C508
|
| - .long 0x12D6C508
|
| -
|
| - subfe 0,0,0
|
| - .long 0x11EFCD08
|
| - .long 0x1210CD08
|
| - .long 0x1231CD08
|
| - .long 0x1252CD08
|
| - .long 0x1273CD08
|
| - .long 0x1294CD08
|
| - .long 0x12B5CD08
|
| - .long 0x12D6CD08
|
| -
|
| - and 0,0,11
|
| - addi 11,1,64+15
|
| - .long 0x11EFD508
|
| - .long 0x1210D508
|
| - .long 0x1231D508
|
| - .long 0x1252D508
|
| - .long 0x1273D508
|
| - .long 0x1294D508
|
| - .long 0x12B5D508
|
| - .long 0x12D6D508
|
| - lvx 24,0,11
|
| -
|
| - subic 5,5,129
|
| - .long 0x11EFDD08
|
| - addi 5,5,1
|
| - .long 0x1210DD08
|
| - .long 0x1231DD08
|
| - .long 0x1252DD08
|
| - .long 0x1273DD08
|
| - .long 0x1294DD08
|
| - .long 0x12B5DD08
|
| - .long 0x12D6DD08
|
| - lvx 25,8,11
|
| -
|
| - .long 0x11EFE508
|
| - .long 0x7C001E99
|
| - .long 0x1210E508
|
| - .long 0x7C281E99
|
| - .long 0x1231E508
|
| - .long 0x7C5A1E99
|
| - .long 0x1252E508
|
| - .long 0x7C7B1E99
|
| - .long 0x1273E508
|
| - .long 0x7D5C1E99
|
| - .long 0x1294E508
|
| - .long 0x7D9D1E99
|
| - .long 0x12B5E508
|
| - .long 0x7DBE1E99
|
| - .long 0x12D6E508
|
| - .long 0x7DDF1E99
|
| - addi 3,3,0x80
|
| -
|
| - .long 0x11EFED08
|
| - vperm 0,0,0,6
|
| - .long 0x1210ED08
|
| - vperm 1,1,1,6
|
| - .long 0x1231ED08
|
| - vperm 2,2,2,6
|
| - .long 0x1252ED08
|
| - vperm 3,3,3,6
|
| - .long 0x1273ED08
|
| - vperm 10,10,10,6
|
| - .long 0x1294ED08
|
| - vperm 12,12,12,6
|
| - .long 0x12B5ED08
|
| - vperm 13,13,13,6
|
| - .long 0x12D6ED08
|
| - vperm 14,14,14,6
|
| -
|
| - add 3,3,0
|
| -
|
| -
|
| -
|
| - subfe. 0,0,0
|
| - .long 0x11EFF508
|
| - vxor 0,0,31
|
| - .long 0x1210F508
|
| - vxor 1,1,31
|
| - .long 0x1231F508
|
| - vxor 2,2,31
|
| - .long 0x1252F508
|
| - vxor 3,3,31
|
| - .long 0x1273F508
|
| - vxor 10,10,31
|
| - .long 0x1294F508
|
| - vxor 12,12,31
|
| - .long 0x12B5F508
|
| - vxor 13,13,31
|
| - .long 0x12D6F508
|
| - vxor 14,14,31
|
| -
|
| - bne Lctr32_enc8x_break
|
| -
|
| - .long 0x100F0509
|
| - .long 0x10300D09
|
| - vadduwm 16,4,11
|
| - .long 0x10511509
|
| - vadduwm 17,4,7
|
| - vxor 15,4,23
|
| - .long 0x10721D09
|
| - vadduwm 18,16,7
|
| - vxor 16,16,23
|
| - .long 0x11535509
|
| - vadduwm 19,17,7
|
| - vxor 17,17,23
|
| - .long 0x11946509
|
| - vadduwm 20,18,7
|
| - vxor 18,18,23
|
| - .long 0x11B56D09
|
| - vadduwm 21,19,7
|
| - vxor 19,19,23
|
| - .long 0x11D67509
|
| - vadduwm 22,20,7
|
| - vxor 20,20,23
|
| - vperm 0,0,0,6
|
| - vadduwm 4,21,7
|
| - vxor 21,21,23
|
| - vperm 1,1,1,6
|
| - vxor 22,22,23
|
| - mtctr 9
|
| -
|
| - .long 0x11EFC508
|
| - .long 0x7C002799
|
| - vperm 2,2,2,6
|
| - .long 0x1210C508
|
| - .long 0x7C282799
|
| - vperm 3,3,3,6
|
| - .long 0x1231C508
|
| - .long 0x7C5A2799
|
| - vperm 10,10,10,6
|
| - .long 0x1252C508
|
| - .long 0x7C7B2799
|
| - vperm 12,12,12,6
|
| - .long 0x1273C508
|
| - .long 0x7D5C2799
|
| - vperm 13,13,13,6
|
| - .long 0x1294C508
|
| - .long 0x7D9D2799
|
| - vperm 14,14,14,6
|
| - .long 0x12B5C508
|
| - .long 0x7DBE2799
|
| - .long 0x12D6C508
|
| - .long 0x7DDF2799
|
| - addi 4,4,0x80
|
| -
|
| - b Loop_ctr32_enc8x_middle
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_break:
|
| - cmpwi 5,-0x60
|
| - blt Lctr32_enc8x_one
|
| - nop
|
| - beq Lctr32_enc8x_two
|
| - cmpwi 5,-0x40
|
| - blt Lctr32_enc8x_three
|
| - nop
|
| - beq Lctr32_enc8x_four
|
| - cmpwi 5,-0x20
|
| - blt Lctr32_enc8x_five
|
| - nop
|
| - beq Lctr32_enc8x_six
|
| - cmpwi 5,0x00
|
| - blt Lctr32_enc8x_seven
|
| -
|
| -Lctr32_enc8x_eight:
|
| - .long 0x11EF0509
|
| - .long 0x12100D09
|
| - .long 0x12311509
|
| - .long 0x12521D09
|
| - .long 0x12735509
|
| - .long 0x12946509
|
| - .long 0x12B56D09
|
| - .long 0x12D67509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5B2799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7C2799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9D2799
|
| - vperm 22,22,22,6
|
| - .long 0x7EBE2799
|
| - .long 0x7EDF2799
|
| - addi 4,4,0x80
|
| - b Lctr32_enc8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_seven:
|
| - .long 0x11EF0D09
|
| - .long 0x12101509
|
| - .long 0x12311D09
|
| - .long 0x12525509
|
| - .long 0x12736509
|
| - .long 0x12946D09
|
| - .long 0x12B57509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5B2799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7C2799
|
| - vperm 21,21,21,6
|
| - .long 0x7E9D2799
|
| - .long 0x7EBE2799
|
| - addi 4,4,0x70
|
| - b Lctr32_enc8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_six:
|
| - .long 0x11EF1509
|
| - .long 0x12101D09
|
| - .long 0x12315509
|
| - .long 0x12526509
|
| - .long 0x12736D09
|
| - .long 0x12947509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5B2799
|
| - vperm 20,20,20,6
|
| - .long 0x7E7C2799
|
| - .long 0x7E9D2799
|
| - addi 4,4,0x60
|
| - b Lctr32_enc8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_five:
|
| - .long 0x11EF1D09
|
| - .long 0x12105509
|
| - .long 0x12316509
|
| - .long 0x12526D09
|
| - .long 0x12737509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - vperm 19,19,19,6
|
| - .long 0x7E5B2799
|
| - .long 0x7E7C2799
|
| - addi 4,4,0x50
|
| - b Lctr32_enc8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_four:
|
| - .long 0x11EF5509
|
| - .long 0x12106509
|
| - .long 0x12316D09
|
| - .long 0x12527509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - vperm 18,18,18,6
|
| - .long 0x7E3A2799
|
| - .long 0x7E5B2799
|
| - addi 4,4,0x40
|
| - b Lctr32_enc8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_three:
|
| - .long 0x11EF6509
|
| - .long 0x12106D09
|
| - .long 0x12317509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - vperm 17,17,17,6
|
| - .long 0x7E082799
|
| - .long 0x7E3A2799
|
| - addi 4,4,0x30
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_two:
|
| - .long 0x11EF6D09
|
| - .long 0x12107509
|
| -
|
| - vperm 15,15,15,6
|
| - vperm 16,16,16,6
|
| - .long 0x7DE02799
|
| - .long 0x7E082799
|
| - addi 4,4,0x20
|
| - b Lcbc_dec8x_done
|
| -
|
| -.align 5
|
| -Lctr32_enc8x_one:
|
| - .long 0x11EF7509
|
| -
|
| - vperm 15,15,15,6
|
| - .long 0x7DE02799
|
| - addi 4,4,0x10
|
| -
|
| -Lctr32_enc8x_done:
|
| - li 10,79
|
| - li 11,95
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| - stvx 6,10,1
|
| - addi 10,10,32
|
| - stvx 6,11,1
|
| - addi 11,11,32
|
| -
|
| - mtspr 256,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
|
| - ld 26,400(1)
|
| - ld 27,408(1)
|
| - ld 28,416(1)
|
| - ld 29,424(1)
|
| - ld 30,432(1)
|
| - ld 31,440(1)
|
| - addi 1,1,448
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,0,0x80,6,6,0
|
| -.long 0
|
| -
|
| -.globl aes_hw_xts_encrypt
|
| -.align 5
|
| -aes_hw_xts_encrypt:
|
| - mr 10,3
|
| - li 3,-1
|
| - cmpldi 5,16
|
| - bclr 14,0
|
| -
|
| - lis 0,0xfff0
|
| - mfspr 12,256
|
| - li 11,0
|
| - mtspr 256,0
|
| -
|
| - vspltisb 9,0x07
|
| - lvsl 6,11,11
|
| - vspltisb 11,0x0f
|
| - vxor 6,6,9
|
| -
|
| - li 3,15
|
| - lvx 8,0,8
|
| - lvsl 5,0,8
|
| - lvx 4,3,8
|
| - vxor 5,5,11
|
| - vperm 8,8,4,5
|
| -
|
| - neg 11,10
|
| - lvsr 5,0,11
|
| - lvx 2,0,10
|
| - addi 10,10,15
|
| - vxor 5,5,11
|
| -
|
| - cmpldi 7,0
|
| - beq Lxts_enc_no_key2
|
| -
|
| - lvsr 7,0,7
|
| - lwz 9,240(7)
|
| - srwi 9,9,1
|
| - subi 9,9,1
|
| - li 3,16
|
| -
|
| - lvx 0,0,7
|
| - lvx 1,3,7
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - vxor 8,8,0
|
| - lvx 0,3,7
|
| - addi 3,3,16
|
| - mtctr 9
|
| -
|
| -Ltweak_xts_enc:
|
| - vperm 1,0,1,7
|
| - .long 0x11080D08
|
| - lvx 1,3,7
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - .long 0x11080508
|
| - lvx 0,3,7
|
| - addi 3,3,16
|
| - bc 16,0,Ltweak_xts_enc
|
| -
|
| - vperm 1,0,1,7
|
| - .long 0x11080D08
|
| - lvx 1,3,7
|
| - vperm 0,1,0,7
|
| - .long 0x11080509
|
| -
|
| - li 8,0
|
| - b Lxts_enc
|
| -
|
| -Lxts_enc_no_key2:
|
| - li 3,-16
|
| - and 5,5,3
|
| -
|
| -
|
| -Lxts_enc:
|
| - lvx 4,0,10
|
| - addi 10,10,16
|
| -
|
| - lvsr 7,0,6
|
| - lwz 9,240(6)
|
| - srwi 9,9,1
|
| - subi 9,9,1
|
| - li 3,16
|
| -
|
| - vslb 10,9,9
|
| - vor 10,10,9
|
| - vspltisb 11,1
|
| - vsldoi 10,10,11,15
|
| -
|
| - cmpldi 5,96
|
| - bge _aesp8_xts_encrypt6x
|
| -
|
| - andi. 7,5,15
|
| - subic 0,5,32
|
| - subi 7,7,16
|
| - subfe 0,0,0
|
| - and 0,0,7
|
| - add 10,10,0
|
| -
|
| - lvx 0,0,6
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 2,2,4,5
|
| - vperm 0,1,0,7
|
| - vxor 2,2,8
|
| - vxor 2,2,0
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| - mtctr 9
|
| - b Loop_xts_enc
|
| -
|
| -.align 5
|
| -Loop_xts_enc:
|
| - vperm 1,0,1,7
|
| - .long 0x10420D08
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - .long 0x10420508
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| - bc 16,0,Loop_xts_enc
|
| -
|
| - vperm 1,0,1,7
|
| - .long 0x10420D08
|
| - lvx 1,3,6
|
| - li 3,16
|
| - vperm 0,1,0,7
|
| - vxor 0,0,8
|
| - .long 0x10620509
|
| -
|
| - vperm 11,3,3,6
|
| -
|
| - .long 0x7D602799
|
| -
|
| - addi 4,4,16
|
| -
|
| - subic. 5,5,16
|
| - beq Lxts_enc_done
|
| -
|
| - vor 2,4,4
|
| - lvx 4,0,10
|
| - addi 10,10,16
|
| - lvx 0,0,6
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| -
|
| - subic 0,5,32
|
| - subfe 0,0,0
|
| - and 0,0,7
|
| - add 10,10,0
|
| -
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 8,8,11
|
| -
|
| - vperm 2,2,4,5
|
| - vperm 0,1,0,7
|
| - vxor 2,2,8
|
| - vxor 3,3,0
|
| - vxor 2,2,0
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| -
|
| - mtctr 9
|
| - cmpldi 5,16
|
| - bge Loop_xts_enc
|
| -
|
| - vxor 3,3,8
|
| - lvsr 5,0,5
|
| - vxor 4,4,4
|
| - vspltisb 11,-1
|
| - vperm 4,4,11,5
|
| - vsel 2,2,3,4
|
| -
|
| - subi 11,4,17
|
| - subi 4,4,16
|
| - mtctr 5
|
| - li 5,16
|
| -Loop_xts_enc_steal:
|
| - lbzu 0,1(11)
|
| - stb 0,16(11)
|
| - bc 16,0,Loop_xts_enc_steal
|
| -
|
| - mtctr 9
|
| - b Loop_xts_enc
|
| -
|
| -Lxts_enc_done:
|
| - cmpldi 8,0
|
| - beq Lxts_enc_ret
|
| -
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 8,8,11
|
| -
|
| - vperm 8,8,8,6
|
| - .long 0x7D004799
|
| -
|
| -Lxts_enc_ret:
|
| - mtspr 256,12
|
| - li 3,0
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,0,0x80,6,6,0
|
| -.long 0
|
| -
|
| -
|
| -.globl aes_hw_xts_decrypt
|
| -.align 5
|
| -aes_hw_xts_decrypt:
|
| - mr 10,3
|
| - li 3,-1
|
| - cmpldi 5,16
|
| - bclr 14,0
|
| -
|
| - lis 0,0xfff8
|
| - mfspr 12,256
|
| - li 11,0
|
| - mtspr 256,0
|
| -
|
| - andi. 0,5,15
|
| - neg 0,0
|
| - andi. 0,0,16
|
| - sub 5,5,0
|
| -
|
| - vspltisb 9,0x07
|
| - lvsl 6,11,11
|
| - vspltisb 11,0x0f
|
| - vxor 6,6,9
|
| -
|
| - li 3,15
|
| - lvx 8,0,8
|
| - lvsl 5,0,8
|
| - lvx 4,3,8
|
| - vxor 5,5,11
|
| - vperm 8,8,4,5
|
| -
|
| - neg 11,10
|
| - lvsr 5,0,11
|
| - lvx 2,0,10
|
| - addi 10,10,15
|
| - vxor 5,5,11
|
| -
|
| - cmpldi 7,0
|
| - beq Lxts_dec_no_key2
|
| -
|
| - lvsr 7,0,7
|
| - lwz 9,240(7)
|
| - srwi 9,9,1
|
| - subi 9,9,1
|
| - li 3,16
|
| -
|
| - lvx 0,0,7
|
| - lvx 1,3,7
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - vxor 8,8,0
|
| - lvx 0,3,7
|
| - addi 3,3,16
|
| - mtctr 9
|
| -
|
| -Ltweak_xts_dec:
|
| - vperm 1,0,1,7
|
| - .long 0x11080D08
|
| - lvx 1,3,7
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - .long 0x11080508
|
| - lvx 0,3,7
|
| - addi 3,3,16
|
| - bc 16,0,Ltweak_xts_dec
|
| -
|
| - vperm 1,0,1,7
|
| - .long 0x11080D08
|
| - lvx 1,3,7
|
| - vperm 0,1,0,7
|
| - .long 0x11080509
|
| -
|
| - li 8,0
|
| - b Lxts_dec
|
| -
|
| -Lxts_dec_no_key2:
|
| - neg 3,5
|
| - andi. 3,3,15
|
| - add 5,5,3
|
| -
|
| -
|
| -Lxts_dec:
|
| - lvx 4,0,10
|
| - addi 10,10,16
|
| -
|
| - lvsr 7,0,6
|
| - lwz 9,240(6)
|
| - srwi 9,9,1
|
| - subi 9,9,1
|
| - li 3,16
|
| -
|
| - vslb 10,9,9
|
| - vor 10,10,9
|
| - vspltisb 11,1
|
| - vsldoi 10,10,11,15
|
| -
|
| - cmpldi 5,96
|
| - bge _aesp8_xts_decrypt6x
|
| -
|
| - lvx 0,0,6
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 2,2,4,5
|
| - vperm 0,1,0,7
|
| - vxor 2,2,8
|
| - vxor 2,2,0
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| - mtctr 9
|
| -
|
| - cmpldi 5,16
|
| - blt Ltail_xts_dec
|
| -
|
| -
|
| -.align 5
|
| -Loop_xts_dec:
|
| - vperm 1,0,1,7
|
| - .long 0x10420D48
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - .long 0x10420548
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| - bc 16,0,Loop_xts_dec
|
| -
|
| - vperm 1,0,1,7
|
| - .long 0x10420D48
|
| - lvx 1,3,6
|
| - li 3,16
|
| - vperm 0,1,0,7
|
| - vxor 0,0,8
|
| - .long 0x10620549
|
| -
|
| - vperm 11,3,3,6
|
| -
|
| - .long 0x7D602799
|
| -
|
| - addi 4,4,16
|
| -
|
| - subic. 5,5,16
|
| - beq Lxts_dec_done
|
| -
|
| - vor 2,4,4
|
| - lvx 4,0,10
|
| - addi 10,10,16
|
| - lvx 0,0,6
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| -
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 8,8,11
|
| -
|
| - vperm 2,2,4,5
|
| - vperm 0,1,0,7
|
| - vxor 2,2,8
|
| - vxor 2,2,0
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| -
|
| - mtctr 9
|
| - cmpldi 5,16
|
| - bge Loop_xts_dec
|
| -
|
| -Ltail_xts_dec:
|
| - vsrab 11,8,9
|
| - vaddubm 12,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 12,12,11
|
| -
|
| - subi 10,10,16
|
| - add 10,10,5
|
| -
|
| - vxor 2,2,8
|
| - vxor 2,2,12
|
| -
|
| -Loop_xts_dec_short:
|
| - vperm 1,0,1,7
|
| - .long 0x10420D48
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 0,1,0,7
|
| - .long 0x10420548
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| - bc 16,0,Loop_xts_dec_short
|
| -
|
| - vperm 1,0,1,7
|
| - .long 0x10420D48
|
| - lvx 1,3,6
|
| - li 3,16
|
| - vperm 0,1,0,7
|
| - vxor 0,0,12
|
| - .long 0x10620549
|
| -
|
| - vperm 11,3,3,6
|
| -
|
| - .long 0x7D602799
|
| -
|
| -
|
| - vor 2,4,4
|
| - lvx 4,0,10
|
| -
|
| - lvx 0,0,6
|
| - lvx 1,3,6
|
| - addi 3,3,16
|
| - vperm 2,2,4,5
|
| - vperm 0,1,0,7
|
| -
|
| - lvsr 5,0,5
|
| - vxor 4,4,4
|
| - vspltisb 11,-1
|
| - vperm 4,4,11,5
|
| - vsel 2,2,3,4
|
| -
|
| - vxor 0,0,8
|
| - vxor 2,2,0
|
| - lvx 0,3,6
|
| - addi 3,3,16
|
| -
|
| - subi 11,4,1
|
| - mtctr 5
|
| - li 5,16
|
| -Loop_xts_dec_steal:
|
| - lbzu 0,1(11)
|
| - stb 0,16(11)
|
| - bc 16,0,Loop_xts_dec_steal
|
| -
|
| - mtctr 9
|
| - b Loop_xts_dec
|
| -
|
| -Lxts_dec_done:
|
| - cmpldi 8,0
|
| - beq Lxts_dec_ret
|
| -
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 8,8,11
|
| -
|
| - vperm 8,8,8,6
|
| - .long 0x7D004799
|
| -
|
| -Lxts_dec_ret:
|
| - mtspr 256,12
|
| - li 3,0
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,0,0x80,6,6,0
|
| -.long 0
|
| -
|
| -.align 5
|
| -_aesp8_xts_encrypt6x:
|
| - stdu 1,-448(1)
|
| - mflr 11
|
| - li 7,207
|
| - li 3,223
|
| - std 11,464(1)
|
| - stvx 20,7,1
|
| - addi 7,7,32
|
| - stvx 21,3,1
|
| - addi 3,3,32
|
| - stvx 22,7,1
|
| - addi 7,7,32
|
| - stvx 23,3,1
|
| - addi 3,3,32
|
| - stvx 24,7,1
|
| - addi 7,7,32
|
| - stvx 25,3,1
|
| - addi 3,3,32
|
| - stvx 26,7,1
|
| - addi 7,7,32
|
| - stvx 27,3,1
|
| - addi 3,3,32
|
| - stvx 28,7,1
|
| - addi 7,7,32
|
| - stvx 29,3,1
|
| - addi 3,3,32
|
| - stvx 30,7,1
|
| - stvx 31,3,1
|
| - li 0,-1
|
| - stw 12,396(1)
|
| - li 3,0x10
|
| - std 26,400(1)
|
| - li 26,0x20
|
| - std 27,408(1)
|
| - li 27,0x30
|
| - std 28,416(1)
|
| - li 28,0x40
|
| - std 29,424(1)
|
| - li 29,0x50
|
| - std 30,432(1)
|
| - li 30,0x60
|
| - std 31,440(1)
|
| - li 31,0x70
|
| - mtspr 256,0
|
| -
|
| - subi 9,9,3
|
| -
|
| - lvx 23,0,6
|
| - lvx 30,3,6
|
| - addi 6,6,0x20
|
| - lvx 31,0,6
|
| - vperm 23,30,23,7
|
| - addi 7,1,64+15
|
| - mtctr 9
|
| -
|
| -Load_xts_enc_key:
|
| - vperm 24,31,30,7
|
| - lvx 30,3,6
|
| - addi 6,6,0x20
|
| - stvx 24,0,7
|
| - vperm 25,30,31,7
|
| - lvx 31,0,6
|
| - stvx 25,3,7
|
| - addi 7,7,0x20
|
| - bc 16,0,Load_xts_enc_key
|
| -
|
| - lvx 26,3,6
|
| - vperm 24,31,30,7
|
| - lvx 27,26,6
|
| - stvx 24,0,7
|
| - vperm 25,26,31,7
|
| - lvx 28,27,6
|
| - stvx 25,3,7
|
| - addi 7,1,64+15
|
| - vperm 26,27,26,7
|
| - lvx 29,28,6
|
| - vperm 27,28,27,7
|
| - lvx 30,29,6
|
| - vperm 28,29,28,7
|
| - lvx 31,30,6
|
| - vperm 29,30,29,7
|
| - lvx 22,31,6
|
| - vperm 30,31,30,7
|
| - lvx 24,0,7
|
| - vperm 31,22,31,7
|
| - lvx 25,3,7
|
| -
|
| - vperm 0,2,4,5
|
| - subi 10,10,31
|
| - vxor 17,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 7,0,17
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C235699
|
| - vxor 18,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 1,1,1,6
|
| - vand 11,11,10
|
| - vxor 12,1,18
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C5A5699
|
| - andi. 31,5,15
|
| - vxor 19,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 2,2,2,6
|
| - vand 11,11,10
|
| - vxor 13,2,19
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C7B5699
|
| - sub 5,5,31
|
| - vxor 20,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 3,3,3,6
|
| - vand 11,11,10
|
| - vxor 14,3,20
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C9C5699
|
| - subi 5,5,0x60
|
| - vxor 21,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 4,4,4,6
|
| - vand 11,11,10
|
| - vxor 15,4,21
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7CBD5699
|
| - addi 10,10,0x60
|
| - vxor 22,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 5,5,5,6
|
| - vand 11,11,10
|
| - vxor 16,5,22
|
| - vxor 8,8,11
|
| -
|
| - vxor 31,31,23
|
| - mtctr 9
|
| - b Loop_xts_enc6x
|
| -
|
| -.align 5
|
| -Loop_xts_enc6x:
|
| - .long 0x10E7C508
|
| - .long 0x118CC508
|
| - .long 0x11ADC508
|
| - .long 0x11CEC508
|
| - .long 0x11EFC508
|
| - .long 0x1210C508
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD08
|
| - .long 0x118CCD08
|
| - .long 0x11ADCD08
|
| - .long 0x11CECD08
|
| - .long 0x11EFCD08
|
| - .long 0x1210CD08
|
| - lvx 25,3,7
|
| - bc 16,0,Loop_xts_enc6x
|
| -
|
| - subic 5,5,96
|
| - vxor 0,17,31
|
| - .long 0x10E7C508
|
| - .long 0x118CC508
|
| - vsrab 11,8,9
|
| - vxor 17,8,23
|
| - vaddubm 8,8,8
|
| - .long 0x11ADC508
|
| - .long 0x11CEC508
|
| - vsldoi 11,11,11,15
|
| - .long 0x11EFC508
|
| - .long 0x1210C508
|
| -
|
| - subfe. 0,0,0
|
| - vand 11,11,10
|
| - .long 0x10E7CD08
|
| - .long 0x118CCD08
|
| - vxor 8,8,11
|
| - .long 0x11ADCD08
|
| - .long 0x11CECD08
|
| - vxor 1,18,31
|
| - vsrab 11,8,9
|
| - vxor 18,8,23
|
| - .long 0x11EFCD08
|
| - .long 0x1210CD08
|
| -
|
| - and 0,0,5
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x10E7D508
|
| - .long 0x118CD508
|
| - vand 11,11,10
|
| - .long 0x11ADD508
|
| - .long 0x11CED508
|
| - vxor 8,8,11
|
| - .long 0x11EFD508
|
| - .long 0x1210D508
|
| -
|
| - add 10,10,0
|
| -
|
| -
|
| -
|
| - vxor 2,19,31
|
| - vsrab 11,8,9
|
| - vxor 19,8,23
|
| - vaddubm 8,8,8
|
| - .long 0x10E7DD08
|
| - .long 0x118CDD08
|
| - vsldoi 11,11,11,15
|
| - .long 0x11ADDD08
|
| - .long 0x11CEDD08
|
| - vand 11,11,10
|
| - .long 0x11EFDD08
|
| - .long 0x1210DD08
|
| -
|
| - addi 7,1,64+15
|
| - vxor 8,8,11
|
| - .long 0x10E7E508
|
| - .long 0x118CE508
|
| - vxor 3,20,31
|
| - vsrab 11,8,9
|
| - vxor 20,8,23
|
| - .long 0x11ADE508
|
| - .long 0x11CEE508
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x11EFE508
|
| - .long 0x1210E508
|
| - lvx 24,0,7
|
| - vand 11,11,10
|
| -
|
| - .long 0x10E7ED08
|
| - .long 0x118CED08
|
| - vxor 8,8,11
|
| - .long 0x11ADED08
|
| - .long 0x11CEED08
|
| - vxor 4,21,31
|
| - vsrab 11,8,9
|
| - vxor 21,8,23
|
| - .long 0x11EFED08
|
| - .long 0x1210ED08
|
| - lvx 25,3,7
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| -
|
| - .long 0x10E7F508
|
| - .long 0x118CF508
|
| - vand 11,11,10
|
| - .long 0x11ADF508
|
| - .long 0x11CEF508
|
| - vxor 8,8,11
|
| - .long 0x11EFF508
|
| - .long 0x1210F508
|
| - vxor 5,22,31
|
| - vsrab 11,8,9
|
| - vxor 22,8,23
|
| -
|
| - .long 0x10E70509
|
| - .long 0x7C005699
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x118C0D09
|
| - .long 0x7C235699
|
| - .long 0x11AD1509
|
| - vperm 0,0,0,6
|
| - .long 0x7C5A5699
|
| - vand 11,11,10
|
| - .long 0x11CE1D09
|
| - vperm 1,1,1,6
|
| - .long 0x7C7B5699
|
| - .long 0x11EF2509
|
| - vperm 2,2,2,6
|
| - .long 0x7C9C5699
|
| - vxor 8,8,11
|
| - .long 0x11702D09
|
| -
|
| - vperm 3,3,3,6
|
| - .long 0x7CBD5699
|
| - addi 10,10,0x60
|
| - vperm 4,4,4,6
|
| - vperm 5,5,5,6
|
| -
|
| - vperm 7,7,7,6
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,17
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vxor 12,1,18
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - vxor 13,2,19
|
| - vperm 15,15,15,6
|
| - .long 0x7DDB2799
|
| - vxor 14,3,20
|
| - vperm 16,11,11,6
|
| - .long 0x7DFC2799
|
| - vxor 15,4,21
|
| - .long 0x7E1D2799
|
| -
|
| - vxor 16,5,22
|
| - addi 4,4,0x60
|
| -
|
| - mtctr 9
|
| - beq Loop_xts_enc6x
|
| -
|
| - addic. 5,5,0x60
|
| - beq Lxts_enc6x_zero
|
| - cmpwi 5,0x20
|
| - blt Lxts_enc6x_one
|
| - nop
|
| - beq Lxts_enc6x_two
|
| - cmpwi 5,0x40
|
| - blt Lxts_enc6x_three
|
| - nop
|
| - beq Lxts_enc6x_four
|
| -
|
| -Lxts_enc6x_five:
|
| - vxor 7,1,17
|
| - vxor 12,2,18
|
| - vxor 13,3,19
|
| - vxor 14,4,20
|
| - vxor 15,5,21
|
| -
|
| - bl _aesp8_xts_enc5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,22,22
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - vxor 11,15,22
|
| - vperm 15,15,15,6
|
| - .long 0x7DDB2799
|
| - .long 0x7DFC2799
|
| - addi 4,4,0x50
|
| - bne Lxts_enc6x_steal
|
| - b Lxts_enc6x_done
|
| -
|
| -.align 4
|
| -Lxts_enc6x_four:
|
| - vxor 7,2,17
|
| - vxor 12,3,18
|
| - vxor 13,4,19
|
| - vxor 14,5,20
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_enc5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,21,21
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vxor 11,14,21
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - .long 0x7DDB2799
|
| - addi 4,4,0x40
|
| - bne Lxts_enc6x_steal
|
| - b Lxts_enc6x_done
|
| -
|
| -.align 4
|
| -Lxts_enc6x_three:
|
| - vxor 7,3,17
|
| - vxor 12,4,18
|
| - vxor 13,5,19
|
| - vxor 14,14,14
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_enc5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,20,20
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 11,13,20
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - .long 0x7DBA2799
|
| - addi 4,4,0x30
|
| - bne Lxts_enc6x_steal
|
| - b Lxts_enc6x_done
|
| -
|
| -.align 4
|
| -Lxts_enc6x_two:
|
| - vxor 7,4,17
|
| - vxor 12,5,18
|
| - vxor 13,13,13
|
| - vxor 14,14,14
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_enc5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,19,19
|
| - vxor 11,12,19
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - .long 0x7D832799
|
| - addi 4,4,0x20
|
| - bne Lxts_enc6x_steal
|
| - b Lxts_enc6x_done
|
| -
|
| -.align 4
|
| -Lxts_enc6x_one:
|
| - vxor 7,5,17
|
| - nop
|
| -Loop_xts_enc1x:
|
| - .long 0x10E7C508
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD08
|
| - lvx 25,3,7
|
| - bc 16,0,Loop_xts_enc1x
|
| -
|
| - add 10,10,31
|
| - cmpwi 31,0
|
| - .long 0x10E7C508
|
| -
|
| - subi 10,10,16
|
| - .long 0x10E7CD08
|
| -
|
| - lvsr 5,0,31
|
| - .long 0x10E7D508
|
| -
|
| - .long 0x7C005699
|
| - .long 0x10E7DD08
|
| -
|
| - addi 7,1,64+15
|
| - .long 0x10E7E508
|
| - lvx 24,0,7
|
| -
|
| - .long 0x10E7ED08
|
| - lvx 25,3,7
|
| - vxor 17,17,31
|
| -
|
| - vperm 0,0,0,6
|
| - .long 0x10E7F508
|
| -
|
| - vperm 0,0,0,5
|
| - .long 0x10E78D09
|
| -
|
| - vor 17,18,18
|
| - vxor 11,7,18
|
| - vperm 7,7,7,6
|
| - .long 0x7CE02799
|
| - addi 4,4,0x10
|
| - bne Lxts_enc6x_steal
|
| - b Lxts_enc6x_done
|
| -
|
| -.align 4
|
| -Lxts_enc6x_zero:
|
| - cmpwi 31,0
|
| - beq Lxts_enc6x_done
|
| -
|
| - add 10,10,31
|
| - subi 10,10,16
|
| - .long 0x7C005699
|
| - lvsr 5,0,31
|
| - vperm 0,0,0,6
|
| - vperm 0,0,0,5
|
| - vxor 11,11,17
|
| -Lxts_enc6x_steal:
|
| - vxor 0,0,17
|
| - vxor 7,7,7
|
| - vspltisb 12,-1
|
| - vperm 7,7,12,5
|
| - vsel 7,0,11,7
|
| -
|
| - subi 30,4,17
|
| - subi 4,4,16
|
| - mtctr 31
|
| -Loop_xts_enc6x_steal:
|
| - lbzu 0,1(30)
|
| - stb 0,16(30)
|
| - bc 16,0,Loop_xts_enc6x_steal
|
| -
|
| - li 31,0
|
| - mtctr 9
|
| - b Loop_xts_enc1x
|
| -
|
| -.align 4
|
| -Lxts_enc6x_done:
|
| - cmpldi 8,0
|
| - beq Lxts_enc6x_ret
|
| -
|
| - vxor 8,17,23
|
| - vperm 8,8,8,6
|
| - .long 0x7D004799
|
| -
|
| -Lxts_enc6x_ret:
|
| - mtlr 11
|
| - li 10,79
|
| - li 11,95
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| -
|
| - mtspr 256,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
|
| - ld 26,400(1)
|
| - ld 27,408(1)
|
| - ld 28,416(1)
|
| - ld 29,424(1)
|
| - ld 30,432(1)
|
| - ld 31,440(1)
|
| - addi 1,1,448
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,1,0x80,6,6,0
|
| -.long 0
|
| -
|
| -.align 5
|
| -_aesp8_xts_enc5x:
|
| - .long 0x10E7C508
|
| - .long 0x118CC508
|
| - .long 0x11ADC508
|
| - .long 0x11CEC508
|
| - .long 0x11EFC508
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD08
|
| - .long 0x118CCD08
|
| - .long 0x11ADCD08
|
| - .long 0x11CECD08
|
| - .long 0x11EFCD08
|
| - lvx 25,3,7
|
| - bc 16,0,_aesp8_xts_enc5x
|
| -
|
| - add 10,10,31
|
| - cmpwi 31,0
|
| - .long 0x10E7C508
|
| - .long 0x118CC508
|
| - .long 0x11ADC508
|
| - .long 0x11CEC508
|
| - .long 0x11EFC508
|
| -
|
| - subi 10,10,16
|
| - .long 0x10E7CD08
|
| - .long 0x118CCD08
|
| - .long 0x11ADCD08
|
| - .long 0x11CECD08
|
| - .long 0x11EFCD08
|
| - vxor 17,17,31
|
| -
|
| - .long 0x10E7D508
|
| - lvsr 5,0,31
|
| - .long 0x118CD508
|
| - .long 0x11ADD508
|
| - .long 0x11CED508
|
| - .long 0x11EFD508
|
| - vxor 1,18,31
|
| -
|
| - .long 0x10E7DD08
|
| - .long 0x7C005699
|
| - .long 0x118CDD08
|
| - .long 0x11ADDD08
|
| - .long 0x11CEDD08
|
| - .long 0x11EFDD08
|
| - vxor 2,19,31
|
| -
|
| - addi 7,1,64+15
|
| - .long 0x10E7E508
|
| - .long 0x118CE508
|
| - .long 0x11ADE508
|
| - .long 0x11CEE508
|
| - .long 0x11EFE508
|
| - lvx 24,0,7
|
| - vxor 3,20,31
|
| -
|
| - .long 0x10E7ED08
|
| - vperm 0,0,0,6
|
| - .long 0x118CED08
|
| - .long 0x11ADED08
|
| - .long 0x11CEED08
|
| - .long 0x11EFED08
|
| - lvx 25,3,7
|
| - vxor 4,21,31
|
| -
|
| - .long 0x10E7F508
|
| - vperm 0,0,0,5
|
| - .long 0x118CF508
|
| - .long 0x11ADF508
|
| - .long 0x11CEF508
|
| - .long 0x11EFF508
|
| -
|
| - .long 0x10E78D09
|
| - .long 0x118C0D09
|
| - .long 0x11AD1509
|
| - .long 0x11CE1D09
|
| - .long 0x11EF2509
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,0,0
|
| -
|
| -.align 5
|
| -_aesp8_xts_decrypt6x:
|
| - stdu 1,-448(1)
|
| - mflr 11
|
| - li 7,207
|
| - li 3,223
|
| - std 11,464(1)
|
| - stvx 20,7,1
|
| - addi 7,7,32
|
| - stvx 21,3,1
|
| - addi 3,3,32
|
| - stvx 22,7,1
|
| - addi 7,7,32
|
| - stvx 23,3,1
|
| - addi 3,3,32
|
| - stvx 24,7,1
|
| - addi 7,7,32
|
| - stvx 25,3,1
|
| - addi 3,3,32
|
| - stvx 26,7,1
|
| - addi 7,7,32
|
| - stvx 27,3,1
|
| - addi 3,3,32
|
| - stvx 28,7,1
|
| - addi 7,7,32
|
| - stvx 29,3,1
|
| - addi 3,3,32
|
| - stvx 30,7,1
|
| - stvx 31,3,1
|
| - li 0,-1
|
| - stw 12,396(1)
|
| - li 3,0x10
|
| - std 26,400(1)
|
| - li 26,0x20
|
| - std 27,408(1)
|
| - li 27,0x30
|
| - std 28,416(1)
|
| - li 28,0x40
|
| - std 29,424(1)
|
| - li 29,0x50
|
| - std 30,432(1)
|
| - li 30,0x60
|
| - std 31,440(1)
|
| - li 31,0x70
|
| - mtspr 256,0
|
| -
|
| - subi 9,9,3
|
| -
|
| - lvx 23,0,6
|
| - lvx 30,3,6
|
| - addi 6,6,0x20
|
| - lvx 31,0,6
|
| - vperm 23,30,23,7
|
| - addi 7,1,64+15
|
| - mtctr 9
|
| -
|
| -Load_xts_dec_key:
|
| - vperm 24,31,30,7
|
| - lvx 30,3,6
|
| - addi 6,6,0x20
|
| - stvx 24,0,7
|
| - vperm 25,30,31,7
|
| - lvx 31,0,6
|
| - stvx 25,3,7
|
| - addi 7,7,0x20
|
| - bc 16,0,Load_xts_dec_key
|
| -
|
| - lvx 26,3,6
|
| - vperm 24,31,30,7
|
| - lvx 27,26,6
|
| - stvx 24,0,7
|
| - vperm 25,26,31,7
|
| - lvx 28,27,6
|
| - stvx 25,3,7
|
| - addi 7,1,64+15
|
| - vperm 26,27,26,7
|
| - lvx 29,28,6
|
| - vperm 27,28,27,7
|
| - lvx 30,29,6
|
| - vperm 28,29,28,7
|
| - lvx 31,30,6
|
| - vperm 29,30,29,7
|
| - lvx 22,31,6
|
| - vperm 30,31,30,7
|
| - lvx 24,0,7
|
| - vperm 31,22,31,7
|
| - lvx 25,3,7
|
| -
|
| - vperm 0,2,4,5
|
| - subi 10,10,31
|
| - vxor 17,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vand 11,11,10
|
| - vxor 7,0,17
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C235699
|
| - vxor 18,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 1,1,1,6
|
| - vand 11,11,10
|
| - vxor 12,1,18
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C5A5699
|
| - andi. 31,5,15
|
| - vxor 19,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 2,2,2,6
|
| - vand 11,11,10
|
| - vxor 13,2,19
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C7B5699
|
| - sub 5,5,31
|
| - vxor 20,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 3,3,3,6
|
| - vand 11,11,10
|
| - vxor 14,3,20
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7C9C5699
|
| - subi 5,5,0x60
|
| - vxor 21,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 4,4,4,6
|
| - vand 11,11,10
|
| - vxor 15,4,21
|
| - vxor 8,8,11
|
| -
|
| - .long 0x7CBD5699
|
| - addi 10,10,0x60
|
| - vxor 22,8,23
|
| - vsrab 11,8,9
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - vperm 5,5,5,6
|
| - vand 11,11,10
|
| - vxor 16,5,22
|
| - vxor 8,8,11
|
| -
|
| - vxor 31,31,23
|
| - mtctr 9
|
| - b Loop_xts_dec6x
|
| -
|
| -.align 5
|
| -Loop_xts_dec6x:
|
| - .long 0x10E7C548
|
| - .long 0x118CC548
|
| - .long 0x11ADC548
|
| - .long 0x11CEC548
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD48
|
| - .long 0x118CCD48
|
| - .long 0x11ADCD48
|
| - .long 0x11CECD48
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| - lvx 25,3,7
|
| - bc 16,0,Loop_xts_dec6x
|
| -
|
| - subic 5,5,96
|
| - vxor 0,17,31
|
| - .long 0x10E7C548
|
| - .long 0x118CC548
|
| - vsrab 11,8,9
|
| - vxor 17,8,23
|
| - vaddubm 8,8,8
|
| - .long 0x11ADC548
|
| - .long 0x11CEC548
|
| - vsldoi 11,11,11,15
|
| - .long 0x11EFC548
|
| - .long 0x1210C548
|
| -
|
| - subfe. 0,0,0
|
| - vand 11,11,10
|
| - .long 0x10E7CD48
|
| - .long 0x118CCD48
|
| - vxor 8,8,11
|
| - .long 0x11ADCD48
|
| - .long 0x11CECD48
|
| - vxor 1,18,31
|
| - vsrab 11,8,9
|
| - vxor 18,8,23
|
| - .long 0x11EFCD48
|
| - .long 0x1210CD48
|
| -
|
| - and 0,0,5
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x10E7D548
|
| - .long 0x118CD548
|
| - vand 11,11,10
|
| - .long 0x11ADD548
|
| - .long 0x11CED548
|
| - vxor 8,8,11
|
| - .long 0x11EFD548
|
| - .long 0x1210D548
|
| -
|
| - add 10,10,0
|
| -
|
| -
|
| -
|
| - vxor 2,19,31
|
| - vsrab 11,8,9
|
| - vxor 19,8,23
|
| - vaddubm 8,8,8
|
| - .long 0x10E7DD48
|
| - .long 0x118CDD48
|
| - vsldoi 11,11,11,15
|
| - .long 0x11ADDD48
|
| - .long 0x11CEDD48
|
| - vand 11,11,10
|
| - .long 0x11EFDD48
|
| - .long 0x1210DD48
|
| -
|
| - addi 7,1,64+15
|
| - vxor 8,8,11
|
| - .long 0x10E7E548
|
| - .long 0x118CE548
|
| - vxor 3,20,31
|
| - vsrab 11,8,9
|
| - vxor 20,8,23
|
| - .long 0x11ADE548
|
| - .long 0x11CEE548
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x11EFE548
|
| - .long 0x1210E548
|
| - lvx 24,0,7
|
| - vand 11,11,10
|
| -
|
| - .long 0x10E7ED48
|
| - .long 0x118CED48
|
| - vxor 8,8,11
|
| - .long 0x11ADED48
|
| - .long 0x11CEED48
|
| - vxor 4,21,31
|
| - vsrab 11,8,9
|
| - vxor 21,8,23
|
| - .long 0x11EFED48
|
| - .long 0x1210ED48
|
| - lvx 25,3,7
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| -
|
| - .long 0x10E7F548
|
| - .long 0x118CF548
|
| - vand 11,11,10
|
| - .long 0x11ADF548
|
| - .long 0x11CEF548
|
| - vxor 8,8,11
|
| - .long 0x11EFF548
|
| - .long 0x1210F548
|
| - vxor 5,22,31
|
| - vsrab 11,8,9
|
| - vxor 22,8,23
|
| -
|
| - .long 0x10E70549
|
| - .long 0x7C005699
|
| - vaddubm 8,8,8
|
| - vsldoi 11,11,11,15
|
| - .long 0x118C0D49
|
| - .long 0x7C235699
|
| - .long 0x11AD1549
|
| - vperm 0,0,0,6
|
| - .long 0x7C5A5699
|
| - vand 11,11,10
|
| - .long 0x11CE1D49
|
| - vperm 1,1,1,6
|
| - .long 0x7C7B5699
|
| - .long 0x11EF2549
|
| - vperm 2,2,2,6
|
| - .long 0x7C9C5699
|
| - vxor 8,8,11
|
| - .long 0x12102D49
|
| - vperm 3,3,3,6
|
| - .long 0x7CBD5699
|
| - addi 10,10,0x60
|
| - vperm 4,4,4,6
|
| - vperm 5,5,5,6
|
| -
|
| - vperm 7,7,7,6
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,17
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vxor 12,1,18
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - vxor 13,2,19
|
| - vperm 15,15,15,6
|
| - .long 0x7DDB2799
|
| - vxor 14,3,20
|
| - vperm 16,16,16,6
|
| - .long 0x7DFC2799
|
| - vxor 15,4,21
|
| - .long 0x7E1D2799
|
| - vxor 16,5,22
|
| - addi 4,4,0x60
|
| -
|
| - mtctr 9
|
| - beq Loop_xts_dec6x
|
| -
|
| - addic. 5,5,0x60
|
| - beq Lxts_dec6x_zero
|
| - cmpwi 5,0x20
|
| - blt Lxts_dec6x_one
|
| - nop
|
| - beq Lxts_dec6x_two
|
| - cmpwi 5,0x40
|
| - blt Lxts_dec6x_three
|
| - nop
|
| - beq Lxts_dec6x_four
|
| -
|
| -Lxts_dec6x_five:
|
| - vxor 7,1,17
|
| - vxor 12,2,18
|
| - vxor 13,3,19
|
| - vxor 14,4,20
|
| - vxor 15,5,21
|
| -
|
| - bl _aesp8_xts_dec5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,22,22
|
| - vxor 18,8,23
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,18
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - vperm 15,15,15,6
|
| - .long 0x7DDB2799
|
| - .long 0x7DFC2799
|
| - addi 4,4,0x50
|
| - bne Lxts_dec6x_steal
|
| - b Lxts_dec6x_done
|
| -
|
| -.align 4
|
| -Lxts_dec6x_four:
|
| - vxor 7,2,17
|
| - vxor 12,3,18
|
| - vxor 13,4,19
|
| - vxor 14,5,20
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_dec5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,21,21
|
| - vor 18,22,22
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,22
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - vperm 14,14,14,6
|
| - .long 0x7DBA2799
|
| - .long 0x7DDB2799
|
| - addi 4,4,0x40
|
| - bne Lxts_dec6x_steal
|
| - b Lxts_dec6x_done
|
| -
|
| -.align 4
|
| -Lxts_dec6x_three:
|
| - vxor 7,3,17
|
| - vxor 12,4,18
|
| - vxor 13,5,19
|
| - vxor 14,14,14
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_dec5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,20,20
|
| - vor 18,21,21
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,21
|
| - vperm 13,13,13,6
|
| - .long 0x7D832799
|
| - .long 0x7DBA2799
|
| - addi 4,4,0x30
|
| - bne Lxts_dec6x_steal
|
| - b Lxts_dec6x_done
|
| -
|
| -.align 4
|
| -Lxts_dec6x_two:
|
| - vxor 7,4,17
|
| - vxor 12,5,18
|
| - vxor 13,13,13
|
| - vxor 14,14,14
|
| - vxor 15,15,15
|
| -
|
| - bl _aesp8_xts_dec5x
|
| -
|
| - vperm 7,7,7,6
|
| - vor 17,19,19
|
| - vor 18,20,20
|
| - vperm 12,12,12,6
|
| - .long 0x7CE02799
|
| - vxor 7,0,20
|
| - .long 0x7D832799
|
| - addi 4,4,0x20
|
| - bne Lxts_dec6x_steal
|
| - b Lxts_dec6x_done
|
| -
|
| -.align 4
|
| -Lxts_dec6x_one:
|
| - vxor 7,5,17
|
| - nop
|
| -Loop_xts_dec1x:
|
| - .long 0x10E7C548
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD48
|
| - lvx 25,3,7
|
| - bc 16,0,Loop_xts_dec1x
|
| -
|
| - subi 0,31,1
|
| - .long 0x10E7C548
|
| -
|
| - andi. 0,0,16
|
| - cmpwi 31,0
|
| - .long 0x10E7CD48
|
| -
|
| - sub 10,10,0
|
| - .long 0x10E7D548
|
| -
|
| - .long 0x7C005699
|
| - .long 0x10E7DD48
|
| -
|
| - addi 7,1,64+15
|
| - .long 0x10E7E548
|
| - lvx 24,0,7
|
| -
|
| - .long 0x10E7ED48
|
| - lvx 25,3,7
|
| - vxor 17,17,31
|
| -
|
| - vperm 0,0,0,6
|
| - .long 0x10E7F548
|
| -
|
| - mtctr 9
|
| - .long 0x10E78D49
|
| -
|
| - vor 17,18,18
|
| - vor 18,19,19
|
| - vperm 7,7,7,6
|
| - .long 0x7CE02799
|
| - addi 4,4,0x10
|
| - vxor 7,0,19
|
| - bne Lxts_dec6x_steal
|
| - b Lxts_dec6x_done
|
| -
|
| -.align 4
|
| -Lxts_dec6x_zero:
|
| - cmpwi 31,0
|
| - beq Lxts_dec6x_done
|
| -
|
| - .long 0x7C005699
|
| - vperm 0,0,0,6
|
| - vxor 7,0,18
|
| -Lxts_dec6x_steal:
|
| - .long 0x10E7C548
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD48
|
| - lvx 25,3,7
|
| - bc 16,0,Lxts_dec6x_steal
|
| -
|
| - add 10,10,31
|
| - .long 0x10E7C548
|
| -
|
| - cmpwi 31,0
|
| - .long 0x10E7CD48
|
| -
|
| - .long 0x7C005699
|
| - .long 0x10E7D548
|
| -
|
| - lvsr 5,0,31
|
| - .long 0x10E7DD48
|
| -
|
| - addi 7,1,64+15
|
| - .long 0x10E7E548
|
| - lvx 24,0,7
|
| -
|
| - .long 0x10E7ED48
|
| - lvx 25,3,7
|
| - vxor 18,18,31
|
| -
|
| - vperm 0,0,0,6
|
| - .long 0x10E7F548
|
| -
|
| - vperm 0,0,0,5
|
| - .long 0x11679549
|
| -
|
| - vperm 7,11,11,6
|
| - .long 0x7CE02799
|
| -
|
| -
|
| - vxor 7,7,7
|
| - vspltisb 12,-1
|
| - vperm 7,7,12,5
|
| - vsel 7,0,11,7
|
| - vxor 7,7,17
|
| -
|
| - subi 30,4,1
|
| - mtctr 31
|
| -Loop_xts_dec6x_steal:
|
| - lbzu 0,1(30)
|
| - stb 0,16(30)
|
| - bc 16,0,Loop_xts_dec6x_steal
|
| -
|
| - li 31,0
|
| - mtctr 9
|
| - b Loop_xts_dec1x
|
| -
|
| -.align 4
|
| -Lxts_dec6x_done:
|
| - cmpldi 8,0
|
| - beq Lxts_dec6x_ret
|
| -
|
| - vxor 8,17,23
|
| - vperm 8,8,8,6
|
| - .long 0x7D004799
|
| -
|
| -Lxts_dec6x_ret:
|
| - mtlr 11
|
| - li 10,79
|
| - li 11,95
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| - stvx 9,10,1
|
| - addi 10,10,32
|
| - stvx 9,11,1
|
| - addi 11,11,32
|
| -
|
| - mtspr 256,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
|
| - ld 26,400(1)
|
| - ld 27,408(1)
|
| - ld 28,416(1)
|
| - ld 29,424(1)
|
| - ld 30,432(1)
|
| - ld 31,440(1)
|
| - addi 1,1,448
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x04,1,0x80,6,6,0
|
| -.long 0
|
| -
|
| -.align 5
|
| -_aesp8_xts_dec5x:
|
| - .long 0x10E7C548
|
| - .long 0x118CC548
|
| - .long 0x11ADC548
|
| - .long 0x11CEC548
|
| - .long 0x11EFC548
|
| - lvx 24,26,7
|
| - addi 7,7,0x20
|
| -
|
| - .long 0x10E7CD48
|
| - .long 0x118CCD48
|
| - .long 0x11ADCD48
|
| - .long 0x11CECD48
|
| - .long 0x11EFCD48
|
| - lvx 25,3,7
|
| - bc 16,0,_aesp8_xts_dec5x
|
| -
|
| - subi 0,31,1
|
| - .long 0x10E7C548
|
| - .long 0x118CC548
|
| - .long 0x11ADC548
|
| - .long 0x11CEC548
|
| - .long 0x11EFC548
|
| -
|
| - andi. 0,0,16
|
| - cmpwi 31,0
|
| - .long 0x10E7CD48
|
| - .long 0x118CCD48
|
| - .long 0x11ADCD48
|
| - .long 0x11CECD48
|
| - .long 0x11EFCD48
|
| - vxor 17,17,31
|
| -
|
| - sub 10,10,0
|
| - .long 0x10E7D548
|
| - .long 0x118CD548
|
| - .long 0x11ADD548
|
| - .long 0x11CED548
|
| - .long 0x11EFD548
|
| - vxor 1,18,31
|
| -
|
| - .long 0x10E7DD48
|
| - .long 0x7C005699
|
| - .long 0x118CDD48
|
| - .long 0x11ADDD48
|
| - .long 0x11CEDD48
|
| - .long 0x11EFDD48
|
| - vxor 2,19,31
|
| -
|
| - addi 7,1,64+15
|
| - .long 0x10E7E548
|
| - .long 0x118CE548
|
| - .long 0x11ADE548
|
| - .long 0x11CEE548
|
| - .long 0x11EFE548
|
| - lvx 24,0,7
|
| - vxor 3,20,31
|
| -
|
| - .long 0x10E7ED48
|
| - vperm 0,0,0,6
|
| - .long 0x118CED48
|
| - .long 0x11ADED48
|
| - .long 0x11CEED48
|
| - .long 0x11EFED48
|
| - lvx 25,3,7
|
| - vxor 4,21,31
|
| -
|
| - .long 0x10E7F548
|
| - .long 0x118CF548
|
| - .long 0x11ADF548
|
| - .long 0x11CEF548
|
| - .long 0x11EFF548
|
| -
|
| - .long 0x10E78D49
|
| - .long 0x118C0D49
|
| - .long 0x11AD1549
|
| - .long 0x11CE1D49
|
| - .long 0x11EF2549
|
| - mtctr 9
|
| - blr
|
| -.long 0
|
| -.byte 0,12,0x14,0,0,0,0,0
|
|
|