- call _vpaes_preheat
+ call _vpaes_preheat
movdqa .Lk_rcon(%rip),%xmm8
movdqu (%rdi),%xmm0
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
jmp .Loop_schedule_128
.p2align 4
.Lschedule_192:
movdqu 8(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqa %xmm0,%xmm6
pxor %xmm4,%xmm4
movhlps %xmm4,%xmm6
.Loop_schedule_192:
call _vpaes_schedule_round
.byte 102,15,58,15,198,8
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
jmp .Loop_schedule_192
.p2align 4
.Lschedule_256:
movdqu 16(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movl $7,%esi
.Loop_schedule_256:
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
movdqa %xmm0,%xmm6
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
pshufd $255,%xmm0,%xmm0
.Lschedule_mangle_last_dec:
addq $-16,%rdx
pxor .Lk_s63(%rip),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqu %xmm0,(%rdx)
leaq 16(%rax),%rsi
leaq 512(%r8),%rdi
movl $20,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
leaq 184(%rax),%rax
.Lin_prologue:
movq 40(%r9),%rdi
movq %r8,%rsi
movl $154,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
movq %r9,%rsi
xorq %rcx,%rcx
.LSEH_info_vpaes_set_encrypt_key:
.byte 9,0,0,0
.rva se_handler
-.rva .Lenc_key_body,.Lenc_key_epilogue
+.rva .Lenc_key_body,.Lenc_key_epilogue
.LSEH_info_vpaes_set_decrypt_key:
.byte 9,0,0,0
.rva se_handler
-.rva .Ldec_key_body,.Ldec_key_epilogue
+.rva .Ldec_key_body,.Ldec_key_epilogue
.LSEH_info_vpaes_encrypt:
.byte 9,0,0,0
.rva se_handler
-.rva .Lenc_body,.Lenc_epilogue
+.rva .Lenc_body,.Lenc_epilogue
.LSEH_info_vpaes_decrypt:
.byte 9,0,0,0
.rva se_handler
-.rva .Ldec_body,.Ldec_epilogue
+.rva .Ldec_body,.Ldec_epilogue
.LSEH_info_vpaes_cbc_encrypt:
.byte 9,0,0,0
.rva se_handler
-.rva .Lcbc_body,.Lcbc_epilogue
+.rva .Lcbc_body,.Lcbc_epilogue
.section .note.GNU-stack,"",%progbits
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_enc1_1
+ jnz .Loop_enc1_1
.byte 102,15,56,221,209
movups %xmm2,(%rdx)
.byte 0xf3,0xc3
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_dec1_2
+ jnz .Loop_dec1_2
.byte 102,15,56,223,209
movups %xmm2,(%rdx)
.byte 0xf3,0xc3
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_3
+ jnz .Loop_enc1_3
.byte 102,15,56,221,209
movups %xmm2,(%rsi)
jmp .Lecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_4
+ jnz .Loop_dec1_4
.byte 102,15,56,223,209
movups %xmm2,(%rsi)
jmp .Lecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_5
+ jnz .Loop_enc1_5
.byte 102,15,56,221,209
movups (%rdi),%xmm8
paddq %xmm6,%xmm9
decl %eax
movups (%r11),%xmm1
leaq 16(%r11),%r11
- jnz .Loop_enc1_6
+ jnz .Loop_enc1_6
.byte 102,15,56,221,217
movups %xmm3,(%r9)
movaps (%rsp),%xmm6
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_7
+ jnz .Loop_enc1_7
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_enc1_8
+ jnz .Loop_enc1_8
.byte 102,68,15,56,221,249
movups (%rcx),%xmm0
movq %rcx,%r11
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_9
+ jnz .Loop_enc1_9
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_10
+ jnz .Loop_enc1_10
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,-16(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_enc1_11
+ jnz .Loop_enc1_11
.byte 102,68,15,56,221,249
xorl %eax,%eax
testq $15,%rdx
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_12
+ jnz .Loop_dec1_12
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_13
+ jnz .Loop_dec1_13
.byte 102,15,56,223,209
xorps %xmm11,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_14
+ jnz .Loop_dec1_14
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_15
+ jnz .Loop_enc1_15
.byte 102,15,56,221,209
movl %r10d,%eax
movq %r11,%rcx
.Lcbc_enc_tail:
movq %rdx,%rcx
xchgq %rdi,%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
movl $16,%ecx
subq %rdx,%rcx
xorl %eax,%eax
-.long 0x9066AAF3
+.long 0x9066AAF3
leaq -16(%rdi),%rdi
movl %r10d,%eax
movq %rdi,%rsi
movq %r11,%rcx
xorq %rdx,%rdx
- jmp .Lcbc_enc_loop
+ jmp .Lcbc_enc_loop
.p2align 4
.Lcbc_decrypt:
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_16
+ jnz .Loop_dec1_16
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movaps %xmm11,%xmm10
movq %rsi,%rdi
subq %rdx,%rcx
leaq (%rsp),%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
.Lcbc_dec_ret:
movaps 16(%rsp),%xmm6
.def aesni_set_decrypt_key; .scl 2; .type 32; .endef
.p2align 4
aesni_set_decrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
call __aesni_set_encrypt_key
shll $4,%edx
testl %eax,%eax
.p2align 4
aesni_set_encrypt_key:
__aesni_set_encrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
movq $-1,%rax
testq %rcx,%rcx
jz .Lenc_key_ret
leaq 0(%rax),%rsi
leaq 512(%r8),%rdi
movl $8,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
leaq 88(%rax),%rax
jmp .Lcommon_seh_tail
leaq -160(%rax),%rsi
leaq 512(%r8),%rdi
movl $20,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
jmp .Lcommon_rbp_tail
leaq 16(%rax),%rsi
leaq 512(%r8),%rdi
movl $20,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
.Lcommon_rbp_tail:
movq 160(%r8),%rax
movq 40(%r9),%rdi
movq %r8,%rsi
movl $154,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
movq %r9,%rsi
xorq %rcx,%rcx
.LSEH_info_ccm64_enc:
.byte 9,0,0,0
.rva ccm64_se_handler
-.rva .Lccm64_enc_body,.Lccm64_enc_ret
+.rva .Lccm64_enc_body,.Lccm64_enc_ret
.LSEH_info_ccm64_dec:
.byte 9,0,0,0
.rva ccm64_se_handler
-.rva .Lccm64_dec_body,.Lccm64_dec_ret
+.rva .Lccm64_dec_body,.Lccm64_dec_ret
.LSEH_info_ctr32:
.byte 9,0,0,0
.rva ctr_xts_se_handler
-.rva .Lctr32_body,.Lctr32_epilogue
+.rva .Lctr32_body,.Lctr32_epilogue
.LSEH_info_xts_enc:
.byte 9,0,0,0
.rva ctr_xts_se_handler
-.rva .Lxts_enc_body,.Lxts_enc_epilogue
+.rva .Lxts_enc_body,.Lxts_enc_epilogue
.LSEH_info_xts_dec:
.byte 9,0,0,0
.rva ctr_xts_se_handler
-.rva .Lxts_dec_body,.Lxts_dec_epilogue
+.rva .Lxts_dec_body,.Lxts_dec_epilogue
.LSEH_info_cbc:
.byte 9,0,0,0
.rva cbc_se_handler
.LSEH_info_key:
.byte 0x01,0x04,0x01,0x00
-.byte 0x04,0x02,0x00,0x00
+.byte 0x04,0x02,0x00,0x00
.section .note.GNU-stack,"",%progbits
movq $1,%rcx
leaq 32(%rdx),%rbx
leaq 16(%rdx),%rdx
-.byte 0xf3,0x0f,0xa7,0xc8
+.byte 0xf3,0x0f,0xa7,0xc8
movq %r8,%rbx
movq 8(%rsp),%rdi
movq 16(%rsp),%rsi
movq %rdx,%rsi
movl %esi,%edx
-.byte 0x0f,0xa7,0xc0
+.byte 0x0f,0xa7,0xc0
movq 8(%rsp),%rdi
movq 16(%rsp),%rsi
.byte 0xf3,0xc3
movq %rsp,%rdi
movl %eax,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movl %eax,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movaps %xmm1,16(%rsp)
movaps %xmm2,32(%rsp)
movaps %xmm3,48(%rsp)
-.byte 0xf3,0x0f,0xa6,0xe0
+.byte 0xf3,0x0f,0xa6,0xe0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
movaps 32(%rsp),%xmm2
testq $15,%rsi
jz .Lecb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
movq %r8,%rdi
movq %r11,%rbx
testq $15,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lecb_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
testq %rbp,%rbp
jz .Lecb_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz .Lcbc_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lcbc_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
testq %rbp,%rbp
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz .Lcfb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lcfb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
.Lcfb_exit:
testq $15,%rsi
jz .Lofb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lofb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
.Lofb_exit:
testq $15,%rsi
jz .Lctr32_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
testl $4294901760,%eax
jnz .Lctr32_no_carry
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lctr32_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
bswapl %eax
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
testq %rbp,%rbp
jz .Lctr32_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
.L_init_clmul:
.LSEH_begin_gcm_init_clmul:
-.byte 0x48,0x83,0xec,0x18
-.byte 0x0f,0x29,0x34,0x24
+.byte 0x48,0x83,0xec,0x18
+.byte 0x0f,0x29,0x34,0x24
movdqu (%rdx),%xmm2
pshufd $78,%xmm2,%xmm2
leaq -136(%rsp),%rax
.LSEH_begin_gcm_ghash_clmul:
-.byte 0x48,0x8d,0x60,0xe0
-.byte 0x0f,0x29,0x70,0xe0
-.byte 0x0f,0x29,0x78,0xf0
-.byte 0x44,0x0f,0x29,0x00
-.byte 0x44,0x0f,0x29,0x48,0x10
-.byte 0x44,0x0f,0x29,0x50,0x20
-.byte 0x44,0x0f,0x29,0x58,0x30
-.byte 0x44,0x0f,0x29,0x60,0x40
-.byte 0x44,0x0f,0x29,0x68,0x50
-.byte 0x44,0x0f,0x29,0x70,0x60
-.byte 0x44,0x0f,0x29,0x78,0x70
+.byte 0x48,0x8d,0x60,0xe0
+.byte 0x0f,0x29,0x70,0xe0
+.byte 0x0f,0x29,0x78,0xf0
+.byte 0x44,0x0f,0x29,0x00
+.byte 0x44,0x0f,0x29,0x48,0x10
+.byte 0x44,0x0f,0x29,0x50,0x20
+.byte 0x44,0x0f,0x29,0x58,0x30
+.byte 0x44,0x0f,0x29,0x60,0x40
+.byte 0x44,0x0f,0x29,0x68,0x50
+.byte 0x44,0x0f,0x29,0x70,0x60
+.byte 0x44,0x0f,0x29,0x78,0x70
movdqa .Lbswap_mask(%rip),%xmm5
movq $11547335547999543296,%rax
movq 40(%r9),%rdi
movq %r8,%rsi
movl $154,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
movq %r9,%rsi
xorq %rcx,%rcx
.LSEH_info_gcm_gmult_4bit:
.byte 9,0,0,0
.rva se_handler
-.rva .Lgmult_prologue,.Lgmult_epilogue
+.rva .Lgmult_prologue,.Lgmult_epilogue
.LSEH_info_gcm_ghash_4bit:
.byte 9,0,0,0
.rva se_handler
-.rva .Lghash_prologue,.Lghash_epilogue
+.rva .Lghash_prologue,.Lghash_epilogue
.LSEH_info_gcm_init_clmul:
.byte 0x01,0x08,0x03,0x00
-.byte 0x08,0x68,0x00,0x00
-.byte 0x04,0x22,0x00,0x00
+.byte 0x08,0x68,0x00,0x00
+.byte 0x04,0x22,0x00,0x00
.LSEH_info_gcm_ghash_clmul:
.byte 0x01,0x33,0x16,0x00
-.byte 0x33,0xf8,0x09,0x00
-.byte 0x2e,0xe8,0x08,0x00
-.byte 0x29,0xd8,0x07,0x00
-.byte 0x24,0xc8,0x06,0x00
-.byte 0x1f,0xb8,0x05,0x00
-.byte 0x1a,0xa8,0x04,0x00
-.byte 0x15,0x98,0x03,0x00
-.byte 0x10,0x88,0x02,0x00
-.byte 0x0c,0x78,0x01,0x00
-.byte 0x08,0x68,0x00,0x00
-.byte 0x04,0x01,0x15,0x00
+.byte 0x33,0xf8,0x09,0x00
+.byte 0x2e,0xe8,0x08,0x00
+.byte 0x29,0xd8,0x07,0x00
+.byte 0x24,0xc8,0x06,0x00
+.byte 0x1f,0xb8,0x05,0x00
+.byte 0x1a,0xa8,0x04,0x00
+.byte 0x15,0x98,0x03,0x00
+.byte 0x10,0x88,0x02,0x00
+.byte 0x0c,0x78,0x01,0x00
+.byte 0x08,0x68,0x00,0x00
+.byte 0x04,0x01,0x15,0x00
.section .note.GNU-stack,"",%progbits
.LSEH_end_sha1_block_data_order_ssse3:
.p2align 6
K_XX_XX:
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,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
.p2align 6
leaq 64(%rax),%rsi
leaq 512(%r8),%rdi
movl $12,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
leaq 184(%rax),%rax
movq -8(%rax),%rbx
movq 40(%r9),%rdi
movq %r8,%rsi
movl $154,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
movq %r9,%rsi
xorq %rcx,%rcx
.LSEH_info_sha1_block_data_order_ssse3:
.byte 9,0,0,0
.rva ssse3_handler
-.rva .Lprologue_ssse3,.Lepilogue_ssse3
+.rva .Lprologue_ssse3,.Lepilogue_ssse3
.section .note.GNU-stack,"",%progbits
leaq .Lepilogue(%rip),%r10
cmpq %r10,%rbx
- jb .Lin_prologue
+ jb .Lin_prologue
leaq 64+32(%rsi),%rsi
leaq 512(%r8),%rdi
movl $8,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
.Lin_prologue:
movq 8(%rax),%rdi
movq 40(%r9),%rdi
movq %r8,%rsi
movl $154,%ecx
-.long 0xa548f3fc
+.long 0xa548f3fc
movq %r9,%rsi
xorq %rcx,%rcx
.LSEH_info_sha256_block_data_order:
.byte 9,0,0,0
.rva se_handler
-.rva .Lprologue,.Lepilogue
+.rva .Lprologue,.Lepilogue
.LSEH_info_sha256_block_data_order_ssse3:
.byte 9,0,0,0
.rva se_handler
-.rva .Lprologue_ssse3,.Lepilogue_ssse3
+.rva .Lprologue_ssse3,.Lepilogue_ssse3
.section .note.GNU-stack,"",%progbits
- call _vpaes_preheat
+ call _vpaes_preheat
movdqa .Lk_rcon(%rip),%xmm8
movdqu (%rdi),%xmm0
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
jmp .Loop_schedule_128
.align 16
.Lschedule_192:
movdqu 8(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqa %xmm0,%xmm6
pxor %xmm4,%xmm4
movhlps %xmm4,%xmm6
.Loop_schedule_192:
call _vpaes_schedule_round
.byte 102,15,58,15,198,8
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
jmp .Loop_schedule_192
.align 16
.Lschedule_256:
movdqu 16(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movl $7,%esi
.Loop_schedule_256:
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
movdqa %xmm0,%xmm6
call _vpaes_schedule_round
decq %rsi
jz .Lschedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
pshufd $255,%xmm0,%xmm0
.Lschedule_mangle_last_dec:
addq $-16,%rdx
pxor .Lk_s63(%rip),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqu %xmm0,(%rdx)
decl %eax
movups (%rdx),%xmm1
leaq 16(%rdx),%rdx
- jnz .Loop_enc1_1
+ jnz .Loop_enc1_1
.byte 102,15,56,221,209
movups %xmm2,(%rsi)
.byte 0xf3,0xc3
decl %eax
movups (%rdx),%xmm1
leaq 16(%rdx),%rdx
- jnz .Loop_dec1_2
+ jnz .Loop_dec1_2
.byte 102,15,56,223,209
movups %xmm2,(%rsi)
.byte 0xf3,0xc3
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_3
+ jnz .Loop_enc1_3
.byte 102,15,56,221,209
movups %xmm2,(%rsi)
jmp .Lecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_4
+ jnz .Loop_dec1_4
.byte 102,15,56,223,209
movups %xmm2,(%rsi)
jmp .Lecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_5
+ jnz .Loop_enc1_5
.byte 102,15,56,221,209
movups (%rdi),%xmm8
paddq %xmm6,%xmm9
decl %eax
movups (%r11),%xmm1
leaq 16(%r11),%r11
- jnz .Loop_enc1_6
+ jnz .Loop_enc1_6
.byte 102,15,56,221,217
movups %xmm3,(%r9)
.byte 0xf3,0xc3
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_7
+ jnz .Loop_enc1_7
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_enc1_8
+ jnz .Loop_enc1_8
.byte 102,68,15,56,221,249
movups (%rcx),%xmm0
movq %rcx,%r11
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_9
+ jnz .Loop_enc1_9
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_10
+ jnz .Loop_enc1_10
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,-16(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz .Loop_enc1_11
+ jnz .Loop_enc1_11
.byte 102,68,15,56,221,249
xorl %eax,%eax
testq $15,%rdx
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_12
+ jnz .Loop_dec1_12
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_13
+ jnz .Loop_dec1_13
.byte 102,15,56,223,209
xorps %xmm11,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_14
+ jnz .Loop_dec1_14
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_enc1_15
+ jnz .Loop_enc1_15
.byte 102,15,56,221,209
movl %r10d,%eax
movq %r11,%rcx
.Lcbc_enc_tail:
movq %rdx,%rcx
xchgq %rdi,%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
movl $16,%ecx
subq %rdx,%rcx
xorl %eax,%eax
-.long 0x9066AAF3
+.long 0x9066AAF3
leaq -16(%rdi),%rdi
movl %r10d,%eax
movq %rdi,%rsi
movq %r11,%rcx
xorq %rdx,%rdx
- jmp .Lcbc_enc_loop
+ jmp .Lcbc_enc_loop
.align 16
.Lcbc_decrypt:
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz .Loop_dec1_16
+ jnz .Loop_dec1_16
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movaps %xmm11,%xmm10
movq %rsi,%rdi
subq %rdx,%rcx
leaq (%rsp),%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
.Lcbc_dec_ret:
leaq (%rbp),%rsp
.type aesni_set_decrypt_key,@function
.align 16
aesni_set_decrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
call __aesni_set_encrypt_key
shll $4,%esi
testl %eax,%eax
.align 16
aesni_set_encrypt_key:
__aesni_set_encrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
movq $-1,%rax
testq %rdi,%rdi
jz .Lenc_key_ret
movq $1,%rcx
leaq 32(%rdx),%rbx
leaq 16(%rdx),%rdx
-.byte 0xf3,0x0f,0xa7,0xc8
+.byte 0xf3,0x0f,0xa7,0xc8
movq %r8,%rbx
.byte 0xf3,0xc3
.size padlock_aes_block,.-padlock_aes_block
.align 16
padlock_xstore:
movl %esi,%edx
-.byte 0x0f,0xa7,0xc0
+.byte 0x0f,0xa7,0xc0
.byte 0xf3,0xc3
.size padlock_xstore,.-padlock_xstore
movq %rsp,%rdi
movl %eax,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movl %eax,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movaps %xmm1,16(%rsp)
movaps %xmm2,32(%rsp)
movaps %xmm3,48(%rsp)
-.byte 0xf3,0x0f,0xa6,0xe0
+.byte 0xf3,0x0f,0xa6,0xe0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
movaps 32(%rsp),%xmm2
testq $15,%rsi
jz .Lecb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
movq %r8,%rdi
movq %r11,%rbx
testq $15,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lecb_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
testq %rbp,%rbp
jz .Lecb_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz .Lcbc_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lcbc_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
testq %rbp,%rbp
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz .Lcfb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lcfb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
.Lcfb_exit:
testq $15,%rsi
jz .Lofb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lofb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
.Lofb_exit:
testq $15,%rsi
jz .Lctr32_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
testl $4294901760,%eax
jnz .Lctr32_no_carry
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
.Lctr32_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
bswapl %eax
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
testq %rbp,%rbp
jz .Lctr32_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
.size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
.align 64
K_XX_XX:
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,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 64
- call _vpaes_preheat
+ call _vpaes_preheat
movdqa L$k_rcon(%rip),%xmm8
movdqu (%rdi),%xmm0
call _vpaes_schedule_round
decq %rsi
jz L$schedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
jmp L$oop_schedule_128
.p2align 4
L$schedule_192:
movdqu 8(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqa %xmm0,%xmm6
pxor %xmm4,%xmm4
movhlps %xmm4,%xmm6
L$oop_schedule_192:
call _vpaes_schedule_round
.byte 102,15,58,15,198,8
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_round
decq %rsi
jz L$schedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
call _vpaes_schedule_192_smear
jmp L$oop_schedule_192
.p2align 4
L$schedule_256:
movdqu 16(%rdi),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movl $7,%esi
L$oop_schedule_256:
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
movdqa %xmm0,%xmm6
call _vpaes_schedule_round
decq %rsi
jz L$schedule_mangle_last
- call _vpaes_schedule_mangle
+ call _vpaes_schedule_mangle
pshufd $255,%xmm0,%xmm0
L$schedule_mangle_last_dec:
addq $-16,%rdx
pxor L$k_s63(%rip),%xmm0
- call _vpaes_schedule_transform
+ call _vpaes_schedule_transform
movdqu %xmm0,(%rdx)
decl %eax
movups (%rdx),%xmm1
leaq 16(%rdx),%rdx
- jnz L$oop_enc1_1
+ jnz L$oop_enc1_1
.byte 102,15,56,221,209
movups %xmm2,(%rsi)
.byte 0xf3,0xc3
decl %eax
movups (%rdx),%xmm1
leaq 16(%rdx),%rdx
- jnz L$oop_dec1_2
+ jnz L$oop_dec1_2
.byte 102,15,56,223,209
movups %xmm2,(%rsi)
.byte 0xf3,0xc3
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_3
+ jnz L$oop_enc1_3
.byte 102,15,56,221,209
movups %xmm2,(%rsi)
jmp L$ecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_dec1_4
+ jnz L$oop_dec1_4
.byte 102,15,56,223,209
movups %xmm2,(%rsi)
jmp L$ecb_ret
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_5
+ jnz L$oop_enc1_5
.byte 102,15,56,221,209
movups (%rdi),%xmm8
paddq %xmm6,%xmm9
decl %eax
movups (%r11),%xmm1
leaq 16(%r11),%r11
- jnz L$oop_enc1_6
+ jnz L$oop_enc1_6
.byte 102,15,56,221,217
movups %xmm3,(%r9)
.byte 0xf3,0xc3
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_7
+ jnz L$oop_enc1_7
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz L$oop_enc1_8
+ jnz L$oop_enc1_8
.byte 102,68,15,56,221,249
movups (%rcx),%xmm0
movq %rcx,%r11
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_9
+ jnz L$oop_enc1_9
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_10
+ jnz L$oop_enc1_10
.byte 102,15,56,221,209
xorps %xmm10,%xmm2
movups %xmm2,-16(%rsi)
decl %eax
movups (%r8),%xmm1
leaq 16(%r8),%r8
- jnz L$oop_enc1_11
+ jnz L$oop_enc1_11
.byte 102,68,15,56,221,249
xorl %eax,%eax
testq $15,%rdx
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_dec1_12
+ jnz L$oop_dec1_12
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movdqa %xmm11,%xmm10
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_dec1_13
+ jnz L$oop_dec1_13
.byte 102,15,56,223,209
xorps %xmm11,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_dec1_14
+ jnz L$oop_dec1_14
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movups %xmm2,(%rsi)
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_enc1_15
+ jnz L$oop_enc1_15
.byte 102,15,56,221,209
movl %r10d,%eax
movq %r11,%rcx
L$cbc_enc_tail:
movq %rdx,%rcx
xchgq %rdi,%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
movl $16,%ecx
subq %rdx,%rcx
xorl %eax,%eax
-.long 0x9066AAF3
+.long 0x9066AAF3
leaq -16(%rdi),%rdi
movl %r10d,%eax
movq %rdi,%rsi
movq %r11,%rcx
xorq %rdx,%rdx
- jmp L$cbc_enc_loop
+ jmp L$cbc_enc_loop
.p2align 4
L$cbc_decrypt:
decl %eax
movups (%rcx),%xmm1
leaq 16(%rcx),%rcx
- jnz L$oop_dec1_16
+ jnz L$oop_dec1_16
.byte 102,15,56,223,209
xorps %xmm10,%xmm2
movaps %xmm11,%xmm10
movq %rsi,%rdi
subq %rdx,%rcx
leaq (%rsp),%rsi
-.long 0x9066A4F3
+.long 0x9066A4F3
L$cbc_dec_ret:
leaq (%rbp),%rsp
.p2align 4
_aesni_set_decrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
call __aesni_set_encrypt_key
shll $4,%esi
testl %eax,%eax
.p2align 4
_aesni_set_encrypt_key:
__aesni_set_encrypt_key:
-.byte 0x48,0x83,0xEC,0x08
+.byte 0x48,0x83,0xEC,0x08
movq $-1,%rax
testq %rdi,%rdi
jz L$enc_key_ret
movq $1,%rcx
leaq 32(%rdx),%rbx
leaq 16(%rdx),%rdx
-.byte 0xf3,0x0f,0xa7,0xc8
+.byte 0xf3,0x0f,0xa7,0xc8
movq %r8,%rbx
.byte 0xf3,0xc3
.p2align 4
_padlock_xstore:
movl %esi,%edx
-.byte 0x0f,0xa7,0xc0
+.byte 0x0f,0xa7,0xc0
.byte 0xf3,0xc3
movq %rsp,%rdi
movl %eax,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movl %eax,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xc8
+.byte 0xf3,0x0f,0xa6,0xc8
movaps (%rsp),%xmm0
movl 16(%rsp),%eax
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
xorq %rax,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movq %rsp,%rdi
movaps %xmm1,16(%rsp)
movq $-1,%rax
-.byte 0xf3,0x0f,0xa6,0xd0
+.byte 0xf3,0x0f,0xa6,0xd0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
addq $128+8,%rsp
movaps %xmm1,16(%rsp)
movaps %xmm2,32(%rsp)
movaps %xmm3,48(%rsp)
-.byte 0xf3,0x0f,0xa6,0xe0
+.byte 0xf3,0x0f,0xa6,0xe0
movaps (%rsp),%xmm0
movaps 16(%rsp),%xmm1
movaps 32(%rsp),%xmm2
testq $15,%rsi
jz L$ecb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
movq %r8,%rdi
movq %r11,%rbx
testq $15,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
L$ecb_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,200
+.byte 0xf3,0x0f,0xa7,200
testq %rbp,%rbp
jz L$ecb_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz L$cbc_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
L$cbc_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,208
+.byte 0xf3,0x0f,0xa7,208
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
testq %rbp,%rbp
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
testq $15,%rsi
jz L$cfb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
L$cfb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,224
+.byte 0xf3,0x0f,0xa7,224
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
L$cfb_exit:
testq $15,%rsi
jz L$ofb_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
movq %r8,%rdi
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
L$ofb_out_aligned:
movq %r9,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,232
+.byte 0xf3,0x0f,0xa7,232
movdqa (%rax),%xmm0
movdqa %xmm0,-16(%rdx)
L$ofb_exit:
testq $15,%rsi
jz L$ctr32_inp_aligned
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
movq %rbx,%rcx
movq %rdi,%rsi
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
testl $4294901760,%eax
jnz L$ctr32_no_carry
movq %rbx,%rcx
leaq (%rsp),%rsi
shrq $3,%rcx
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
subq %rbx,%rdi
L$ctr32_out_aligned:
movq %r9,%rsi
subq %rax,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
movq %rsp,%rsi
movq %r8,%rdi
movq %rbx,%rcx
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
movl -4(%rdx),%eax
bswapl %eax
leaq -16(%rdx),%rax
leaq 16(%rdx),%rbx
shrq $4,%rcx
-.byte 0xf3,0x0f,0xa7,216
+.byte 0xf3,0x0f,0xa7,216
testq %rbp,%rbp
jz L$ctr32_exit
subq %rcx,%rsp
shrq $3,%rcx
leaq (%rsp),%rdi
-.byte 0xf3,0x48,0xa5
+.byte 0xf3,0x48,0xa5
leaq (%r8),%rdi
leaq (%rsp),%rsi
movq %rbx,%rcx
.p2align 6
K_XX_XX:
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
-.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
+.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,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
.p2align 6