aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s
diff options
context:
space:
mode:
authordanlark <danlark@yandex-team.ru>2022-02-10 16:46:10 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:10 +0300
commitbaa58daefa91fde4b4769facdbd2903763b9c6a8 (patch)
tree1a2c5ffcf89eb53ecd79dbc9bc0a195c27404d0c /contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s
parent3426a9bc7f169ae9da54cef557ad2a33f6e8eee0 (diff)
downloadydb-baa58daefa91fde4b4769facdbd2903763b9c6a8.tar.gz
Restoring authorship annotation for <danlark@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s')
-rw-r--r--contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s2698
1 files changed, 1349 insertions, 1349 deletions
diff --git a/contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s b/contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s
index 2cf12caf58..439da0fe81 100644
--- a/contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s
+++ b/contrib/libs/openssl/asm/ppc64le/crypto/aes/vpaes-ppc.s
@@ -1,1497 +1,1497 @@
-.machine "any"
-
-.text
-
-.align 7
-_vpaes_consts:
-.Lk_mc_forward:
+.machine "any"
+
+.text
+
+.align 7
+_vpaes_consts:
+.Lk_mc_forward:
.byte 0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c
.byte 0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00
.byte 0x09,0x0a,0x0b,0x08,0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04
.byte 0x0d,0x0e,0x0f,0x0c,0x01,0x02,0x03,0x00,0x05,0x06,0x07,0x04,0x09,0x0a,0x0b,0x08
-.Lk_mc_backward:
+.Lk_mc_backward:
.byte 0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e
.byte 0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a
.byte 0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02,0x07,0x04,0x05,0x06
.byte 0x07,0x04,0x05,0x06,0x0b,0x08,0x09,0x0a,0x0f,0x0c,0x0d,0x0e,0x03,0x00,0x01,0x02
-.Lk_sr:
+.Lk_sr:
.byte 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f
.byte 0x00,0x05,0x0a,0x0f,0x04,0x09,0x0e,0x03,0x08,0x0d,0x02,0x07,0x0c,0x01,0x06,0x0b
.byte 0x00,0x09,0x02,0x0b,0x04,0x0d,0x06,0x0f,0x08,0x01,0x0a,0x03,0x0c,0x05,0x0e,0x07
.byte 0x00,0x0d,0x0a,0x07,0x04,0x01,0x0e,0x0b,0x08,0x05,0x02,0x0f,0x0c,0x09,0x06,0x03
-
-
-
-
-.Lk_inv:
+
+
+
+
+.Lk_inv:
.byte 0xf0,0x01,0x08,0x0d,0x0f,0x06,0x05,0x0e,0x02,0x0c,0x0b,0x0a,0x09,0x03,0x07,0x04
.byte 0xf0,0x07,0x0b,0x0f,0x06,0x0a,0x04,0x01,0x09,0x08,0x05,0x02,0x0c,0x0e,0x0d,0x03
-.Lk_ipt:
+.Lk_ipt:
.byte 0x00,0x70,0x2a,0x5a,0x98,0xe8,0xb2,0xc2,0x08,0x78,0x22,0x52,0x90,0xe0,0xba,0xca
.byte 0x00,0x4d,0x7c,0x31,0x7d,0x30,0x01,0x4c,0x81,0xcc,0xfd,0xb0,0xfc,0xb1,0x80,0xcd
-.Lk_sbo:
+.Lk_sbo:
.byte 0x00,0xc7,0xbd,0x6f,0x17,0x6d,0xd2,0xd0,0x78,0xa8,0x02,0xc5,0x7a,0xbf,0xaa,0x15
.byte 0x00,0x6a,0xbb,0x5f,0xa5,0x74,0xe4,0xcf,0xfa,0x35,0x2b,0x41,0xd1,0x90,0x1e,0x8e
-.Lk_sb1:
+.Lk_sb1:
.byte 0x00,0x23,0xe2,0xfa,0x15,0xd4,0x18,0x36,0xef,0xd9,0x2e,0x0d,0xc1,0xcc,0xf7,0x3b
.byte 0x00,0x3e,0x50,0xcb,0x8f,0xe1,0x9b,0xb1,0x44,0xf5,0x2a,0x14,0x6e,0x7a,0xdf,0xa5
-.Lk_sb2:
+.Lk_sb2:
.byte 0x00,0x29,0xe1,0x0a,0x40,0x88,0xeb,0x69,0x4a,0x23,0x82,0xab,0xc8,0x63,0xa1,0xc2
.byte 0x00,0x24,0x71,0x0b,0xc6,0x93,0x7a,0xe2,0xcd,0x2f,0x98,0xbc,0x55,0xe9,0xb7,0x5e
-
-
-
-
-.Lk_dipt:
+
+
+
+
+.Lk_dipt:
.byte 0x00,0x5f,0x54,0x0b,0x04,0x5b,0x50,0x0f,0x1a,0x45,0x4e,0x11,0x1e,0x41,0x4a,0x15
.byte 0x00,0x65,0x05,0x60,0xe6,0x83,0xe3,0x86,0x94,0xf1,0x91,0xf4,0x72,0x17,0x77,0x12
-.Lk_dsbo:
+.Lk_dsbo:
.byte 0x00,0x40,0xf9,0x7e,0x53,0xea,0x87,0x13,0x2d,0x3e,0x94,0xd4,0xb9,0x6d,0xaa,0xc7
.byte 0x00,0x1d,0x44,0x93,0x0f,0x56,0xd7,0x12,0x9c,0x8e,0xc5,0xd8,0x59,0x81,0x4b,0xca
-.Lk_dsb9:
+.Lk_dsb9:
.byte 0x00,0xd6,0x86,0x9a,0x53,0x03,0x1c,0x85,0xc9,0x4c,0x99,0x4f,0x50,0x1f,0xd5,0xca
.byte 0x00,0x49,0xd7,0xec,0x89,0x17,0x3b,0xc0,0x65,0xa5,0xfb,0xb2,0x9e,0x2c,0x5e,0x72
-.Lk_dsbd:
+.Lk_dsbd:
.byte 0x00,0xa2,0xb1,0xe6,0xdf,0xcc,0x57,0x7d,0x39,0x44,0x2a,0x88,0x13,0x9b,0x6e,0xf5
.byte 0x00,0xcb,0xc6,0x24,0xf7,0xfa,0xe2,0x3c,0xd3,0xef,0xde,0x15,0x0d,0x18,0x31,0x29
-.Lk_dsbb:
+.Lk_dsbb:
.byte 0x00,0x42,0xb4,0x96,0x92,0x64,0x22,0xd0,0x04,0xd4,0xf2,0xb0,0xf6,0x46,0x26,0x60
.byte 0x00,0x67,0x59,0xcd,0xa6,0x98,0x94,0xc1,0x6b,0xaa,0x55,0x32,0x3e,0x0c,0xff,0xf3
-.Lk_dsbe:
+.Lk_dsbe:
.byte 0x00,0xd0,0xd4,0x26,0x96,0x92,0xf2,0x46,0xb0,0xf6,0xb4,0x64,0x04,0x60,0x42,0x22
.byte 0x00,0xc1,0xaa,0xff,0xcd,0xa6,0x55,0x0c,0x32,0x3e,0x59,0x98,0x6b,0xf3,0x67,0x94
-
-
-
-
-.Lk_dksd:
+
+
+
+
+.Lk_dksd:
.byte 0x00,0x47,0xe4,0xa3,0x5d,0x1a,0xb9,0xfe,0xf9,0xbe,0x1d,0x5a,0xa4,0xe3,0x40,0x07
.byte 0x00,0x83,0x36,0xb5,0xf4,0x77,0xc2,0x41,0x1e,0x9d,0x28,0xab,0xea,0x69,0xdc,0x5f
-.Lk_dksb:
+.Lk_dksb:
.byte 0x00,0xd5,0x50,0x85,0x1f,0xca,0x4f,0x9a,0x99,0x4c,0xc9,0x1c,0x86,0x53,0xd6,0x03
.byte 0x00,0x4a,0xfc,0xb6,0xa7,0xed,0x5b,0x11,0xc8,0x82,0x34,0x7e,0x6f,0x25,0x93,0xd9
-.Lk_dkse:
+.Lk_dkse:
.byte 0x00,0xd6,0xc9,0x1f,0xca,0x1c,0x03,0xd5,0x86,0x50,0x4f,0x99,0x4c,0x9a,0x85,0x53
.byte 0xe8,0x7b,0xdc,0x4f,0x05,0x96,0x31,0xa2,0x87,0x14,0xb3,0x20,0x6a,0xf9,0x5e,0xcd
-.Lk_dks9:
+.Lk_dks9:
.byte 0x00,0xa7,0xd9,0x7e,0xc8,0x6f,0x11,0xb6,0xfc,0x5b,0x25,0x82,0x34,0x93,0xed,0x4a
.byte 0x00,0x33,0x14,0x27,0x62,0x51,0x76,0x45,0xce,0xfd,0xda,0xe9,0xac,0x9f,0xb8,0x8b
-
-.Lk_rcon:
-.byte 0xb6,0xee,0x9d,0xaf,0xb9,0x91,0x83,0x1f,0x81,0x7d,0x7c,0x4d,0x08,0x98,0x2a,0x70
-.Lk_s63:
-.byte 0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b
-
-.Lk_opt:
+
+.Lk_rcon:
+.byte 0xb6,0xee,0x9d,0xaf,0xb9,0x91,0x83,0x1f,0x81,0x7d,0x7c,0x4d,0x08,0x98,0x2a,0x70
+.Lk_s63:
+.byte 0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b
+
+.Lk_opt:
.byte 0x00,0x60,0xb6,0xd6,0x29,0x49,0x9f,0xff,0x08,0x68,0xbe,0xde,0x21,0x41,0x97,0xf7
.byte 0x00,0xec,0xbc,0x50,0x51,0xbd,0xed,0x01,0xe0,0x0c,0x5c,0xb0,0xb1,0x5d,0x0d,0xe1
-.Lk_deskew:
+.Lk_deskew:
.byte 0x00,0xe3,0xa4,0x47,0x40,0xa3,0xe4,0x07,0x1a,0xf9,0xbe,0x5d,0x5a,0xb9,0xfe,0x1d
.byte 0x00,0x69,0xea,0x83,0xdc,0xb5,0x36,0x5f,0x77,0x1e,0x9d,0xf4,0xab,0xc2,0x41,0x28
-.align 5
-.Lconsts:
- mflr 0
- bcl 20,31,$+4
- mflr 12
- addi 12,12,-0x308
- mtlr 0
- 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,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
-
-
-
-
-
-
-.align 4
-_vpaes_encrypt_preheat:
- mflr 8
- bl .Lconsts
- mtlr 8
- li 11, 0xc0
- li 10, 0xd0
- li 9, 0xe0
- li 8, 0xf0
- vxor 7, 7, 7
- vspltisb 8,4
- vspltisb 9,0x0f
- lvx 10, 12, 11
- li 11, 0x100
- lvx 11, 12, 10
- li 10, 0x110
- lvx 12, 12, 9
- li 9, 0x120
- lvx 13, 12, 8
- li 8, 0x130
- lvx 14, 12, 11
- li 11, 0x140
- lvx 15, 12, 10
- li 10, 0x150
- lvx 16, 12, 9
- lvx 17, 12, 8
- lvx 18, 12, 11
- lvx 19, 12, 10
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.align 5
-_vpaes_encrypt_core:
- lwz 8, 240(5)
- li 9, 16
- lvx 5, 0, 5
- li 11, 0x10
- lvx 6, 9, 5
- addi 9, 9, 16
+.align 5
+.Lconsts:
+ mflr 0
+ bcl 20,31,$+4
+ mflr 12
+ addi 12,12,-0x308
+ mtlr 0
+ 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,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
+
+
+
+
+
+
+.align 4
+_vpaes_encrypt_preheat:
+ mflr 8
+ bl .Lconsts
+ mtlr 8
+ li 11, 0xc0
+ li 10, 0xd0
+ li 9, 0xe0
+ li 8, 0xf0
+ vxor 7, 7, 7
+ vspltisb 8,4
+ vspltisb 9,0x0f
+ lvx 10, 12, 11
+ li 11, 0x100
+ lvx 11, 12, 10
+ li 10, 0x110
+ lvx 12, 12, 9
+ li 9, 0x120
+ lvx 13, 12, 8
+ li 8, 0x130
+ lvx 14, 12, 11
+ li 11, 0x140
+ lvx 15, 12, 10
+ li 10, 0x150
+ lvx 16, 12, 9
+ lvx 17, 12, 8
+ lvx 18, 12, 11
+ lvx 19, 12, 10
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.align 5
+_vpaes_encrypt_core:
+ lwz 8, 240(5)
+ li 9, 16
+ lvx 5, 0, 5
+ li 11, 0x10
+ lvx 6, 9, 5
+ addi 9, 9, 16
vperm 5, 5, 6, 31
- addi 10, 11, 0x40
- vsrb 1, 0, 8
- vperm 0, 12, 12, 0
- vperm 1, 13, 13, 1
- vxor 0, 0, 5
- vxor 0, 0, 1
- mtctr 8
- b .Lenc_entry
-
-.align 4
-.Lenc_loop:
-
- vperm 4, 17, 7, 2
- lvx 1, 12, 11
- addi 11, 11, 16
- vperm 0, 16, 7, 3
- vxor 4, 4, 5
- andi. 11, 11, 0x30
- vperm 5, 19, 7, 2
- vxor 0, 0, 4
- vperm 2, 18, 7, 3
- lvx 4, 12, 10
- addi 10, 11, 0x40
- vperm 3, 0, 7, 1
- vxor 2, 2, 5
- vperm 0, 0, 7, 4
- vxor 3, 3, 2
- vperm 4, 3, 7, 1
- vxor 0, 0, 3
- vxor 0, 0, 4
-
-.Lenc_entry:
-
- vsrb 1, 0, 8
- vperm 5, 11, 11, 0
- vxor 0, 0, 1
- vperm 3, 10, 10, 1
- vperm 4, 10, 10, 0
- vand 0, 0, 9
- vxor 3, 3, 5
- vxor 4, 4, 5
- vperm 2, 10, 7, 3
- vor 5,6,6
- lvx 6, 9, 5
- vperm 3, 10, 7, 4
- addi 9, 9, 16
- vxor 2, 2, 0
+ addi 10, 11, 0x40
+ vsrb 1, 0, 8
+ vperm 0, 12, 12, 0
+ vperm 1, 13, 13, 1
+ vxor 0, 0, 5
+ vxor 0, 0, 1
+ mtctr 8
+ b .Lenc_entry
+
+.align 4
+.Lenc_loop:
+
+ vperm 4, 17, 7, 2
+ lvx 1, 12, 11
+ addi 11, 11, 16
+ vperm 0, 16, 7, 3
+ vxor 4, 4, 5
+ andi. 11, 11, 0x30
+ vperm 5, 19, 7, 2
+ vxor 0, 0, 4
+ vperm 2, 18, 7, 3
+ lvx 4, 12, 10
+ addi 10, 11, 0x40
+ vperm 3, 0, 7, 1
+ vxor 2, 2, 5
+ vperm 0, 0, 7, 4
+ vxor 3, 3, 2
+ vperm 4, 3, 7, 1
+ vxor 0, 0, 3
+ vxor 0, 0, 4
+
+.Lenc_entry:
+
+ vsrb 1, 0, 8
+ vperm 5, 11, 11, 0
+ vxor 0, 0, 1
+ vperm 3, 10, 10, 1
+ vperm 4, 10, 10, 0
+ vand 0, 0, 9
+ vxor 3, 3, 5
+ vxor 4, 4, 5
+ vperm 2, 10, 7, 3
+ vor 5,6,6
+ lvx 6, 9, 5
+ vperm 3, 10, 7, 4
+ addi 9, 9, 16
+ vxor 2, 2, 0
vperm 5, 5, 6, 31
- vxor 3, 3, 1
- bdnz .Lenc_loop
-
-
- addi 10, 11, 0x80
-
-
- vperm 4, 14, 7, 2
- lvx 1, 12, 10
- vperm 0, 15, 7, 3
- vxor 4, 4, 5
- vxor 0, 0, 4
- vperm 0, 0, 7, 1
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-.globl vpaes_encrypt
-.type vpaes_encrypt,@function
+ vxor 3, 3, 1
+ bdnz .Lenc_loop
+
+
+ addi 10, 11, 0x80
+
+
+ vperm 4, 14, 7, 2
+ lvx 1, 12, 10
+ vperm 0, 15, 7, 3
+ vxor 4, 4, 5
+ vxor 0, 0, 4
+ vperm 0, 0, 7, 1
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+.globl vpaes_encrypt
+.type vpaes_encrypt,@function
.section ".opd","aw"
.align 3
vpaes_encrypt:
.quad .vpaes_encrypt,.TOC.@tocbase,0
.previous
-.align 5
+.align 5
.vpaes_encrypt:
- stdu 1,-256(1)
- li 10,63
- li 11,79
- mflr 6
+ stdu 1,-256(1)
+ li 10,63
+ li 11,79
+ mflr 6
mfspr 7,256
- 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
- stw 7,252(1)
- li 0, -1
- std 6,272(1)
+ 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
+ stw 7,252(1)
+ li 0, -1
+ std 6,272(1)
mtspr 256,0
-
- bl _vpaes_encrypt_preheat
-
+
+ bl _vpaes_encrypt_preheat
+
lvsl 27, 0, 3
- lvx 0, 0, 3
- addi 3, 3, 15
+ lvx 0, 0, 3
+ addi 3, 3, 15
lvsr 29, 0, 4
lvsl 31, 0, 5
- lvx 26, 0, 3
+ lvx 26, 0, 3
vperm 0, 0, 26, 27
-
- bl _vpaes_encrypt_core
-
- andi. 8, 4, 15
- li 9, 16
- beq .Lenc_out_aligned
-
- vperm 0, 0, 0, 29
- mtctr 9
-.Lenc_out_unaligned:
- stvebx 0, 0, 4
- addi 4, 4, 1
- bdnz .Lenc_out_unaligned
- b .Lenc_done
-
-.align 4
-.Lenc_out_aligned:
- stvx 0, 0, 4
-.Lenc_done:
-
- li 10,63
- li 11,79
- mtlr 6
+
+ bl _vpaes_encrypt_core
+
+ andi. 8, 4, 15
+ li 9, 16
+ beq .Lenc_out_aligned
+
+ vperm 0, 0, 0, 29
+ mtctr 9
+.Lenc_out_unaligned:
+ stvebx 0, 0, 4
+ addi 4, 4, 1
+ bdnz .Lenc_out_unaligned
+ b .Lenc_done
+
+.align 4
+.Lenc_out_aligned:
+ stvx 0, 0, 4
+.Lenc_done:
+
+ li 10,63
+ li 11,79
+ mtlr 6
mtspr 256,7
- 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
- addi 1,1,256
- blr
-.long 0
-.byte 0,12,0x04,1,0x80,0,3,0
-.long 0
+ 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
+ addi 1,1,256
+ blr
+.long 0
+.byte 0,12,0x04,1,0x80,0,3,0
+.long 0
.size .vpaes_encrypt,.-.vpaes_encrypt
.size vpaes_encrypt,.-.vpaes_encrypt
-
-.align 4
-_vpaes_decrypt_preheat:
- mflr 8
- bl .Lconsts
- mtlr 8
- li 11, 0xc0
- li 10, 0xd0
- li 9, 0x160
- li 8, 0x170
- vxor 7, 7, 7
- vspltisb 8,4
- vspltisb 9,0x0f
- lvx 10, 12, 11
- li 11, 0x180
- lvx 11, 12, 10
- li 10, 0x190
- lvx 12, 12, 9
- li 9, 0x1a0
- lvx 13, 12, 8
- li 8, 0x1b0
- lvx 14, 12, 11
- li 11, 0x1c0
- lvx 15, 12, 10
- li 10, 0x1d0
- lvx 16, 12, 9
- li 9, 0x1e0
- lvx 17, 12, 8
- li 8, 0x1f0
- lvx 18, 12, 11
- li 11, 0x200
- lvx 19, 12, 10
- li 10, 0x210
- lvx 20, 12, 9
- lvx 21, 12, 8
- lvx 22, 12, 11
- lvx 23, 12, 10
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-.align 4
-_vpaes_decrypt_core:
- lwz 8, 240(5)
- li 9, 16
- lvx 5, 0, 5
- li 11, 0x30
- lvx 6, 9, 5
- addi 9, 9, 16
+
+.align 4
+_vpaes_decrypt_preheat:
+ mflr 8
+ bl .Lconsts
+ mtlr 8
+ li 11, 0xc0
+ li 10, 0xd0
+ li 9, 0x160
+ li 8, 0x170
+ vxor 7, 7, 7
+ vspltisb 8,4
+ vspltisb 9,0x0f
+ lvx 10, 12, 11
+ li 11, 0x180
+ lvx 11, 12, 10
+ li 10, 0x190
+ lvx 12, 12, 9
+ li 9, 0x1a0
+ lvx 13, 12, 8
+ li 8, 0x1b0
+ lvx 14, 12, 11
+ li 11, 0x1c0
+ lvx 15, 12, 10
+ li 10, 0x1d0
+ lvx 16, 12, 9
+ li 9, 0x1e0
+ lvx 17, 12, 8
+ li 8, 0x1f0
+ lvx 18, 12, 11
+ li 11, 0x200
+ lvx 19, 12, 10
+ li 10, 0x210
+ lvx 20, 12, 9
+ lvx 21, 12, 8
+ lvx 22, 12, 11
+ lvx 23, 12, 10
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+.align 4
+_vpaes_decrypt_core:
+ lwz 8, 240(5)
+ li 9, 16
+ lvx 5, 0, 5
+ li 11, 0x30
+ lvx 6, 9, 5
+ addi 9, 9, 16
vperm 5, 5, 6, 31
- vsrb 1, 0, 8
- vperm 0, 12, 12, 0
- vperm 1, 13, 13, 1
- vxor 0, 0, 5
- vxor 0, 0, 1
- mtctr 8
- b .Ldec_entry
-
-.align 4
-.Ldec_loop:
-
-
-
- lvx 0, 12, 11
-
-
- vperm 4, 16, 7, 2
- subi 11, 11, 16
- vperm 1, 17, 7, 3
- andi. 11, 11, 0x30
- vxor 5, 5, 4
-
- vxor 5, 5, 1
-
-
- vperm 4, 18, 7, 2
- vperm 5, 5, 7, 0
- vperm 1, 19, 7, 3
- vxor 5, 5, 4
-
- vxor 5, 5, 1
-
-
- vperm 4, 20, 7, 2
- vperm 5, 5, 7, 0
- vperm 1, 21, 7, 3
- vxor 5, 5, 4
-
- vxor 5, 5, 1
-
-
- vperm 4, 22, 7, 2
- vperm 5, 5, 7, 0
- vperm 1, 23, 7, 3
- vxor 0, 5, 4
- vxor 0, 0, 1
-
-.Ldec_entry:
-
- vsrb 1, 0, 8
- vperm 2, 11, 11, 0
- vxor 0, 0, 1
- vperm 3, 10, 10, 1
- vperm 4, 10, 10, 0
- vand 0, 0, 9
- vxor 3, 3, 2
- vxor 4, 4, 2
- vperm 2, 10, 7, 3
- vor 5,6,6
- lvx 6, 9, 5
- vperm 3, 10, 7, 4
- addi 9, 9, 16
- vxor 2, 2, 0
+ vsrb 1, 0, 8
+ vperm 0, 12, 12, 0
+ vperm 1, 13, 13, 1
+ vxor 0, 0, 5
+ vxor 0, 0, 1
+ mtctr 8
+ b .Ldec_entry
+
+.align 4
+.Ldec_loop:
+
+
+
+ lvx 0, 12, 11
+
+
+ vperm 4, 16, 7, 2
+ subi 11, 11, 16
+ vperm 1, 17, 7, 3
+ andi. 11, 11, 0x30
+ vxor 5, 5, 4
+
+ vxor 5, 5, 1
+
+
+ vperm 4, 18, 7, 2
+ vperm 5, 5, 7, 0
+ vperm 1, 19, 7, 3
+ vxor 5, 5, 4
+
+ vxor 5, 5, 1
+
+
+ vperm 4, 20, 7, 2
+ vperm 5, 5, 7, 0
+ vperm 1, 21, 7, 3
+ vxor 5, 5, 4
+
+ vxor 5, 5, 1
+
+
+ vperm 4, 22, 7, 2
+ vperm 5, 5, 7, 0
+ vperm 1, 23, 7, 3
+ vxor 0, 5, 4
+ vxor 0, 0, 1
+
+.Ldec_entry:
+
+ vsrb 1, 0, 8
+ vperm 2, 11, 11, 0
+ vxor 0, 0, 1
+ vperm 3, 10, 10, 1
+ vperm 4, 10, 10, 0
+ vand 0, 0, 9
+ vxor 3, 3, 2
+ vxor 4, 4, 2
+ vperm 2, 10, 7, 3
+ vor 5,6,6
+ lvx 6, 9, 5
+ vperm 3, 10, 7, 4
+ addi 9, 9, 16
+ vxor 2, 2, 0
vperm 5, 5, 6, 31
- vxor 3, 3, 1
- bdnz .Ldec_loop
-
-
- addi 10, 11, 0x80
-
- vperm 4, 14, 7, 2
-
- lvx 2, 12, 10
- vperm 1, 15, 7, 3
- vxor 4, 4, 5
- vxor 0, 1, 4
- vperm 0, 0, 7, 2
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-.globl vpaes_decrypt
-.type vpaes_decrypt,@function
+ vxor 3, 3, 1
+ bdnz .Ldec_loop
+
+
+ addi 10, 11, 0x80
+
+ vperm 4, 14, 7, 2
+
+ lvx 2, 12, 10
+ vperm 1, 15, 7, 3
+ vxor 4, 4, 5
+ vxor 0, 1, 4
+ vperm 0, 0, 7, 2
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+.globl vpaes_decrypt
+.type vpaes_decrypt,@function
.section ".opd","aw"
.align 3
vpaes_decrypt:
.quad .vpaes_decrypt,.TOC.@tocbase,0
.previous
-.align 5
+.align 5
.vpaes_decrypt:
- stdu 1,-256(1)
- li 10,63
- li 11,79
- mflr 6
+ stdu 1,-256(1)
+ li 10,63
+ li 11,79
+ mflr 6
mfspr 7,256
- 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
- stw 7,252(1)
- li 0, -1
- std 6,272(1)
+ 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
+ stw 7,252(1)
+ li 0, -1
+ std 6,272(1)
mtspr 256,0
-
- bl _vpaes_decrypt_preheat
-
+
+ bl _vpaes_decrypt_preheat
+
lvsl 27, 0, 3
- lvx 0, 0, 3
- addi 3, 3, 15
+ lvx 0, 0, 3
+ addi 3, 3, 15
lvsr 29, 0, 4
lvsl 31, 0, 5
- lvx 26, 0, 3
+ lvx 26, 0, 3
vperm 0, 0, 26, 27
-
- bl _vpaes_decrypt_core
-
- andi. 8, 4, 15
- li 9, 16
- beq .Ldec_out_aligned
-
- vperm 0, 0, 0, 29
- mtctr 9
-.Ldec_out_unaligned:
- stvebx 0, 0, 4
- addi 4, 4, 1
- bdnz .Ldec_out_unaligned
- b .Ldec_done
-
-.align 4
-.Ldec_out_aligned:
- stvx 0, 0, 4
-.Ldec_done:
-
- li 10,63
- li 11,79
- mtlr 6
+
+ bl _vpaes_decrypt_core
+
+ andi. 8, 4, 15
+ li 9, 16
+ beq .Ldec_out_aligned
+
+ vperm 0, 0, 0, 29
+ mtctr 9
+.Ldec_out_unaligned:
+ stvebx 0, 0, 4
+ addi 4, 4, 1
+ bdnz .Ldec_out_unaligned
+ b .Ldec_done
+
+.align 4
+.Ldec_out_aligned:
+ stvx 0, 0, 4
+.Ldec_done:
+
+ li 10,63
+ li 11,79
+ mtlr 6
mtspr 256,7
- 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
- addi 1,1,256
- blr
-.long 0
-.byte 0,12,0x04,1,0x80,0,3,0
-.long 0
+ 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
+ addi 1,1,256
+ blr
+.long 0
+.byte 0,12,0x04,1,0x80,0,3,0
+.long 0
.size .vpaes_decrypt,.-.vpaes_decrypt
.size vpaes_decrypt,.-.vpaes_decrypt
-
-.globl vpaes_cbc_encrypt
-.type vpaes_cbc_encrypt,@function
+
+.globl vpaes_cbc_encrypt
+.type vpaes_cbc_encrypt,@function
.section ".opd","aw"
.align 3
vpaes_cbc_encrypt:
.quad .vpaes_cbc_encrypt,.TOC.@tocbase,0
.previous
-.align 5
+.align 5
.vpaes_cbc_encrypt:
- cmpldi 5,16
- .long 0x4dc00020
-
- stdu 1,-272(1)
- mflr 0
- li 10,63
- li 11,79
+ cmpldi 5,16
+ .long 0x4dc00020
+
+ stdu 1,-272(1)
+ mflr 0
+ li 10,63
+ li 11,79
mfspr 12,256
- 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
- stw 12,252(1)
- std 30,256(1)
- std 31,264(1)
- li 9, -16
- std 0, 288(1)
-
- and 30, 5, 9
- andi. 9, 4, 15
- mr 5, 6
- mr 31, 7
- li 6, -1
- mcrf 1, 0
- mr 7, 12
+ 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
+ stw 12,252(1)
+ std 30,256(1)
+ std 31,264(1)
+ li 9, -16
+ std 0, 288(1)
+
+ and 30, 5, 9
+ andi. 9, 4, 15
+ mr 5, 6
+ mr 31, 7
+ li 6, -1
+ mcrf 1, 0
+ mr 7, 12
mtspr 256,6
-
- lvx 24, 0, 31
- li 9, 15
+
+ lvx 24, 0, 31
+ li 9, 15
lvsl 27, 0, 31
- lvx 25, 9, 31
+ lvx 25, 9, 31
vperm 24, 24, 25, 27
-
- cmpwi 8, 0
- neg 8, 3
- vxor 7, 7, 7
+
+ cmpwi 8, 0
+ neg 8, 3
+ vxor 7, 7, 7
lvsl 31, 0, 5
lvsr 29, 0, 4
lvsr 27, 0, 8
- vnor 30, 7, 7
- lvx 26, 0, 3
+ vnor 30, 7, 7
+ lvx 26, 0, 3
vperm 30, 7, 30, 29
- addi 3, 3, 15
-
- beq .Lcbc_decrypt
-
- bl _vpaes_encrypt_preheat
- li 0, 16
-
- beq 1, .Lcbc_enc_loop
-
- vor 0,26,26
- lvx 26, 0, 3
- addi 3, 3, 16
+ addi 3, 3, 15
+
+ beq .Lcbc_decrypt
+
+ bl _vpaes_encrypt_preheat
+ li 0, 16
+
+ beq 1, .Lcbc_enc_loop
+
+ vor 0,26,26
+ lvx 26, 0, 3
+ addi 3, 3, 16
vperm 0, 0, 26, 27
- vxor 0, 0, 24
-
- bl _vpaes_encrypt_core
-
- andi. 8, 4, 15
- vor 24,0,0
- sub 9, 4, 8
- vperm 28, 0, 0, 29
-
-.Lcbc_enc_head:
- stvebx 28, 8, 9
- cmpwi 8, 15
- addi 8, 8, 1
- bne .Lcbc_enc_head
-
- sub. 30, 30, 0
- addi 4, 4, 16
- beq .Lcbc_unaligned_done
-
-.Lcbc_enc_loop:
- vor 0,26,26
- lvx 26, 0, 3
- addi 3, 3, 16
+ vxor 0, 0, 24
+
+ bl _vpaes_encrypt_core
+
+ andi. 8, 4, 15
+ vor 24,0,0
+ sub 9, 4, 8
+ vperm 28, 0, 0, 29
+
+.Lcbc_enc_head:
+ stvebx 28, 8, 9
+ cmpwi 8, 15
+ addi 8, 8, 1
+ bne .Lcbc_enc_head
+
+ sub. 30, 30, 0
+ addi 4, 4, 16
+ beq .Lcbc_unaligned_done
+
+.Lcbc_enc_loop:
+ vor 0,26,26
+ lvx 26, 0, 3
+ addi 3, 3, 16
vperm 0, 0, 26, 27
- vxor 0, 0, 24
-
- bl _vpaes_encrypt_core
-
- vor 24,0,0
- sub. 30, 30, 0
- vperm 0, 0, 0, 29
- vsel 1, 28, 0, 30
- vor 28,0,0
- stvx 1, 0, 4
- addi 4, 4, 16
- bne .Lcbc_enc_loop
-
- b .Lcbc_done
-
-.align 5
-.Lcbc_decrypt:
- bl _vpaes_decrypt_preheat
- li 0, 16
-
- beq 1, .Lcbc_dec_loop
-
- vor 0,26,26
- lvx 26, 0, 3
- addi 3, 3, 16
+ vxor 0, 0, 24
+
+ bl _vpaes_encrypt_core
+
+ vor 24,0,0
+ sub. 30, 30, 0
+ vperm 0, 0, 0, 29
+ vsel 1, 28, 0, 30
+ vor 28,0,0
+ stvx 1, 0, 4
+ addi 4, 4, 16
+ bne .Lcbc_enc_loop
+
+ b .Lcbc_done
+
+.align 5
+.Lcbc_decrypt:
+ bl _vpaes_decrypt_preheat
+ li 0, 16
+
+ beq 1, .Lcbc_dec_loop
+
+ vor 0,26,26
+ lvx 26, 0, 3
+ addi 3, 3, 16
vperm 0, 0, 26, 27
- vor 25,0,0
-
- bl _vpaes_decrypt_core
-
- andi. 8, 4, 15
- vxor 0, 0, 24
- vor 24,25,25
- sub 9, 4, 8
- vperm 28, 0, 0, 29
-
-.Lcbc_dec_head:
- stvebx 28, 8, 9
- cmpwi 8, 15
- addi 8, 8, 1
- bne .Lcbc_dec_head
-
- sub. 30, 30, 0
- addi 4, 4, 16
- beq .Lcbc_unaligned_done
-
-.Lcbc_dec_loop:
- vor 0,26,26
- lvx 26, 0, 3
- addi 3, 3, 16
+ vor 25,0,0
+
+ bl _vpaes_decrypt_core
+
+ andi. 8, 4, 15
+ vxor 0, 0, 24
+ vor 24,25,25
+ sub 9, 4, 8
+ vperm 28, 0, 0, 29
+
+.Lcbc_dec_head:
+ stvebx 28, 8, 9
+ cmpwi 8, 15
+ addi 8, 8, 1
+ bne .Lcbc_dec_head
+
+ sub. 30, 30, 0
+ addi 4, 4, 16
+ beq .Lcbc_unaligned_done
+
+.Lcbc_dec_loop:
+ vor 0,26,26
+ lvx 26, 0, 3
+ addi 3, 3, 16
vperm 0, 0, 26, 27
- vor 25,0,0
-
- bl _vpaes_decrypt_core
-
- vxor 0, 0, 24
- vor 24,25,25
- sub. 30, 30, 0
- vperm 0, 0, 0, 29
- vsel 1, 28, 0, 30
- vor 28,0,0
- stvx 1, 0, 4
- addi 4, 4, 16
- bne .Lcbc_dec_loop
-
-.Lcbc_done:
- beq 1, .Lcbc_write_iv
-
-.Lcbc_unaligned_done:
- andi. 8, 4, 15
- sub 4, 4, 8
- li 9, 0
-.Lcbc_tail:
- stvebx 28, 9, 4
- addi 9, 9, 1
- cmpw 9, 8
- bne .Lcbc_tail
-
-.Lcbc_write_iv:
- neg 8, 31
- li 10, 4
+ vor 25,0,0
+
+ bl _vpaes_decrypt_core
+
+ vxor 0, 0, 24
+ vor 24,25,25
+ sub. 30, 30, 0
+ vperm 0, 0, 0, 29
+ vsel 1, 28, 0, 30
+ vor 28,0,0
+ stvx 1, 0, 4
+ addi 4, 4, 16
+ bne .Lcbc_dec_loop
+
+.Lcbc_done:
+ beq 1, .Lcbc_write_iv
+
+.Lcbc_unaligned_done:
+ andi. 8, 4, 15
+ sub 4, 4, 8
+ li 9, 0
+.Lcbc_tail:
+ stvebx 28, 9, 4
+ addi 9, 9, 1
+ cmpw 9, 8
+ bne .Lcbc_tail
+
+.Lcbc_write_iv:
+ neg 8, 31
+ li 10, 4
lvsl 29, 0, 8
- li 11, 8
- li 12, 12
- vperm 24, 24, 24, 29
- stvewx 24, 0, 31
- stvewx 24, 10, 31
- stvewx 24, 11, 31
- stvewx 24, 12, 31
-
+ li 11, 8
+ li 12, 12
+ vperm 24, 24, 24, 29
+ stvewx 24, 0, 31
+ stvewx 24, 10, 31
+ stvewx 24, 11, 31
+ stvewx 24, 12, 31
+
mtspr 256,7
- li 10,63
- li 11,79
- 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
-.Lcbc_abort:
- ld 0, 288(1)
- ld 30,256(1)
- ld 31,264(1)
- mtlr 0
- addi 1,1,272
- blr
-.long 0
-.byte 0,12,0x04,1,0x80,2,6,0
-.long 0
+ li 10,63
+ li 11,79
+ 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
+.Lcbc_abort:
+ ld 0, 288(1)
+ ld 30,256(1)
+ ld 31,264(1)
+ mtlr 0
+ addi 1,1,272
+ blr
+.long 0
+.byte 0,12,0x04,1,0x80,2,6,0
+.long 0
.size .vpaes_cbc_encrypt,.-.vpaes_cbc_encrypt
.size vpaes_cbc_encrypt,.-.vpaes_cbc_encrypt
-
-
-
-
-
-.align 4
-_vpaes_key_preheat:
- mflr 8
- bl .Lconsts
- mtlr 8
- li 11, 0xc0
- li 10, 0xd0
- li 9, 0xe0
- li 8, 0xf0
-
- vspltisb 8,4
- vxor 9,9,9
- lvx 10, 12, 11
- li 11, 0x120
- lvx 11, 12, 10
- li 10, 0x130
- lvx 12, 12, 9
- li 9, 0x220
- lvx 13, 12, 8
- li 8, 0x230
-
- lvx 14, 12, 11
- li 11, 0x240
- lvx 15, 12, 10
- li 10, 0x250
-
- lvx 16, 12, 9
- li 9, 0x260
- lvx 17, 12, 8
- li 8, 0x270
- lvx 18, 12, 11
- li 11, 0x280
- lvx 19, 12, 10
- li 10, 0x290
- lvx 20, 12, 9
- li 9, 0x2a0
- lvx 21, 12, 8
- li 8, 0x2b0
- lvx 22, 12, 11
- lvx 23, 12, 10
-
- lvx 24, 12, 9
- lvx 25, 0, 12
- lvx 26, 12, 8
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-.align 4
-_vpaes_schedule_core:
- mflr 7
-
- bl _vpaes_key_preheat
-
-
- neg 8, 3
- lvx 0, 0, 3
- addi 3, 3, 15
+
+
+
+
+
+.align 4
+_vpaes_key_preheat:
+ mflr 8
+ bl .Lconsts
+ mtlr 8
+ li 11, 0xc0
+ li 10, 0xd0
+ li 9, 0xe0
+ li 8, 0xf0
+
+ vspltisb 8,4
+ vxor 9,9,9
+ lvx 10, 12, 11
+ li 11, 0x120
+ lvx 11, 12, 10
+ li 10, 0x130
+ lvx 12, 12, 9
+ li 9, 0x220
+ lvx 13, 12, 8
+ li 8, 0x230
+
+ lvx 14, 12, 11
+ li 11, 0x240
+ lvx 15, 12, 10
+ li 10, 0x250
+
+ lvx 16, 12, 9
+ li 9, 0x260
+ lvx 17, 12, 8
+ li 8, 0x270
+ lvx 18, 12, 11
+ li 11, 0x280
+ lvx 19, 12, 10
+ li 10, 0x290
+ lvx 20, 12, 9
+ li 9, 0x2a0
+ lvx 21, 12, 8
+ li 8, 0x2b0
+ lvx 22, 12, 11
+ lvx 23, 12, 10
+
+ lvx 24, 12, 9
+ lvx 25, 0, 12
+ lvx 26, 12, 8
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+.align 4
+_vpaes_schedule_core:
+ mflr 7
+
+ bl _vpaes_key_preheat
+
+
+ neg 8, 3
+ lvx 0, 0, 3
+ addi 3, 3, 15
lvsr 27, 0, 8
- lvx 6, 0, 3
- addi 3, 3, 8
+ lvx 6, 0, 3
+ addi 3, 3, 8
vperm 0, 0, 6, 27
-
-
- vor 3,0,0
- bl _vpaes_schedule_transform
- vor 7,0,0
-
- bne 1, .Lschedule_am_decrypting
-
-
- li 8, 0x30
- li 9, 4
- li 10, 8
- li 11, 12
-
+
+
+ vor 3,0,0
+ bl _vpaes_schedule_transform
+ vor 7,0,0
+
+ bne 1, .Lschedule_am_decrypting
+
+
+ li 8, 0x30
+ li 9, 4
+ li 10, 8
+ li 11, 12
+
lvsr 29, 0, 5
- vnor 30, 9, 9
+ vnor 30, 9, 9
vperm 30, 9, 30, 29
-
-
- vperm 28, 0, 0, 29
- stvewx 28, 0, 5
- stvewx 28, 9, 5
- stvewx 28, 10, 5
- addi 10, 12, 0x80
- stvewx 28, 11, 5
- b .Lschedule_go
-
-.Lschedule_am_decrypting:
- srwi 8, 4, 1
- andi. 8, 8, 32
- xori 8, 8, 32
- addi 10, 12, 0x80
-
- lvx 1, 8, 10
- li 9, 4
- li 10, 8
- li 11, 12
- vperm 4, 3, 3, 1
-
- neg 0, 5
+
+
+ vperm 28, 0, 0, 29
+ stvewx 28, 0, 5
+ stvewx 28, 9, 5
+ stvewx 28, 10, 5
+ addi 10, 12, 0x80
+ stvewx 28, 11, 5
+ b .Lschedule_go
+
+.Lschedule_am_decrypting:
+ srwi 8, 4, 1
+ andi. 8, 8, 32
+ xori 8, 8, 32
+ addi 10, 12, 0x80
+
+ lvx 1, 8, 10
+ li 9, 4
+ li 10, 8
+ li 11, 12
+ vperm 4, 3, 3, 1
+
+ neg 0, 5
lvsl 29, 0, 0
- vnor 30, 9, 9
+ vnor 30, 9, 9
vperm 30, 30, 9, 29
-
-
- vperm 28, 4, 4, 29
- stvewx 28, 0, 5
- stvewx 28, 9, 5
- stvewx 28, 10, 5
- addi 10, 12, 0x80
- stvewx 28, 11, 5
- addi 5, 5, 15
- xori 8, 8, 0x30
-
-.Lschedule_go:
- cmplwi 4, 192
- bgt .Lschedule_256
- beq .Lschedule_192
-
-
-
-
-
-
-
-
-
-
-.Lschedule_128:
- li 0, 10
- mtctr 0
-
-.Loop_schedule_128:
- bl _vpaes_schedule_round
- bdz .Lschedule_mangle_last
- bl _vpaes_schedule_mangle
- b .Loop_schedule_128
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.align 4
-.Lschedule_192:
- li 0, 4
- lvx 0, 0, 3
+
+
+ vperm 28, 4, 4, 29
+ stvewx 28, 0, 5
+ stvewx 28, 9, 5
+ stvewx 28, 10, 5
+ addi 10, 12, 0x80
+ stvewx 28, 11, 5
+ addi 5, 5, 15
+ xori 8, 8, 0x30
+
+.Lschedule_go:
+ cmplwi 4, 192
+ bgt .Lschedule_256
+ beq .Lschedule_192
+
+
+
+
+
+
+
+
+
+
+.Lschedule_128:
+ li 0, 10
+ mtctr 0
+
+.Loop_schedule_128:
+ bl _vpaes_schedule_round
+ bdz .Lschedule_mangle_last
+ bl _vpaes_schedule_mangle
+ b .Loop_schedule_128
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.align 4
+.Lschedule_192:
+ li 0, 4
+ lvx 0, 0, 3
vperm 0, 6, 0, 27
vsldoi 0, 3, 0, 8
- bl _vpaes_schedule_transform
+ bl _vpaes_schedule_transform
vsldoi 6, 0, 9, 8
vsldoi 6, 9, 6, 8
- mtctr 0
-
-.Loop_schedule_192:
- bl _vpaes_schedule_round
+ mtctr 0
+
+.Loop_schedule_192:
+ bl _vpaes_schedule_round
vsldoi 0, 6, 0, 8
- bl _vpaes_schedule_mangle
- bl _vpaes_schedule_192_smear
- bl _vpaes_schedule_mangle
- bl _vpaes_schedule_round
- bdz .Lschedule_mangle_last
- bl _vpaes_schedule_mangle
- bl _vpaes_schedule_192_smear
- b .Loop_schedule_192
-
-
-
-
-
-
-
-
-
-
-
-.align 4
-.Lschedule_256:
- li 0, 7
- addi 3, 3, 8
- lvx 0, 0, 3
+ bl _vpaes_schedule_mangle
+ bl _vpaes_schedule_192_smear
+ bl _vpaes_schedule_mangle
+ bl _vpaes_schedule_round
+ bdz .Lschedule_mangle_last
+ bl _vpaes_schedule_mangle
+ bl _vpaes_schedule_192_smear
+ b .Loop_schedule_192
+
+
+
+
+
+
+
+
+
+
+
+.align 4
+.Lschedule_256:
+ li 0, 7
+ addi 3, 3, 8
+ lvx 0, 0, 3
vperm 0, 6, 0, 27
- bl _vpaes_schedule_transform
- mtctr 0
-
-.Loop_schedule_256:
- bl _vpaes_schedule_mangle
- vor 6,0,0
-
-
- bl _vpaes_schedule_round
- bdz .Lschedule_mangle_last
- bl _vpaes_schedule_mangle
-
-
+ bl _vpaes_schedule_transform
+ mtctr 0
+
+.Loop_schedule_256:
+ bl _vpaes_schedule_mangle
+ vor 6,0,0
+
+
+ bl _vpaes_schedule_round
+ bdz .Lschedule_mangle_last
+ bl _vpaes_schedule_mangle
+
+
vspltw 0, 0, 3
- vor 5,7,7
- vor 7,6,6
- bl _vpaes_schedule_low_round
- vor 7,5,5
-
- b .Loop_schedule_256
-
-
-
-
-
-
-
-
-
-
-.align 4
-.Lschedule_mangle_last:
-
- li 11, 0x2e0
- li 9, 0x2f0
- bne 1, .Lschedule_mangle_last_dec
-
-
- lvx 1, 8, 10
- li 11, 0x2c0
- li 9, 0x2d0
- vperm 0, 0, 0, 1
-
- lvx 12, 11, 12
- lvx 13, 9, 12
- addi 5, 5, 16
- vxor 0, 0, 26
- bl _vpaes_schedule_transform
-
-
- vperm 0, 0, 0, 29
- li 10, 4
- vsel 2, 28, 0, 30
- li 11, 8
- stvx 2, 0, 5
- li 12, 12
- stvewx 0, 0, 5
- stvewx 0, 10, 5
- stvewx 0, 11, 5
- stvewx 0, 12, 5
- b .Lschedule_mangle_done
-
-.align 4
-.Lschedule_mangle_last_dec:
- lvx 12, 11, 12
- lvx 13, 9, 12
- addi 5, 5, -16
- vxor 0, 0, 26
- bl _vpaes_schedule_transform
-
-
- addi 9, 5, -15
- vperm 0, 0, 0, 29
- li 10, 4
- vsel 2, 28, 0, 30
- li 11, 8
- stvx 2, 0, 5
- li 12, 12
- stvewx 0, 0, 9
- stvewx 0, 10, 9
- stvewx 0, 11, 9
- stvewx 0, 12, 9
-
-
-.Lschedule_mangle_done:
- mtlr 7
-
- vxor 0, 0, 0
- vxor 1, 1, 1
- vxor 2, 2, 2
- vxor 3, 3, 3
- vxor 4, 4, 4
- vxor 5, 5, 5
- vxor 6, 6, 6
- vxor 7, 7, 7
-
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.align 4
-_vpaes_schedule_192_smear:
+ vor 5,7,7
+ vor 7,6,6
+ bl _vpaes_schedule_low_round
+ vor 7,5,5
+
+ b .Loop_schedule_256
+
+
+
+
+
+
+
+
+
+
+.align 4
+.Lschedule_mangle_last:
+
+ li 11, 0x2e0
+ li 9, 0x2f0
+ bne 1, .Lschedule_mangle_last_dec
+
+
+ lvx 1, 8, 10
+ li 11, 0x2c0
+ li 9, 0x2d0
+ vperm 0, 0, 0, 1
+
+ lvx 12, 11, 12
+ lvx 13, 9, 12
+ addi 5, 5, 16
+ vxor 0, 0, 26
+ bl _vpaes_schedule_transform
+
+
+ vperm 0, 0, 0, 29
+ li 10, 4
+ vsel 2, 28, 0, 30
+ li 11, 8
+ stvx 2, 0, 5
+ li 12, 12
+ stvewx 0, 0, 5
+ stvewx 0, 10, 5
+ stvewx 0, 11, 5
+ stvewx 0, 12, 5
+ b .Lschedule_mangle_done
+
+.align 4
+.Lschedule_mangle_last_dec:
+ lvx 12, 11, 12
+ lvx 13, 9, 12
+ addi 5, 5, -16
+ vxor 0, 0, 26
+ bl _vpaes_schedule_transform
+
+
+ addi 9, 5, -15
+ vperm 0, 0, 0, 29
+ li 10, 4
+ vsel 2, 28, 0, 30
+ li 11, 8
+ stvx 2, 0, 5
+ li 12, 12
+ stvewx 0, 0, 9
+ stvewx 0, 10, 9
+ stvewx 0, 11, 9
+ stvewx 0, 12, 9
+
+
+.Lschedule_mangle_done:
+ mtlr 7
+
+ vxor 0, 0, 0
+ vxor 1, 1, 1
+ vxor 2, 2, 2
+ vxor 3, 3, 3
+ vxor 4, 4, 4
+ vxor 5, 5, 5
+ vxor 6, 6, 6
+ vxor 7, 7, 7
+
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.align 4
+_vpaes_schedule_192_smear:
vspltw 0, 7, 3
vsldoi 1, 9, 6, 12
vsldoi 0, 7, 0, 8
- vxor 6, 6, 1
- vxor 6, 6, 0
- vor 0,6,6
+ vxor 6, 6, 1
+ vxor 6, 6, 0
+ vor 0,6,6
vsldoi 6, 6, 9, 8
vsldoi 6, 9, 6, 8
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.align 4
-_vpaes_schedule_round:
-
-
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.align 4
+_vpaes_schedule_round:
+
+
vsldoi 1, 24, 9, 15
vsldoi 24, 24, 24, 15
- vxor 7, 7, 1
-
-
+ vxor 7, 7, 1
+
+
vspltw 0, 0, 3
vsldoi 0, 0, 0, 1
-
-
-
-
-_vpaes_schedule_low_round:
-
+
+
+
+
+_vpaes_schedule_low_round:
+
vsldoi 1, 9, 7, 12
- vxor 7, 7, 1
- vspltisb 1, 0x0f
+ vxor 7, 7, 1
+ vspltisb 1, 0x0f
vsldoi 4, 9, 7, 8
-
-
- vand 1, 1, 0
- vsrb 0, 0, 8
- vxor 7, 7, 4
- vperm 2, 11, 9, 1
- vxor 1, 1, 0
- vperm 3, 10, 9, 0
- vxor 3, 3, 2
- vperm 4, 10, 9, 1
- vxor 7, 7, 26
- vperm 3, 10, 9, 3
- vxor 4, 4, 2
- vperm 2, 10, 9, 4
- vxor 3, 3, 1
- vxor 2, 2, 0
- vperm 4, 15, 9, 3
- vperm 1, 14, 9, 2
- vxor 1, 1, 4
-
-
- vxor 0, 1, 7
- vxor 7, 1, 7
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-
-
-
-
-.align 4
-_vpaes_schedule_transform:
-
- vsrb 2, 0, 8
-
- vperm 0, 12, 12, 0
-
- vperm 2, 13, 13, 2
- vxor 0, 0, 2
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.align 4
-_vpaes_schedule_mangle:
-
-
- bne 1, .Lschedule_mangle_dec
-
-
- vxor 4, 0, 26
- addi 5, 5, 16
- vperm 4, 4, 4, 25
- vperm 1, 4, 4, 25
- vperm 3, 1, 1, 25
- vxor 4, 4, 1
- lvx 1, 8, 10
- vxor 3, 3, 4
-
- vperm 3, 3, 3, 1
- addi 8, 8, -16
- andi. 8, 8, 0x30
-
-
- vperm 1, 3, 3, 29
- vsel 2, 28, 1, 30
- vor 28,1,1
- stvx 2, 0, 5
- blr
-
-.align 4
-.Lschedule_mangle_dec:
-
-
- vsrb 1, 0, 8
-
-
-
- vperm 2, 16, 16, 0
-
- vperm 3, 17, 17, 1
- vxor 3, 3, 2
- vperm 3, 3, 9, 25
-
-
- vperm 2, 18, 18, 0
- vxor 2, 2, 3
-
- vperm 3, 19, 19, 1
- vxor 3, 3, 2
- vperm 3, 3, 9, 25
-
-
- vperm 2, 20, 20, 0
- vxor 2, 2, 3
-
- vperm 3, 21, 21, 1
- vxor 3, 3, 2
-
-
- vperm 2, 22, 22, 0
- vperm 3, 3, 9, 25
-
- vperm 4, 23, 23, 1
- lvx 1, 8, 10
- vxor 2, 2, 3
- vxor 3, 4, 2
-
- addi 5, 5, -16
-
- vperm 3, 3, 3, 1
- addi 8, 8, -16
- andi. 8, 8, 0x30
-
-
- vperm 1, 3, 3, 29
- vsel 2, 28, 1, 30
- vor 28,1,1
- stvx 2, 0, 5
- blr
-.long 0
-.byte 0,12,0x14,0,0,0,0,0
-
-.globl vpaes_set_encrypt_key
-.type vpaes_set_encrypt_key,@function
+
+
+ vand 1, 1, 0
+ vsrb 0, 0, 8
+ vxor 7, 7, 4
+ vperm 2, 11, 9, 1
+ vxor 1, 1, 0
+ vperm 3, 10, 9, 0
+ vxor 3, 3, 2
+ vperm 4, 10, 9, 1
+ vxor 7, 7, 26
+ vperm 3, 10, 9, 3
+ vxor 4, 4, 2
+ vperm 2, 10, 9, 4
+ vxor 3, 3, 1
+ vxor 2, 2, 0
+ vperm 4, 15, 9, 3
+ vperm 1, 14, 9, 2
+ vxor 1, 1, 4
+
+
+ vxor 0, 1, 7
+ vxor 7, 1, 7
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+
+
+
+
+.align 4
+_vpaes_schedule_transform:
+
+ vsrb 2, 0, 8
+
+ vperm 0, 12, 12, 0
+
+ vperm 2, 13, 13, 2
+ vxor 0, 0, 2
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.align 4
+_vpaes_schedule_mangle:
+
+
+ bne 1, .Lschedule_mangle_dec
+
+
+ vxor 4, 0, 26
+ addi 5, 5, 16
+ vperm 4, 4, 4, 25
+ vperm 1, 4, 4, 25
+ vperm 3, 1, 1, 25
+ vxor 4, 4, 1
+ lvx 1, 8, 10
+ vxor 3, 3, 4
+
+ vperm 3, 3, 3, 1
+ addi 8, 8, -16
+ andi. 8, 8, 0x30
+
+
+ vperm 1, 3, 3, 29
+ vsel 2, 28, 1, 30
+ vor 28,1,1
+ stvx 2, 0, 5
+ blr
+
+.align 4
+.Lschedule_mangle_dec:
+
+
+ vsrb 1, 0, 8
+
+
+
+ vperm 2, 16, 16, 0
+
+ vperm 3, 17, 17, 1
+ vxor 3, 3, 2
+ vperm 3, 3, 9, 25
+
+
+ vperm 2, 18, 18, 0
+ vxor 2, 2, 3
+
+ vperm 3, 19, 19, 1
+ vxor 3, 3, 2
+ vperm 3, 3, 9, 25
+
+
+ vperm 2, 20, 20, 0
+ vxor 2, 2, 3
+
+ vperm 3, 21, 21, 1
+ vxor 3, 3, 2
+
+
+ vperm 2, 22, 22, 0
+ vperm 3, 3, 9, 25
+
+ vperm 4, 23, 23, 1
+ lvx 1, 8, 10
+ vxor 2, 2, 3
+ vxor 3, 4, 2
+
+ addi 5, 5, -16
+
+ vperm 3, 3, 3, 1
+ addi 8, 8, -16
+ andi. 8, 8, 0x30
+
+
+ vperm 1, 3, 3, 29
+ vsel 2, 28, 1, 30
+ vor 28,1,1
+ stvx 2, 0, 5
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+.globl vpaes_set_encrypt_key
+.type vpaes_set_encrypt_key,@function
.section ".opd","aw"
.align 3
vpaes_set_encrypt_key:
.quad .vpaes_set_encrypt_key,.TOC.@tocbase,0
.previous
-.align 5
+.align 5
.vpaes_set_encrypt_key:
- stdu 1,-256(1)
- li 10,63
- li 11,79
- mflr 0
+ stdu 1,-256(1)
+ li 10,63
+ li 11,79
+ mflr 0
mfspr 6,256
- 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
- stw 6,252(1)
- li 7, -1
- std 0, 272(1)
+ 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
+ stw 6,252(1)
+ li 7, -1
+ std 0, 272(1)
mtspr 256,7
-
- srwi 9, 4, 5
- addi 9, 9, 6
- stw 9, 240(5)
-
- cmplw 1,4,4
- li 8, 0x30
- bl _vpaes_schedule_core
-
- ld 0, 272(1)
- li 10,63
- li 11,79
+
+ srwi 9, 4, 5
+ addi 9, 9, 6
+ stw 9, 240(5)
+
+ cmplw 1,4,4
+ li 8, 0x30
+ bl _vpaes_schedule_core
+
+ ld 0, 272(1)
+ li 10,63
+ li 11,79
mtspr 256,6
- mtlr 0
- xor 3, 3, 3
- 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
- addi 1,1,256
- blr
-.long 0
-.byte 0,12,0x04,1,0x80,0,3,0
-.long 0
+ mtlr 0
+ xor 3, 3, 3
+ 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
+ addi 1,1,256
+ blr
+.long 0
+.byte 0,12,0x04,1,0x80,0,3,0
+.long 0
.size .vpaes_set_encrypt_key,.-.vpaes_set_encrypt_key
.size vpaes_set_encrypt_key,.-.vpaes_set_encrypt_key
-
-.globl vpaes_set_decrypt_key
-.type vpaes_set_decrypt_key,@function
+
+.globl vpaes_set_decrypt_key
+.type vpaes_set_decrypt_key,@function
.section ".opd","aw"
.align 3
vpaes_set_decrypt_key:
.quad .vpaes_set_decrypt_key,.TOC.@tocbase,0
.previous
-.align 4
+.align 4
.vpaes_set_decrypt_key:
- stdu 1,-256(1)
- li 10,63
- li 11,79
- mflr 0
+ stdu 1,-256(1)
+ li 10,63
+ li 11,79
+ mflr 0
mfspr 6,256
- 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
- stw 6,252(1)
- li 7, -1
- std 0, 272(1)
+ 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
+ stw 6,252(1)
+ li 7, -1
+ std 0, 272(1)
mtspr 256,7
-
- srwi 9, 4, 5
- addi 9, 9, 6
- stw 9, 240(5)
-
- slwi 9, 9, 4
- add 5, 5, 9
-
- cmplwi 1, 4, 0
- srwi 8, 4, 1
- andi. 8, 8, 32
- xori 8, 8, 32
- bl _vpaes_schedule_core
-
- ld 0, 272(1)
- li 10,63
- li 11,79
+
+ srwi 9, 4, 5
+ addi 9, 9, 6
+ stw 9, 240(5)
+
+ slwi 9, 9, 4
+ add 5, 5, 9
+
+ cmplwi 1, 4, 0
+ srwi 8, 4, 1
+ andi. 8, 8, 32
+ xori 8, 8, 32
+ bl _vpaes_schedule_core
+
+ ld 0, 272(1)
+ li 10,63
+ li 11,79
mtspr 256,6
- mtlr 0
- xor 3, 3, 3
- 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
- addi 1,1,256
- blr
-.long 0
-.byte 0,12,0x04,1,0x80,0,3,0
-.long 0
+ mtlr 0
+ xor 3, 3, 3
+ 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
+ addi 1,1,256
+ blr
+.long 0
+.byte 0,12,0x04,1,0x80,0,3,0
+.long 0
.size .vpaes_set_decrypt_key,.-.vpaes_set_decrypt_key
.size vpaes_set_decrypt_key,.-.vpaes_set_decrypt_key