Home | History | Annotate | Line # | Download | only in i386
      1      1.1  christos #include <machine/asm.h>
      2      1.1  christos .text
      3      1.1  christos .globl	aesni_encrypt
      4      1.1  christos .type	aesni_encrypt,@function
      5      1.1  christos .align	16
      6      1.1  christos aesni_encrypt:
      7      1.1  christos .L_aesni_encrypt_begin:
      8      1.1  christos 	movl	4(%esp),%eax
      9      1.1  christos 	movl	12(%esp),%edx
     10      1.1  christos 	movups	(%eax),%xmm2
     11      1.1  christos 	movl	240(%edx),%ecx
     12      1.1  christos 	movl	8(%esp),%eax
     13      1.1  christos 	movups	(%edx),%xmm0
     14      1.1  christos 	movups	16(%edx),%xmm1
     15      1.1  christos 	leal	32(%edx),%edx
     16      1.1  christos 	xorps	%xmm0,%xmm2
     17      1.1  christos .L000enc1_loop_1:
     18      1.1  christos .byte	102,15,56,220,209
     19      1.1  christos 	decl	%ecx
     20      1.1  christos 	movups	(%edx),%xmm1
     21      1.1  christos 	leal	16(%edx),%edx
     22      1.1  christos 	jnz	.L000enc1_loop_1
     23      1.1  christos .byte	102,15,56,221,209
     24      1.1  christos 	pxor	%xmm0,%xmm0
     25      1.1  christos 	pxor	%xmm1,%xmm1
     26      1.1  christos 	movups	%xmm2,(%eax)
     27      1.1  christos 	pxor	%xmm2,%xmm2
     28      1.1  christos 	ret
     29      1.1  christos .size	aesni_encrypt,.-.L_aesni_encrypt_begin
     30      1.1  christos .globl	aesni_decrypt
     31      1.1  christos .type	aesni_decrypt,@function
     32      1.1  christos .align	16
     33      1.1  christos aesni_decrypt:
     34      1.1  christos .L_aesni_decrypt_begin:
     35      1.1  christos 	movl	4(%esp),%eax
     36      1.1  christos 	movl	12(%esp),%edx
     37      1.1  christos 	movups	(%eax),%xmm2
     38      1.1  christos 	movl	240(%edx),%ecx
     39      1.1  christos 	movl	8(%esp),%eax
     40      1.1  christos 	movups	(%edx),%xmm0
     41      1.1  christos 	movups	16(%edx),%xmm1
     42      1.1  christos 	leal	32(%edx),%edx
     43      1.1  christos 	xorps	%xmm0,%xmm2
     44      1.1  christos .L001dec1_loop_2:
     45      1.1  christos .byte	102,15,56,222,209
     46      1.1  christos 	decl	%ecx
     47      1.1  christos 	movups	(%edx),%xmm1
     48      1.1  christos 	leal	16(%edx),%edx
     49      1.1  christos 	jnz	.L001dec1_loop_2
     50      1.1  christos .byte	102,15,56,223,209
     51      1.1  christos 	pxor	%xmm0,%xmm0
     52      1.1  christos 	pxor	%xmm1,%xmm1
     53      1.1  christos 	movups	%xmm2,(%eax)
     54      1.1  christos 	pxor	%xmm2,%xmm2
     55      1.1  christos 	ret
     56      1.1  christos .size	aesni_decrypt,.-.L_aesni_decrypt_begin
     57      1.1  christos .type	_aesni_encrypt2,@function
     58      1.1  christos .align	16
     59      1.1  christos _aesni_encrypt2:
     60      1.1  christos 	movups	(%edx),%xmm0
     61      1.1  christos 	shll	$4,%ecx
     62      1.1  christos 	movups	16(%edx),%xmm1
     63      1.1  christos 	xorps	%xmm0,%xmm2
     64      1.1  christos 	pxor	%xmm0,%xmm3
     65      1.1  christos 	movups	32(%edx),%xmm0
     66      1.1  christos 	leal	32(%edx,%ecx,1),%edx
     67      1.1  christos 	negl	%ecx
     68      1.1  christos 	addl	$16,%ecx
     69      1.1  christos .L002enc2_loop:
     70      1.1  christos .byte	102,15,56,220,209
     71      1.1  christos .byte	102,15,56,220,217
     72      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
     73      1.1  christos 	addl	$32,%ecx
     74      1.1  christos .byte	102,15,56,220,208
     75      1.1  christos .byte	102,15,56,220,216
     76      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
     77      1.1  christos 	jnz	.L002enc2_loop
     78      1.1  christos .byte	102,15,56,220,209
     79      1.1  christos .byte	102,15,56,220,217
     80      1.1  christos .byte	102,15,56,221,208
     81      1.1  christos .byte	102,15,56,221,216
     82      1.1  christos 	ret
     83      1.1  christos .size	_aesni_encrypt2,.-_aesni_encrypt2
     84      1.1  christos .type	_aesni_decrypt2,@function
     85      1.1  christos .align	16
     86      1.1  christos _aesni_decrypt2:
     87      1.1  christos 	movups	(%edx),%xmm0
     88      1.1  christos 	shll	$4,%ecx
     89      1.1  christos 	movups	16(%edx),%xmm1
     90      1.1  christos 	xorps	%xmm0,%xmm2
     91      1.1  christos 	pxor	%xmm0,%xmm3
     92      1.1  christos 	movups	32(%edx),%xmm0
     93      1.1  christos 	leal	32(%edx,%ecx,1),%edx
     94      1.1  christos 	negl	%ecx
     95      1.1  christos 	addl	$16,%ecx
     96      1.1  christos .L003dec2_loop:
     97      1.1  christos .byte	102,15,56,222,209
     98      1.1  christos .byte	102,15,56,222,217
     99      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    100      1.1  christos 	addl	$32,%ecx
    101      1.1  christos .byte	102,15,56,222,208
    102      1.1  christos .byte	102,15,56,222,216
    103      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    104      1.1  christos 	jnz	.L003dec2_loop
    105      1.1  christos .byte	102,15,56,222,209
    106      1.1  christos .byte	102,15,56,222,217
    107      1.1  christos .byte	102,15,56,223,208
    108      1.1  christos .byte	102,15,56,223,216
    109      1.1  christos 	ret
    110      1.1  christos .size	_aesni_decrypt2,.-_aesni_decrypt2
    111      1.1  christos .type	_aesni_encrypt3,@function
    112      1.1  christos .align	16
    113      1.1  christos _aesni_encrypt3:
    114      1.1  christos 	movups	(%edx),%xmm0
    115      1.1  christos 	shll	$4,%ecx
    116      1.1  christos 	movups	16(%edx),%xmm1
    117      1.1  christos 	xorps	%xmm0,%xmm2
    118      1.1  christos 	pxor	%xmm0,%xmm3
    119      1.1  christos 	pxor	%xmm0,%xmm4
    120      1.1  christos 	movups	32(%edx),%xmm0
    121      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    122      1.1  christos 	negl	%ecx
    123      1.1  christos 	addl	$16,%ecx
    124      1.1  christos .L004enc3_loop:
    125      1.1  christos .byte	102,15,56,220,209
    126      1.1  christos .byte	102,15,56,220,217
    127      1.1  christos .byte	102,15,56,220,225
    128      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    129      1.1  christos 	addl	$32,%ecx
    130      1.1  christos .byte	102,15,56,220,208
    131      1.1  christos .byte	102,15,56,220,216
    132      1.1  christos .byte	102,15,56,220,224
    133      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    134      1.1  christos 	jnz	.L004enc3_loop
    135      1.1  christos .byte	102,15,56,220,209
    136      1.1  christos .byte	102,15,56,220,217
    137      1.1  christos .byte	102,15,56,220,225
    138      1.1  christos .byte	102,15,56,221,208
    139      1.1  christos .byte	102,15,56,221,216
    140      1.1  christos .byte	102,15,56,221,224
    141      1.1  christos 	ret
    142      1.1  christos .size	_aesni_encrypt3,.-_aesni_encrypt3
    143      1.1  christos .type	_aesni_decrypt3,@function
    144      1.1  christos .align	16
    145      1.1  christos _aesni_decrypt3:
    146      1.1  christos 	movups	(%edx),%xmm0
    147      1.1  christos 	shll	$4,%ecx
    148      1.1  christos 	movups	16(%edx),%xmm1
    149      1.1  christos 	xorps	%xmm0,%xmm2
    150      1.1  christos 	pxor	%xmm0,%xmm3
    151      1.1  christos 	pxor	%xmm0,%xmm4
    152      1.1  christos 	movups	32(%edx),%xmm0
    153      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    154      1.1  christos 	negl	%ecx
    155      1.1  christos 	addl	$16,%ecx
    156      1.1  christos .L005dec3_loop:
    157      1.1  christos .byte	102,15,56,222,209
    158      1.1  christos .byte	102,15,56,222,217
    159      1.1  christos .byte	102,15,56,222,225
    160      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    161      1.1  christos 	addl	$32,%ecx
    162      1.1  christos .byte	102,15,56,222,208
    163      1.1  christos .byte	102,15,56,222,216
    164      1.1  christos .byte	102,15,56,222,224
    165      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    166      1.1  christos 	jnz	.L005dec3_loop
    167      1.1  christos .byte	102,15,56,222,209
    168      1.1  christos .byte	102,15,56,222,217
    169      1.1  christos .byte	102,15,56,222,225
    170      1.1  christos .byte	102,15,56,223,208
    171      1.1  christos .byte	102,15,56,223,216
    172      1.1  christos .byte	102,15,56,223,224
    173      1.1  christos 	ret
    174      1.1  christos .size	_aesni_decrypt3,.-_aesni_decrypt3
    175      1.1  christos .type	_aesni_encrypt4,@function
    176      1.1  christos .align	16
    177      1.1  christos _aesni_encrypt4:
    178      1.1  christos 	movups	(%edx),%xmm0
    179      1.1  christos 	movups	16(%edx),%xmm1
    180      1.1  christos 	shll	$4,%ecx
    181      1.1  christos 	xorps	%xmm0,%xmm2
    182      1.1  christos 	pxor	%xmm0,%xmm3
    183      1.1  christos 	pxor	%xmm0,%xmm4
    184      1.1  christos 	pxor	%xmm0,%xmm5
    185      1.1  christos 	movups	32(%edx),%xmm0
    186      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    187      1.1  christos 	negl	%ecx
    188      1.1  christos .byte	15,31,64,0
    189      1.1  christos 	addl	$16,%ecx
    190      1.1  christos .L006enc4_loop:
    191      1.1  christos .byte	102,15,56,220,209
    192      1.1  christos .byte	102,15,56,220,217
    193      1.1  christos .byte	102,15,56,220,225
    194      1.1  christos .byte	102,15,56,220,233
    195      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    196      1.1  christos 	addl	$32,%ecx
    197      1.1  christos .byte	102,15,56,220,208
    198      1.1  christos .byte	102,15,56,220,216
    199      1.1  christos .byte	102,15,56,220,224
    200      1.1  christos .byte	102,15,56,220,232
    201      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    202      1.1  christos 	jnz	.L006enc4_loop
    203      1.1  christos .byte	102,15,56,220,209
    204      1.1  christos .byte	102,15,56,220,217
    205      1.1  christos .byte	102,15,56,220,225
    206      1.1  christos .byte	102,15,56,220,233
    207      1.1  christos .byte	102,15,56,221,208
    208      1.1  christos .byte	102,15,56,221,216
    209      1.1  christos .byte	102,15,56,221,224
    210      1.1  christos .byte	102,15,56,221,232
    211      1.1  christos 	ret
    212      1.1  christos .size	_aesni_encrypt4,.-_aesni_encrypt4
    213      1.1  christos .type	_aesni_decrypt4,@function
    214      1.1  christos .align	16
    215      1.1  christos _aesni_decrypt4:
    216      1.1  christos 	movups	(%edx),%xmm0
    217      1.1  christos 	movups	16(%edx),%xmm1
    218      1.1  christos 	shll	$4,%ecx
    219      1.1  christos 	xorps	%xmm0,%xmm2
    220      1.1  christos 	pxor	%xmm0,%xmm3
    221      1.1  christos 	pxor	%xmm0,%xmm4
    222      1.1  christos 	pxor	%xmm0,%xmm5
    223      1.1  christos 	movups	32(%edx),%xmm0
    224      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    225      1.1  christos 	negl	%ecx
    226      1.1  christos .byte	15,31,64,0
    227      1.1  christos 	addl	$16,%ecx
    228      1.1  christos .L007dec4_loop:
    229      1.1  christos .byte	102,15,56,222,209
    230      1.1  christos .byte	102,15,56,222,217
    231      1.1  christos .byte	102,15,56,222,225
    232      1.1  christos .byte	102,15,56,222,233
    233      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    234      1.1  christos 	addl	$32,%ecx
    235      1.1  christos .byte	102,15,56,222,208
    236      1.1  christos .byte	102,15,56,222,216
    237      1.1  christos .byte	102,15,56,222,224
    238      1.1  christos .byte	102,15,56,222,232
    239      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    240      1.1  christos 	jnz	.L007dec4_loop
    241      1.1  christos .byte	102,15,56,222,209
    242      1.1  christos .byte	102,15,56,222,217
    243      1.1  christos .byte	102,15,56,222,225
    244      1.1  christos .byte	102,15,56,222,233
    245      1.1  christos .byte	102,15,56,223,208
    246      1.1  christos .byte	102,15,56,223,216
    247      1.1  christos .byte	102,15,56,223,224
    248      1.1  christos .byte	102,15,56,223,232
    249      1.1  christos 	ret
    250      1.1  christos .size	_aesni_decrypt4,.-_aesni_decrypt4
    251      1.1  christos .type	_aesni_encrypt6,@function
    252      1.1  christos .align	16
    253      1.1  christos _aesni_encrypt6:
    254      1.1  christos 	movups	(%edx),%xmm0
    255      1.1  christos 	shll	$4,%ecx
    256      1.1  christos 	movups	16(%edx),%xmm1
    257      1.1  christos 	xorps	%xmm0,%xmm2
    258      1.1  christos 	pxor	%xmm0,%xmm3
    259      1.1  christos 	pxor	%xmm0,%xmm4
    260      1.1  christos .byte	102,15,56,220,209
    261      1.1  christos 	pxor	%xmm0,%xmm5
    262      1.1  christos 	pxor	%xmm0,%xmm6
    263      1.1  christos .byte	102,15,56,220,217
    264      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    265      1.1  christos 	negl	%ecx
    266      1.1  christos .byte	102,15,56,220,225
    267      1.1  christos 	pxor	%xmm0,%xmm7
    268      1.1  christos 	movups	(%edx,%ecx,1),%xmm0
    269      1.1  christos 	addl	$16,%ecx
    270      1.1  christos 	jmp	.L008_aesni_encrypt6_inner
    271      1.1  christos .align	16
    272      1.1  christos .L009enc6_loop:
    273      1.1  christos .byte	102,15,56,220,209
    274      1.1  christos .byte	102,15,56,220,217
    275      1.1  christos .byte	102,15,56,220,225
    276      1.1  christos .L008_aesni_encrypt6_inner:
    277      1.1  christos .byte	102,15,56,220,233
    278      1.1  christos .byte	102,15,56,220,241
    279      1.1  christos .byte	102,15,56,220,249
    280      1.1  christos .L_aesni_encrypt6_enter:
    281      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    282      1.1  christos 	addl	$32,%ecx
    283      1.1  christos .byte	102,15,56,220,208
    284      1.1  christos .byte	102,15,56,220,216
    285      1.1  christos .byte	102,15,56,220,224
    286      1.1  christos .byte	102,15,56,220,232
    287      1.1  christos .byte	102,15,56,220,240
    288      1.1  christos .byte	102,15,56,220,248
    289      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    290      1.1  christos 	jnz	.L009enc6_loop
    291      1.1  christos .byte	102,15,56,220,209
    292      1.1  christos .byte	102,15,56,220,217
    293      1.1  christos .byte	102,15,56,220,225
    294      1.1  christos .byte	102,15,56,220,233
    295      1.1  christos .byte	102,15,56,220,241
    296      1.1  christos .byte	102,15,56,220,249
    297      1.1  christos .byte	102,15,56,221,208
    298      1.1  christos .byte	102,15,56,221,216
    299      1.1  christos .byte	102,15,56,221,224
    300      1.1  christos .byte	102,15,56,221,232
    301      1.1  christos .byte	102,15,56,221,240
    302      1.1  christos .byte	102,15,56,221,248
    303      1.1  christos 	ret
    304      1.1  christos .size	_aesni_encrypt6,.-_aesni_encrypt6
    305      1.1  christos .type	_aesni_decrypt6,@function
    306      1.1  christos .align	16
    307      1.1  christos _aesni_decrypt6:
    308      1.1  christos 	movups	(%edx),%xmm0
    309      1.1  christos 	shll	$4,%ecx
    310      1.1  christos 	movups	16(%edx),%xmm1
    311      1.1  christos 	xorps	%xmm0,%xmm2
    312      1.1  christos 	pxor	%xmm0,%xmm3
    313      1.1  christos 	pxor	%xmm0,%xmm4
    314      1.1  christos .byte	102,15,56,222,209
    315      1.1  christos 	pxor	%xmm0,%xmm5
    316      1.1  christos 	pxor	%xmm0,%xmm6
    317      1.1  christos .byte	102,15,56,222,217
    318      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    319      1.1  christos 	negl	%ecx
    320      1.1  christos .byte	102,15,56,222,225
    321      1.1  christos 	pxor	%xmm0,%xmm7
    322      1.1  christos 	movups	(%edx,%ecx,1),%xmm0
    323      1.1  christos 	addl	$16,%ecx
    324      1.1  christos 	jmp	.L010_aesni_decrypt6_inner
    325      1.1  christos .align	16
    326      1.1  christos .L011dec6_loop:
    327      1.1  christos .byte	102,15,56,222,209
    328      1.1  christos .byte	102,15,56,222,217
    329      1.1  christos .byte	102,15,56,222,225
    330      1.1  christos .L010_aesni_decrypt6_inner:
    331      1.1  christos .byte	102,15,56,222,233
    332      1.1  christos .byte	102,15,56,222,241
    333      1.1  christos .byte	102,15,56,222,249
    334      1.1  christos .L_aesni_decrypt6_enter:
    335      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    336      1.1  christos 	addl	$32,%ecx
    337      1.1  christos .byte	102,15,56,222,208
    338      1.1  christos .byte	102,15,56,222,216
    339      1.1  christos .byte	102,15,56,222,224
    340      1.1  christos .byte	102,15,56,222,232
    341      1.1  christos .byte	102,15,56,222,240
    342      1.1  christos .byte	102,15,56,222,248
    343      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    344      1.1  christos 	jnz	.L011dec6_loop
    345      1.1  christos .byte	102,15,56,222,209
    346      1.1  christos .byte	102,15,56,222,217
    347      1.1  christos .byte	102,15,56,222,225
    348      1.1  christos .byte	102,15,56,222,233
    349      1.1  christos .byte	102,15,56,222,241
    350      1.1  christos .byte	102,15,56,222,249
    351      1.1  christos .byte	102,15,56,223,208
    352      1.1  christos .byte	102,15,56,223,216
    353      1.1  christos .byte	102,15,56,223,224
    354      1.1  christos .byte	102,15,56,223,232
    355      1.1  christos .byte	102,15,56,223,240
    356      1.1  christos .byte	102,15,56,223,248
    357      1.1  christos 	ret
    358      1.1  christos .size	_aesni_decrypt6,.-_aesni_decrypt6
    359      1.1  christos .globl	aesni_ecb_encrypt
    360      1.1  christos .type	aesni_ecb_encrypt,@function
    361      1.1  christos .align	16
    362      1.1  christos aesni_ecb_encrypt:
    363      1.1  christos .L_aesni_ecb_encrypt_begin:
    364      1.1  christos 	pushl	%ebp
    365      1.1  christos 	pushl	%ebx
    366      1.1  christos 	pushl	%esi
    367      1.1  christos 	pushl	%edi
    368      1.1  christos 	movl	20(%esp),%esi
    369      1.1  christos 	movl	24(%esp),%edi
    370      1.1  christos 	movl	28(%esp),%eax
    371      1.1  christos 	movl	32(%esp),%edx
    372      1.1  christos 	movl	36(%esp),%ebx
    373      1.1  christos 	andl	$-16,%eax
    374      1.1  christos 	jz	.L012ecb_ret
    375      1.1  christos 	movl	240(%edx),%ecx
    376      1.1  christos 	testl	%ebx,%ebx
    377      1.1  christos 	jz	.L013ecb_decrypt
    378      1.1  christos 	movl	%edx,%ebp
    379      1.1  christos 	movl	%ecx,%ebx
    380      1.1  christos 	cmpl	$96,%eax
    381      1.1  christos 	jb	.L014ecb_enc_tail
    382      1.1  christos 	movdqu	(%esi),%xmm2
    383      1.1  christos 	movdqu	16(%esi),%xmm3
    384      1.1  christos 	movdqu	32(%esi),%xmm4
    385      1.1  christos 	movdqu	48(%esi),%xmm5
    386      1.1  christos 	movdqu	64(%esi),%xmm6
    387      1.1  christos 	movdqu	80(%esi),%xmm7
    388      1.1  christos 	leal	96(%esi),%esi
    389      1.1  christos 	subl	$96,%eax
    390      1.1  christos 	jmp	.L015ecb_enc_loop6_enter
    391      1.1  christos .align	16
    392      1.1  christos .L016ecb_enc_loop6:
    393      1.1  christos 	movups	%xmm2,(%edi)
    394      1.1  christos 	movdqu	(%esi),%xmm2
    395      1.1  christos 	movups	%xmm3,16(%edi)
    396      1.1  christos 	movdqu	16(%esi),%xmm3
    397      1.1  christos 	movups	%xmm4,32(%edi)
    398      1.1  christos 	movdqu	32(%esi),%xmm4
    399      1.1  christos 	movups	%xmm5,48(%edi)
    400      1.1  christos 	movdqu	48(%esi),%xmm5
    401      1.1  christos 	movups	%xmm6,64(%edi)
    402      1.1  christos 	movdqu	64(%esi),%xmm6
    403      1.1  christos 	movups	%xmm7,80(%edi)
    404      1.1  christos 	leal	96(%edi),%edi
    405      1.1  christos 	movdqu	80(%esi),%xmm7
    406      1.1  christos 	leal	96(%esi),%esi
    407      1.1  christos .L015ecb_enc_loop6_enter:
    408      1.1  christos 	call	_aesni_encrypt6
    409      1.1  christos 	movl	%ebp,%edx
    410      1.1  christos 	movl	%ebx,%ecx
    411      1.1  christos 	subl	$96,%eax
    412      1.1  christos 	jnc	.L016ecb_enc_loop6
    413      1.1  christos 	movups	%xmm2,(%edi)
    414      1.1  christos 	movups	%xmm3,16(%edi)
    415      1.1  christos 	movups	%xmm4,32(%edi)
    416      1.1  christos 	movups	%xmm5,48(%edi)
    417      1.1  christos 	movups	%xmm6,64(%edi)
    418      1.1  christos 	movups	%xmm7,80(%edi)
    419      1.1  christos 	leal	96(%edi),%edi
    420      1.1  christos 	addl	$96,%eax
    421      1.1  christos 	jz	.L012ecb_ret
    422      1.1  christos .L014ecb_enc_tail:
    423      1.1  christos 	movups	(%esi),%xmm2
    424      1.1  christos 	cmpl	$32,%eax
    425      1.1  christos 	jb	.L017ecb_enc_one
    426      1.1  christos 	movups	16(%esi),%xmm3
    427      1.1  christos 	je	.L018ecb_enc_two
    428      1.1  christos 	movups	32(%esi),%xmm4
    429      1.1  christos 	cmpl	$64,%eax
    430      1.1  christos 	jb	.L019ecb_enc_three
    431      1.1  christos 	movups	48(%esi),%xmm5
    432      1.1  christos 	je	.L020ecb_enc_four
    433      1.1  christos 	movups	64(%esi),%xmm6
    434      1.1  christos 	xorps	%xmm7,%xmm7
    435      1.1  christos 	call	_aesni_encrypt6
    436      1.1  christos 	movups	%xmm2,(%edi)
    437      1.1  christos 	movups	%xmm3,16(%edi)
    438      1.1  christos 	movups	%xmm4,32(%edi)
    439      1.1  christos 	movups	%xmm5,48(%edi)
    440      1.1  christos 	movups	%xmm6,64(%edi)
    441      1.1  christos 	jmp	.L012ecb_ret
    442      1.1  christos .align	16
    443      1.1  christos .L017ecb_enc_one:
    444      1.1  christos 	movups	(%edx),%xmm0
    445      1.1  christos 	movups	16(%edx),%xmm1
    446      1.1  christos 	leal	32(%edx),%edx
    447      1.1  christos 	xorps	%xmm0,%xmm2
    448      1.1  christos .L021enc1_loop_3:
    449      1.1  christos .byte	102,15,56,220,209
    450      1.1  christos 	decl	%ecx
    451      1.1  christos 	movups	(%edx),%xmm1
    452      1.1  christos 	leal	16(%edx),%edx
    453      1.1  christos 	jnz	.L021enc1_loop_3
    454      1.1  christos .byte	102,15,56,221,209
    455      1.1  christos 	movups	%xmm2,(%edi)
    456      1.1  christos 	jmp	.L012ecb_ret
    457      1.1  christos .align	16
    458      1.1  christos .L018ecb_enc_two:
    459      1.1  christos 	call	_aesni_encrypt2
    460      1.1  christos 	movups	%xmm2,(%edi)
    461      1.1  christos 	movups	%xmm3,16(%edi)
    462      1.1  christos 	jmp	.L012ecb_ret
    463      1.1  christos .align	16
    464      1.1  christos .L019ecb_enc_three:
    465      1.1  christos 	call	_aesni_encrypt3
    466      1.1  christos 	movups	%xmm2,(%edi)
    467      1.1  christos 	movups	%xmm3,16(%edi)
    468      1.1  christos 	movups	%xmm4,32(%edi)
    469      1.1  christos 	jmp	.L012ecb_ret
    470      1.1  christos .align	16
    471      1.1  christos .L020ecb_enc_four:
    472      1.1  christos 	call	_aesni_encrypt4
    473      1.1  christos 	movups	%xmm2,(%edi)
    474      1.1  christos 	movups	%xmm3,16(%edi)
    475      1.1  christos 	movups	%xmm4,32(%edi)
    476      1.1  christos 	movups	%xmm5,48(%edi)
    477      1.1  christos 	jmp	.L012ecb_ret
    478      1.1  christos .align	16
    479      1.1  christos .L013ecb_decrypt:
    480      1.1  christos 	movl	%edx,%ebp
    481      1.1  christos 	movl	%ecx,%ebx
    482      1.1  christos 	cmpl	$96,%eax
    483      1.1  christos 	jb	.L022ecb_dec_tail
    484      1.1  christos 	movdqu	(%esi),%xmm2
    485      1.1  christos 	movdqu	16(%esi),%xmm3
    486      1.1  christos 	movdqu	32(%esi),%xmm4
    487      1.1  christos 	movdqu	48(%esi),%xmm5
    488      1.1  christos 	movdqu	64(%esi),%xmm6
    489      1.1  christos 	movdqu	80(%esi),%xmm7
    490      1.1  christos 	leal	96(%esi),%esi
    491      1.1  christos 	subl	$96,%eax
    492      1.1  christos 	jmp	.L023ecb_dec_loop6_enter
    493      1.1  christos .align	16
    494      1.1  christos .L024ecb_dec_loop6:
    495      1.1  christos 	movups	%xmm2,(%edi)
    496      1.1  christos 	movdqu	(%esi),%xmm2
    497      1.1  christos 	movups	%xmm3,16(%edi)
    498      1.1  christos 	movdqu	16(%esi),%xmm3
    499      1.1  christos 	movups	%xmm4,32(%edi)
    500      1.1  christos 	movdqu	32(%esi),%xmm4
    501      1.1  christos 	movups	%xmm5,48(%edi)
    502      1.1  christos 	movdqu	48(%esi),%xmm5
    503      1.1  christos 	movups	%xmm6,64(%edi)
    504      1.1  christos 	movdqu	64(%esi),%xmm6
    505      1.1  christos 	movups	%xmm7,80(%edi)
    506      1.1  christos 	leal	96(%edi),%edi
    507      1.1  christos 	movdqu	80(%esi),%xmm7
    508      1.1  christos 	leal	96(%esi),%esi
    509      1.1  christos .L023ecb_dec_loop6_enter:
    510      1.1  christos 	call	_aesni_decrypt6
    511      1.1  christos 	movl	%ebp,%edx
    512      1.1  christos 	movl	%ebx,%ecx
    513      1.1  christos 	subl	$96,%eax
    514      1.1  christos 	jnc	.L024ecb_dec_loop6
    515      1.1  christos 	movups	%xmm2,(%edi)
    516      1.1  christos 	movups	%xmm3,16(%edi)
    517      1.1  christos 	movups	%xmm4,32(%edi)
    518      1.1  christos 	movups	%xmm5,48(%edi)
    519      1.1  christos 	movups	%xmm6,64(%edi)
    520      1.1  christos 	movups	%xmm7,80(%edi)
    521      1.1  christos 	leal	96(%edi),%edi
    522      1.1  christos 	addl	$96,%eax
    523      1.1  christos 	jz	.L012ecb_ret
    524      1.1  christos .L022ecb_dec_tail:
    525      1.1  christos 	movups	(%esi),%xmm2
    526      1.1  christos 	cmpl	$32,%eax
    527      1.1  christos 	jb	.L025ecb_dec_one
    528      1.1  christos 	movups	16(%esi),%xmm3
    529      1.1  christos 	je	.L026ecb_dec_two
    530      1.1  christos 	movups	32(%esi),%xmm4
    531      1.1  christos 	cmpl	$64,%eax
    532      1.1  christos 	jb	.L027ecb_dec_three
    533      1.1  christos 	movups	48(%esi),%xmm5
    534      1.1  christos 	je	.L028ecb_dec_four
    535      1.1  christos 	movups	64(%esi),%xmm6
    536      1.1  christos 	xorps	%xmm7,%xmm7
    537      1.1  christos 	call	_aesni_decrypt6
    538      1.1  christos 	movups	%xmm2,(%edi)
    539      1.1  christos 	movups	%xmm3,16(%edi)
    540      1.1  christos 	movups	%xmm4,32(%edi)
    541      1.1  christos 	movups	%xmm5,48(%edi)
    542      1.1  christos 	movups	%xmm6,64(%edi)
    543      1.1  christos 	jmp	.L012ecb_ret
    544      1.1  christos .align	16
    545      1.1  christos .L025ecb_dec_one:
    546      1.1  christos 	movups	(%edx),%xmm0
    547      1.1  christos 	movups	16(%edx),%xmm1
    548      1.1  christos 	leal	32(%edx),%edx
    549      1.1  christos 	xorps	%xmm0,%xmm2
    550      1.1  christos .L029dec1_loop_4:
    551      1.1  christos .byte	102,15,56,222,209
    552      1.1  christos 	decl	%ecx
    553      1.1  christos 	movups	(%edx),%xmm1
    554      1.1  christos 	leal	16(%edx),%edx
    555      1.1  christos 	jnz	.L029dec1_loop_4
    556      1.1  christos .byte	102,15,56,223,209
    557      1.1  christos 	movups	%xmm2,(%edi)
    558      1.1  christos 	jmp	.L012ecb_ret
    559      1.1  christos .align	16
    560      1.1  christos .L026ecb_dec_two:
    561      1.1  christos 	call	_aesni_decrypt2
    562      1.1  christos 	movups	%xmm2,(%edi)
    563      1.1  christos 	movups	%xmm3,16(%edi)
    564      1.1  christos 	jmp	.L012ecb_ret
    565      1.1  christos .align	16
    566      1.1  christos .L027ecb_dec_three:
    567      1.1  christos 	call	_aesni_decrypt3
    568      1.1  christos 	movups	%xmm2,(%edi)
    569      1.1  christos 	movups	%xmm3,16(%edi)
    570      1.1  christos 	movups	%xmm4,32(%edi)
    571      1.1  christos 	jmp	.L012ecb_ret
    572      1.1  christos .align	16
    573      1.1  christos .L028ecb_dec_four:
    574      1.1  christos 	call	_aesni_decrypt4
    575      1.1  christos 	movups	%xmm2,(%edi)
    576      1.1  christos 	movups	%xmm3,16(%edi)
    577      1.1  christos 	movups	%xmm4,32(%edi)
    578      1.1  christos 	movups	%xmm5,48(%edi)
    579      1.1  christos .L012ecb_ret:
    580      1.1  christos 	pxor	%xmm0,%xmm0
    581      1.1  christos 	pxor	%xmm1,%xmm1
    582      1.1  christos 	pxor	%xmm2,%xmm2
    583      1.1  christos 	pxor	%xmm3,%xmm3
    584      1.1  christos 	pxor	%xmm4,%xmm4
    585      1.1  christos 	pxor	%xmm5,%xmm5
    586      1.1  christos 	pxor	%xmm6,%xmm6
    587      1.1  christos 	pxor	%xmm7,%xmm7
    588      1.1  christos 	popl	%edi
    589      1.1  christos 	popl	%esi
    590      1.1  christos 	popl	%ebx
    591      1.1  christos 	popl	%ebp
    592      1.1  christos 	ret
    593      1.1  christos .size	aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
    594      1.1  christos .globl	aesni_ccm64_encrypt_blocks
    595      1.1  christos .type	aesni_ccm64_encrypt_blocks,@function
    596      1.1  christos .align	16
    597      1.1  christos aesni_ccm64_encrypt_blocks:
    598      1.1  christos .L_aesni_ccm64_encrypt_blocks_begin:
    599      1.1  christos 	pushl	%ebp
    600      1.1  christos 	pushl	%ebx
    601      1.1  christos 	pushl	%esi
    602      1.1  christos 	pushl	%edi
    603      1.1  christos 	movl	20(%esp),%esi
    604      1.1  christos 	movl	24(%esp),%edi
    605      1.1  christos 	movl	28(%esp),%eax
    606      1.1  christos 	movl	32(%esp),%edx
    607      1.1  christos 	movl	36(%esp),%ebx
    608      1.1  christos 	movl	40(%esp),%ecx
    609      1.1  christos 	movl	%esp,%ebp
    610      1.1  christos 	subl	$60,%esp
    611      1.1  christos 	andl	$-16,%esp
    612      1.1  christos 	movl	%ebp,48(%esp)
    613      1.1  christos 	movdqu	(%ebx),%xmm7
    614      1.1  christos 	movdqu	(%ecx),%xmm3
    615      1.1  christos 	movl	240(%edx),%ecx
    616      1.1  christos 	movl	$202182159,(%esp)
    617      1.1  christos 	movl	$134810123,4(%esp)
    618      1.1  christos 	movl	$67438087,8(%esp)
    619      1.1  christos 	movl	$66051,12(%esp)
    620      1.1  christos 	movl	$1,%ebx
    621      1.1  christos 	xorl	%ebp,%ebp
    622      1.1  christos 	movl	%ebx,16(%esp)
    623      1.1  christos 	movl	%ebp,20(%esp)
    624      1.1  christos 	movl	%ebp,24(%esp)
    625      1.1  christos 	movl	%ebp,28(%esp)
    626      1.1  christos 	shll	$4,%ecx
    627      1.1  christos 	movl	$16,%ebx
    628      1.1  christos 	leal	(%edx),%ebp
    629      1.1  christos 	movdqa	(%esp),%xmm5
    630      1.1  christos 	movdqa	%xmm7,%xmm2
    631      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    632      1.1  christos 	subl	%ecx,%ebx
    633      1.1  christos .byte	102,15,56,0,253
    634      1.1  christos .L030ccm64_enc_outer:
    635      1.1  christos 	movups	(%ebp),%xmm0
    636      1.1  christos 	movl	%ebx,%ecx
    637      1.1  christos 	movups	(%esi),%xmm6
    638      1.1  christos 	xorps	%xmm0,%xmm2
    639      1.1  christos 	movups	16(%ebp),%xmm1
    640      1.1  christos 	xorps	%xmm6,%xmm0
    641      1.1  christos 	xorps	%xmm0,%xmm3
    642      1.1  christos 	movups	32(%ebp),%xmm0
    643      1.1  christos .L031ccm64_enc2_loop:
    644      1.1  christos .byte	102,15,56,220,209
    645      1.1  christos .byte	102,15,56,220,217
    646      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    647      1.1  christos 	addl	$32,%ecx
    648      1.1  christos .byte	102,15,56,220,208
    649      1.1  christos .byte	102,15,56,220,216
    650      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    651      1.1  christos 	jnz	.L031ccm64_enc2_loop
    652      1.1  christos .byte	102,15,56,220,209
    653      1.1  christos .byte	102,15,56,220,217
    654      1.1  christos 	paddq	16(%esp),%xmm7
    655      1.1  christos 	decl	%eax
    656      1.1  christos .byte	102,15,56,221,208
    657      1.1  christos .byte	102,15,56,221,216
    658      1.1  christos 	leal	16(%esi),%esi
    659      1.1  christos 	xorps	%xmm2,%xmm6
    660      1.1  christos 	movdqa	%xmm7,%xmm2
    661      1.1  christos 	movups	%xmm6,(%edi)
    662      1.1  christos .byte	102,15,56,0,213
    663      1.1  christos 	leal	16(%edi),%edi
    664      1.1  christos 	jnz	.L030ccm64_enc_outer
    665      1.1  christos 	movl	48(%esp),%esp
    666      1.1  christos 	movl	40(%esp),%edi
    667      1.1  christos 	movups	%xmm3,(%edi)
    668      1.1  christos 	pxor	%xmm0,%xmm0
    669      1.1  christos 	pxor	%xmm1,%xmm1
    670      1.1  christos 	pxor	%xmm2,%xmm2
    671      1.1  christos 	pxor	%xmm3,%xmm3
    672      1.1  christos 	pxor	%xmm4,%xmm4
    673      1.1  christos 	pxor	%xmm5,%xmm5
    674      1.1  christos 	pxor	%xmm6,%xmm6
    675      1.1  christos 	pxor	%xmm7,%xmm7
    676      1.1  christos 	popl	%edi
    677      1.1  christos 	popl	%esi
    678      1.1  christos 	popl	%ebx
    679      1.1  christos 	popl	%ebp
    680      1.1  christos 	ret
    681      1.1  christos .size	aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
    682      1.1  christos .globl	aesni_ccm64_decrypt_blocks
    683      1.1  christos .type	aesni_ccm64_decrypt_blocks,@function
    684      1.1  christos .align	16
    685      1.1  christos aesni_ccm64_decrypt_blocks:
    686      1.1  christos .L_aesni_ccm64_decrypt_blocks_begin:
    687      1.1  christos 	pushl	%ebp
    688      1.1  christos 	pushl	%ebx
    689      1.1  christos 	pushl	%esi
    690      1.1  christos 	pushl	%edi
    691      1.1  christos 	movl	20(%esp),%esi
    692      1.1  christos 	movl	24(%esp),%edi
    693      1.1  christos 	movl	28(%esp),%eax
    694      1.1  christos 	movl	32(%esp),%edx
    695      1.1  christos 	movl	36(%esp),%ebx
    696      1.1  christos 	movl	40(%esp),%ecx
    697      1.1  christos 	movl	%esp,%ebp
    698      1.1  christos 	subl	$60,%esp
    699      1.1  christos 	andl	$-16,%esp
    700      1.1  christos 	movl	%ebp,48(%esp)
    701      1.1  christos 	movdqu	(%ebx),%xmm7
    702      1.1  christos 	movdqu	(%ecx),%xmm3
    703      1.1  christos 	movl	240(%edx),%ecx
    704      1.1  christos 	movl	$202182159,(%esp)
    705      1.1  christos 	movl	$134810123,4(%esp)
    706      1.1  christos 	movl	$67438087,8(%esp)
    707      1.1  christos 	movl	$66051,12(%esp)
    708      1.1  christos 	movl	$1,%ebx
    709      1.1  christos 	xorl	%ebp,%ebp
    710      1.1  christos 	movl	%ebx,16(%esp)
    711      1.1  christos 	movl	%ebp,20(%esp)
    712      1.1  christos 	movl	%ebp,24(%esp)
    713      1.1  christos 	movl	%ebp,28(%esp)
    714      1.1  christos 	movdqa	(%esp),%xmm5
    715      1.1  christos 	movdqa	%xmm7,%xmm2
    716      1.1  christos 	movl	%edx,%ebp
    717      1.1  christos 	movl	%ecx,%ebx
    718      1.1  christos .byte	102,15,56,0,253
    719      1.1  christos 	movups	(%edx),%xmm0
    720      1.1  christos 	movups	16(%edx),%xmm1
    721      1.1  christos 	leal	32(%edx),%edx
    722      1.1  christos 	xorps	%xmm0,%xmm2
    723      1.1  christos .L032enc1_loop_5:
    724      1.1  christos .byte	102,15,56,220,209
    725      1.1  christos 	decl	%ecx
    726      1.1  christos 	movups	(%edx),%xmm1
    727      1.1  christos 	leal	16(%edx),%edx
    728      1.1  christos 	jnz	.L032enc1_loop_5
    729      1.1  christos .byte	102,15,56,221,209
    730      1.1  christos 	shll	$4,%ebx
    731      1.1  christos 	movl	$16,%ecx
    732      1.1  christos 	movups	(%esi),%xmm6
    733      1.1  christos 	paddq	16(%esp),%xmm7
    734      1.1  christos 	leal	16(%esi),%esi
    735      1.1  christos 	subl	%ebx,%ecx
    736      1.1  christos 	leal	32(%ebp,%ebx,1),%edx
    737      1.1  christos 	movl	%ecx,%ebx
    738      1.1  christos 	jmp	.L033ccm64_dec_outer
    739      1.1  christos .align	16
    740      1.1  christos .L033ccm64_dec_outer:
    741      1.1  christos 	xorps	%xmm2,%xmm6
    742      1.1  christos 	movdqa	%xmm7,%xmm2
    743      1.1  christos 	movups	%xmm6,(%edi)
    744      1.1  christos 	leal	16(%edi),%edi
    745      1.1  christos .byte	102,15,56,0,213
    746      1.1  christos 	subl	$1,%eax
    747      1.1  christos 	jz	.L034ccm64_dec_break
    748      1.1  christos 	movups	(%ebp),%xmm0
    749      1.1  christos 	movl	%ebx,%ecx
    750      1.1  christos 	movups	16(%ebp),%xmm1
    751      1.1  christos 	xorps	%xmm0,%xmm6
    752      1.1  christos 	xorps	%xmm0,%xmm2
    753      1.1  christos 	xorps	%xmm6,%xmm3
    754      1.1  christos 	movups	32(%ebp),%xmm0
    755      1.1  christos .L035ccm64_dec2_loop:
    756      1.1  christos .byte	102,15,56,220,209
    757      1.1  christos .byte	102,15,56,220,217
    758      1.1  christos 	movups	(%edx,%ecx,1),%xmm1
    759      1.1  christos 	addl	$32,%ecx
    760      1.1  christos .byte	102,15,56,220,208
    761      1.1  christos .byte	102,15,56,220,216
    762      1.1  christos 	movups	-16(%edx,%ecx,1),%xmm0
    763      1.1  christos 	jnz	.L035ccm64_dec2_loop
    764      1.1  christos 	movups	(%esi),%xmm6
    765      1.1  christos 	paddq	16(%esp),%xmm7
    766      1.1  christos .byte	102,15,56,220,209
    767      1.1  christos .byte	102,15,56,220,217
    768      1.1  christos .byte	102,15,56,221,208
    769      1.1  christos .byte	102,15,56,221,216
    770      1.1  christos 	leal	16(%esi),%esi
    771      1.1  christos 	jmp	.L033ccm64_dec_outer
    772      1.1  christos .align	16
    773      1.1  christos .L034ccm64_dec_break:
    774      1.1  christos 	movl	240(%ebp),%ecx
    775      1.1  christos 	movl	%ebp,%edx
    776      1.1  christos 	movups	(%edx),%xmm0
    777      1.1  christos 	movups	16(%edx),%xmm1
    778      1.1  christos 	xorps	%xmm0,%xmm6
    779      1.1  christos 	leal	32(%edx),%edx
    780      1.1  christos 	xorps	%xmm6,%xmm3
    781      1.1  christos .L036enc1_loop_6:
    782      1.1  christos .byte	102,15,56,220,217
    783      1.1  christos 	decl	%ecx
    784      1.1  christos 	movups	(%edx),%xmm1
    785      1.1  christos 	leal	16(%edx),%edx
    786      1.1  christos 	jnz	.L036enc1_loop_6
    787      1.1  christos .byte	102,15,56,221,217
    788      1.1  christos 	movl	48(%esp),%esp
    789      1.1  christos 	movl	40(%esp),%edi
    790      1.1  christos 	movups	%xmm3,(%edi)
    791      1.1  christos 	pxor	%xmm0,%xmm0
    792      1.1  christos 	pxor	%xmm1,%xmm1
    793      1.1  christos 	pxor	%xmm2,%xmm2
    794      1.1  christos 	pxor	%xmm3,%xmm3
    795      1.1  christos 	pxor	%xmm4,%xmm4
    796      1.1  christos 	pxor	%xmm5,%xmm5
    797      1.1  christos 	pxor	%xmm6,%xmm6
    798      1.1  christos 	pxor	%xmm7,%xmm7
    799      1.1  christos 	popl	%edi
    800      1.1  christos 	popl	%esi
    801      1.1  christos 	popl	%ebx
    802      1.1  christos 	popl	%ebp
    803      1.1  christos 	ret
    804      1.1  christos .size	aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
    805      1.1  christos .globl	aesni_ctr32_encrypt_blocks
    806      1.1  christos .type	aesni_ctr32_encrypt_blocks,@function
    807      1.1  christos .align	16
    808      1.1  christos aesni_ctr32_encrypt_blocks:
    809      1.1  christos .L_aesni_ctr32_encrypt_blocks_begin:
    810      1.1  christos 	pushl	%ebp
    811      1.1  christos 	pushl	%ebx
    812      1.1  christos 	pushl	%esi
    813      1.1  christos 	pushl	%edi
    814      1.1  christos 	movl	20(%esp),%esi
    815      1.1  christos 	movl	24(%esp),%edi
    816      1.1  christos 	movl	28(%esp),%eax
    817      1.1  christos 	movl	32(%esp),%edx
    818      1.1  christos 	movl	36(%esp),%ebx
    819      1.1  christos 	movl	%esp,%ebp
    820      1.1  christos 	subl	$88,%esp
    821      1.1  christos 	andl	$-16,%esp
    822      1.1  christos 	movl	%ebp,80(%esp)
    823      1.1  christos 	cmpl	$1,%eax
    824      1.1  christos 	je	.L037ctr32_one_shortcut
    825      1.1  christos 	movdqu	(%ebx),%xmm7
    826      1.1  christos 	movl	$202182159,(%esp)
    827      1.1  christos 	movl	$134810123,4(%esp)
    828      1.1  christos 	movl	$67438087,8(%esp)
    829      1.1  christos 	movl	$66051,12(%esp)
    830      1.1  christos 	movl	$6,%ecx
    831      1.1  christos 	xorl	%ebp,%ebp
    832      1.1  christos 	movl	%ecx,16(%esp)
    833      1.1  christos 	movl	%ecx,20(%esp)
    834      1.1  christos 	movl	%ecx,24(%esp)
    835      1.1  christos 	movl	%ebp,28(%esp)
    836      1.1  christos .byte	102,15,58,22,251,3
    837      1.1  christos .byte	102,15,58,34,253,3
    838      1.1  christos 	movl	240(%edx),%ecx
    839      1.1  christos 	bswap	%ebx
    840      1.1  christos 	pxor	%xmm0,%xmm0
    841      1.1  christos 	pxor	%xmm1,%xmm1
    842      1.1  christos 	movdqa	(%esp),%xmm2
    843      1.1  christos .byte	102,15,58,34,195,0
    844      1.1  christos 	leal	3(%ebx),%ebp
    845      1.1  christos .byte	102,15,58,34,205,0
    846      1.1  christos 	incl	%ebx
    847      1.1  christos .byte	102,15,58,34,195,1
    848      1.1  christos 	incl	%ebp
    849      1.1  christos .byte	102,15,58,34,205,1
    850      1.1  christos 	incl	%ebx
    851      1.1  christos .byte	102,15,58,34,195,2
    852      1.1  christos 	incl	%ebp
    853      1.1  christos .byte	102,15,58,34,205,2
    854      1.1  christos 	movdqa	%xmm0,48(%esp)
    855      1.1  christos .byte	102,15,56,0,194
    856      1.1  christos 	movdqu	(%edx),%xmm6
    857      1.1  christos 	movdqa	%xmm1,64(%esp)
    858      1.1  christos .byte	102,15,56,0,202
    859      1.1  christos 	pshufd	$192,%xmm0,%xmm2
    860      1.1  christos 	pshufd	$128,%xmm0,%xmm3
    861      1.1  christos 	cmpl	$6,%eax
    862      1.1  christos 	jb	.L038ctr32_tail
    863      1.1  christos 	pxor	%xmm6,%xmm7
    864      1.1  christos 	shll	$4,%ecx
    865      1.1  christos 	movl	$16,%ebx
    866      1.1  christos 	movdqa	%xmm7,32(%esp)
    867      1.1  christos 	movl	%edx,%ebp
    868      1.1  christos 	subl	%ecx,%ebx
    869      1.1  christos 	leal	32(%edx,%ecx,1),%edx
    870      1.1  christos 	subl	$6,%eax
    871      1.1  christos 	jmp	.L039ctr32_loop6
    872      1.1  christos .align	16
    873      1.1  christos .L039ctr32_loop6:
    874      1.1  christos 	pshufd	$64,%xmm0,%xmm4
    875      1.1  christos 	movdqa	32(%esp),%xmm0
    876      1.1  christos 	pshufd	$192,%xmm1,%xmm5
    877      1.1  christos 	pxor	%xmm0,%xmm2
    878      1.1  christos 	pshufd	$128,%xmm1,%xmm6
    879      1.1  christos 	pxor	%xmm0,%xmm3
    880      1.1  christos 	pshufd	$64,%xmm1,%xmm7
    881      1.1  christos 	movups	16(%ebp),%xmm1
    882      1.1  christos 	pxor	%xmm0,%xmm4
    883      1.1  christos 	pxor	%xmm0,%xmm5
    884      1.1  christos .byte	102,15,56,220,209
    885      1.1  christos 	pxor	%xmm0,%xmm6
    886      1.1  christos 	pxor	%xmm0,%xmm7
    887      1.1  christos .byte	102,15,56,220,217
    888      1.1  christos 	movups	32(%ebp),%xmm0
    889      1.1  christos 	movl	%ebx,%ecx
    890      1.1  christos .byte	102,15,56,220,225
    891      1.1  christos .byte	102,15,56,220,233
    892      1.1  christos .byte	102,15,56,220,241
    893      1.1  christos .byte	102,15,56,220,249
    894      1.1  christos 	call	.L_aesni_encrypt6_enter
    895      1.1  christos 	movups	(%esi),%xmm1
    896      1.1  christos 	movups	16(%esi),%xmm0
    897      1.1  christos 	xorps	%xmm1,%xmm2
    898      1.1  christos 	movups	32(%esi),%xmm1
    899      1.1  christos 	xorps	%xmm0,%xmm3
    900      1.1  christos 	movups	%xmm2,(%edi)
    901      1.1  christos 	movdqa	16(%esp),%xmm0
    902      1.1  christos 	xorps	%xmm1,%xmm4
    903      1.1  christos 	movdqa	64(%esp),%xmm1
    904      1.1  christos 	movups	%xmm3,16(%edi)
    905      1.1  christos 	movups	%xmm4,32(%edi)
    906      1.1  christos 	paddd	%xmm0,%xmm1
    907      1.1  christos 	paddd	48(%esp),%xmm0
    908      1.1  christos 	movdqa	(%esp),%xmm2
    909      1.1  christos 	movups	48(%esi),%xmm3
    910      1.1  christos 	movups	64(%esi),%xmm4
    911      1.1  christos 	xorps	%xmm3,%xmm5
    912      1.1  christos 	movups	80(%esi),%xmm3
    913      1.1  christos 	leal	96(%esi),%esi
    914      1.1  christos 	movdqa	%xmm0,48(%esp)
    915      1.1  christos .byte	102,15,56,0,194
    916      1.1  christos 	xorps	%xmm4,%xmm6
    917      1.1  christos 	movups	%xmm5,48(%edi)
    918      1.1  christos 	xorps	%xmm3,%xmm7
    919      1.1  christos 	movdqa	%xmm1,64(%esp)
    920      1.1  christos .byte	102,15,56,0,202
    921      1.1  christos 	movups	%xmm6,64(%edi)
    922      1.1  christos 	pshufd	$192,%xmm0,%xmm2
    923      1.1  christos 	movups	%xmm7,80(%edi)
    924      1.1  christos 	leal	96(%edi),%edi
    925      1.1  christos 	pshufd	$128,%xmm0,%xmm3
    926      1.1  christos 	subl	$6,%eax
    927      1.1  christos 	jnc	.L039ctr32_loop6
    928      1.1  christos 	addl	$6,%eax
    929      1.1  christos 	jz	.L040ctr32_ret
    930      1.1  christos 	movdqu	(%ebp),%xmm7
    931      1.1  christos 	movl	%ebp,%edx
    932      1.1  christos 	pxor	32(%esp),%xmm7
    933      1.1  christos 	movl	240(%ebp),%ecx
    934      1.1  christos .L038ctr32_tail:
    935      1.1  christos 	por	%xmm7,%xmm2
    936      1.1  christos 	cmpl	$2,%eax
    937      1.1  christos 	jb	.L041ctr32_one
    938      1.1  christos 	pshufd	$64,%xmm0,%xmm4
    939      1.1  christos 	por	%xmm7,%xmm3
    940      1.1  christos 	je	.L042ctr32_two
    941      1.1  christos 	pshufd	$192,%xmm1,%xmm5
    942      1.1  christos 	por	%xmm7,%xmm4
    943      1.1  christos 	cmpl	$4,%eax
    944      1.1  christos 	jb	.L043ctr32_three
    945      1.1  christos 	pshufd	$128,%xmm1,%xmm6
    946      1.1  christos 	por	%xmm7,%xmm5
    947      1.1  christos 	je	.L044ctr32_four
    948      1.1  christos 	por	%xmm7,%xmm6
    949      1.1  christos 	call	_aesni_encrypt6
    950      1.1  christos 	movups	(%esi),%xmm1
    951      1.1  christos 	movups	16(%esi),%xmm0
    952      1.1  christos 	xorps	%xmm1,%xmm2
    953      1.1  christos 	movups	32(%esi),%xmm1
    954      1.1  christos 	xorps	%xmm0,%xmm3
    955      1.1  christos 	movups	48(%esi),%xmm0
    956      1.1  christos 	xorps	%xmm1,%xmm4
    957      1.1  christos 	movups	64(%esi),%xmm1
    958      1.1  christos 	xorps	%xmm0,%xmm5
    959      1.1  christos 	movups	%xmm2,(%edi)
    960      1.1  christos 	xorps	%xmm1,%xmm6
    961      1.1  christos 	movups	%xmm3,16(%edi)
    962      1.1  christos 	movups	%xmm4,32(%edi)
    963      1.1  christos 	movups	%xmm5,48(%edi)
    964      1.1  christos 	movups	%xmm6,64(%edi)
    965      1.1  christos 	jmp	.L040ctr32_ret
    966      1.1  christos .align	16
    967      1.1  christos .L037ctr32_one_shortcut:
    968      1.1  christos 	movups	(%ebx),%xmm2
    969      1.1  christos 	movl	240(%edx),%ecx
    970      1.1  christos .L041ctr32_one:
    971      1.1  christos 	movups	(%edx),%xmm0
    972      1.1  christos 	movups	16(%edx),%xmm1
    973      1.1  christos 	leal	32(%edx),%edx
    974      1.1  christos 	xorps	%xmm0,%xmm2
    975      1.1  christos .L045enc1_loop_7:
    976      1.1  christos .byte	102,15,56,220,209
    977      1.1  christos 	decl	%ecx
    978      1.1  christos 	movups	(%edx),%xmm1
    979      1.1  christos 	leal	16(%edx),%edx
    980      1.1  christos 	jnz	.L045enc1_loop_7
    981      1.1  christos .byte	102,15,56,221,209
    982      1.1  christos 	movups	(%esi),%xmm6
    983      1.1  christos 	xorps	%xmm2,%xmm6
    984      1.1  christos 	movups	%xmm6,(%edi)
    985      1.1  christos 	jmp	.L040ctr32_ret
    986      1.1  christos .align	16
    987      1.1  christos .L042ctr32_two:
    988      1.1  christos 	call	_aesni_encrypt2
    989      1.1  christos 	movups	(%esi),%xmm5
    990      1.1  christos 	movups	16(%esi),%xmm6
    991      1.1  christos 	xorps	%xmm5,%xmm2
    992      1.1  christos 	xorps	%xmm6,%xmm3
    993      1.1  christos 	movups	%xmm2,(%edi)
    994      1.1  christos 	movups	%xmm3,16(%edi)
    995      1.1  christos 	jmp	.L040ctr32_ret
    996      1.1  christos .align	16
    997      1.1  christos .L043ctr32_three:
    998      1.1  christos 	call	_aesni_encrypt3
    999      1.1  christos 	movups	(%esi),%xmm5
   1000      1.1  christos 	movups	16(%esi),%xmm6
   1001      1.1  christos 	xorps	%xmm5,%xmm2
   1002      1.1  christos 	movups	32(%esi),%xmm7
   1003      1.1  christos 	xorps	%xmm6,%xmm3
   1004      1.1  christos 	movups	%xmm2,(%edi)
   1005      1.1  christos 	xorps	%xmm7,%xmm4
   1006      1.1  christos 	movups	%xmm3,16(%edi)
   1007      1.1  christos 	movups	%xmm4,32(%edi)
   1008      1.1  christos 	jmp	.L040ctr32_ret
   1009      1.1  christos .align	16
   1010      1.1  christos .L044ctr32_four:
   1011      1.1  christos 	call	_aesni_encrypt4
   1012      1.1  christos 	movups	(%esi),%xmm6
   1013      1.1  christos 	movups	16(%esi),%xmm7
   1014      1.1  christos 	movups	32(%esi),%xmm1
   1015      1.1  christos 	xorps	%xmm6,%xmm2
   1016      1.1  christos 	movups	48(%esi),%xmm0
   1017      1.1  christos 	xorps	%xmm7,%xmm3
   1018      1.1  christos 	movups	%xmm2,(%edi)
   1019      1.1  christos 	xorps	%xmm1,%xmm4
   1020      1.1  christos 	movups	%xmm3,16(%edi)
   1021      1.1  christos 	xorps	%xmm0,%xmm5
   1022      1.1  christos 	movups	%xmm4,32(%edi)
   1023      1.1  christos 	movups	%xmm5,48(%edi)
   1024      1.1  christos .L040ctr32_ret:
   1025      1.1  christos 	pxor	%xmm0,%xmm0
   1026      1.1  christos 	pxor	%xmm1,%xmm1
   1027      1.1  christos 	pxor	%xmm2,%xmm2
   1028      1.1  christos 	pxor	%xmm3,%xmm3
   1029      1.1  christos 	pxor	%xmm4,%xmm4
   1030      1.1  christos 	movdqa	%xmm0,32(%esp)
   1031      1.1  christos 	pxor	%xmm5,%xmm5
   1032      1.1  christos 	movdqa	%xmm0,48(%esp)
   1033      1.1  christos 	pxor	%xmm6,%xmm6
   1034      1.1  christos 	movdqa	%xmm0,64(%esp)
   1035      1.1  christos 	pxor	%xmm7,%xmm7
   1036      1.1  christos 	movl	80(%esp),%esp
   1037      1.1  christos 	popl	%edi
   1038      1.1  christos 	popl	%esi
   1039      1.1  christos 	popl	%ebx
   1040      1.1  christos 	popl	%ebp
   1041      1.1  christos 	ret
   1042      1.1  christos .size	aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
   1043      1.1  christos .globl	aesni_xts_encrypt
   1044      1.1  christos .type	aesni_xts_encrypt,@function
   1045      1.1  christos .align	16
   1046      1.1  christos aesni_xts_encrypt:
   1047      1.1  christos .L_aesni_xts_encrypt_begin:
   1048      1.1  christos 	pushl	%ebp
   1049      1.1  christos 	pushl	%ebx
   1050      1.1  christos 	pushl	%esi
   1051      1.1  christos 	pushl	%edi
   1052      1.1  christos 	movl	36(%esp),%edx
   1053      1.1  christos 	movl	40(%esp),%esi
   1054      1.1  christos 	movl	240(%edx),%ecx
   1055      1.1  christos 	movups	(%esi),%xmm2
   1056      1.1  christos 	movups	(%edx),%xmm0
   1057      1.1  christos 	movups	16(%edx),%xmm1
   1058      1.1  christos 	leal	32(%edx),%edx
   1059      1.1  christos 	xorps	%xmm0,%xmm2
   1060      1.1  christos .L046enc1_loop_8:
   1061      1.1  christos .byte	102,15,56,220,209
   1062      1.1  christos 	decl	%ecx
   1063      1.1  christos 	movups	(%edx),%xmm1
   1064      1.1  christos 	leal	16(%edx),%edx
   1065      1.1  christos 	jnz	.L046enc1_loop_8
   1066      1.1  christos .byte	102,15,56,221,209
   1067      1.1  christos 	movl	20(%esp),%esi
   1068      1.1  christos 	movl	24(%esp),%edi
   1069      1.1  christos 	movl	28(%esp),%eax
   1070      1.1  christos 	movl	32(%esp),%edx
   1071      1.1  christos 	movl	%esp,%ebp
   1072      1.1  christos 	subl	$120,%esp
   1073      1.1  christos 	movl	240(%edx),%ecx
   1074      1.1  christos 	andl	$-16,%esp
   1075      1.1  christos 	movl	$135,96(%esp)
   1076      1.1  christos 	movl	$0,100(%esp)
   1077      1.1  christos 	movl	$1,104(%esp)
   1078      1.1  christos 	movl	$0,108(%esp)
   1079      1.1  christos 	movl	%eax,112(%esp)
   1080      1.1  christos 	movl	%ebp,116(%esp)
   1081      1.1  christos 	movdqa	%xmm2,%xmm1
   1082      1.1  christos 	pxor	%xmm0,%xmm0
   1083      1.1  christos 	movdqa	96(%esp),%xmm3
   1084      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1085      1.1  christos 	andl	$-16,%eax
   1086      1.1  christos 	movl	%edx,%ebp
   1087      1.1  christos 	movl	%ecx,%ebx
   1088      1.1  christos 	subl	$96,%eax
   1089      1.1  christos 	jc	.L047xts_enc_short
   1090      1.1  christos 	shll	$4,%ecx
   1091      1.1  christos 	movl	$16,%ebx
   1092      1.1  christos 	subl	%ecx,%ebx
   1093      1.1  christos 	leal	32(%edx,%ecx,1),%edx
   1094      1.1  christos 	jmp	.L048xts_enc_loop6
   1095      1.1  christos .align	16
   1096      1.1  christos .L048xts_enc_loop6:
   1097      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1098      1.1  christos 	pxor	%xmm0,%xmm0
   1099      1.1  christos 	movdqa	%xmm1,(%esp)
   1100      1.1  christos 	paddq	%xmm1,%xmm1
   1101      1.1  christos 	pand	%xmm3,%xmm2
   1102      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1103      1.1  christos 	pxor	%xmm2,%xmm1
   1104      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1105      1.1  christos 	pxor	%xmm0,%xmm0
   1106      1.1  christos 	movdqa	%xmm1,16(%esp)
   1107      1.1  christos 	paddq	%xmm1,%xmm1
   1108      1.1  christos 	pand	%xmm3,%xmm2
   1109      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1110      1.1  christos 	pxor	%xmm2,%xmm1
   1111      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1112      1.1  christos 	pxor	%xmm0,%xmm0
   1113      1.1  christos 	movdqa	%xmm1,32(%esp)
   1114      1.1  christos 	paddq	%xmm1,%xmm1
   1115      1.1  christos 	pand	%xmm3,%xmm2
   1116      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1117      1.1  christos 	pxor	%xmm2,%xmm1
   1118      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1119      1.1  christos 	pxor	%xmm0,%xmm0
   1120      1.1  christos 	movdqa	%xmm1,48(%esp)
   1121      1.1  christos 	paddq	%xmm1,%xmm1
   1122      1.1  christos 	pand	%xmm3,%xmm2
   1123      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1124      1.1  christos 	pxor	%xmm2,%xmm1
   1125      1.1  christos 	pshufd	$19,%xmm0,%xmm7
   1126      1.1  christos 	movdqa	%xmm1,64(%esp)
   1127      1.1  christos 	paddq	%xmm1,%xmm1
   1128      1.1  christos 	movups	(%ebp),%xmm0
   1129      1.1  christos 	pand	%xmm3,%xmm7
   1130      1.1  christos 	movups	(%esi),%xmm2
   1131      1.1  christos 	pxor	%xmm1,%xmm7
   1132      1.1  christos 	movl	%ebx,%ecx
   1133      1.1  christos 	movdqu	16(%esi),%xmm3
   1134      1.1  christos 	xorps	%xmm0,%xmm2
   1135      1.1  christos 	movdqu	32(%esi),%xmm4
   1136      1.1  christos 	pxor	%xmm0,%xmm3
   1137      1.1  christos 	movdqu	48(%esi),%xmm5
   1138      1.1  christos 	pxor	%xmm0,%xmm4
   1139      1.1  christos 	movdqu	64(%esi),%xmm6
   1140      1.1  christos 	pxor	%xmm0,%xmm5
   1141      1.1  christos 	movdqu	80(%esi),%xmm1
   1142      1.1  christos 	pxor	%xmm0,%xmm6
   1143      1.1  christos 	leal	96(%esi),%esi
   1144      1.1  christos 	pxor	(%esp),%xmm2
   1145      1.1  christos 	movdqa	%xmm7,80(%esp)
   1146      1.1  christos 	pxor	%xmm1,%xmm7
   1147      1.1  christos 	movups	16(%ebp),%xmm1
   1148      1.1  christos 	pxor	16(%esp),%xmm3
   1149      1.1  christos 	pxor	32(%esp),%xmm4
   1150      1.1  christos .byte	102,15,56,220,209
   1151      1.1  christos 	pxor	48(%esp),%xmm5
   1152      1.1  christos 	pxor	64(%esp),%xmm6
   1153      1.1  christos .byte	102,15,56,220,217
   1154      1.1  christos 	pxor	%xmm0,%xmm7
   1155      1.1  christos 	movups	32(%ebp),%xmm0
   1156      1.1  christos .byte	102,15,56,220,225
   1157      1.1  christos .byte	102,15,56,220,233
   1158      1.1  christos .byte	102,15,56,220,241
   1159      1.1  christos .byte	102,15,56,220,249
   1160      1.1  christos 	call	.L_aesni_encrypt6_enter
   1161      1.1  christos 	movdqa	80(%esp),%xmm1
   1162      1.1  christos 	pxor	%xmm0,%xmm0
   1163      1.1  christos 	xorps	(%esp),%xmm2
   1164      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1165      1.1  christos 	xorps	16(%esp),%xmm3
   1166      1.1  christos 	movups	%xmm2,(%edi)
   1167      1.1  christos 	xorps	32(%esp),%xmm4
   1168      1.1  christos 	movups	%xmm3,16(%edi)
   1169      1.1  christos 	xorps	48(%esp),%xmm5
   1170      1.1  christos 	movups	%xmm4,32(%edi)
   1171      1.1  christos 	xorps	64(%esp),%xmm6
   1172      1.1  christos 	movups	%xmm5,48(%edi)
   1173      1.1  christos 	xorps	%xmm1,%xmm7
   1174      1.1  christos 	movups	%xmm6,64(%edi)
   1175      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1176      1.1  christos 	movups	%xmm7,80(%edi)
   1177      1.1  christos 	leal	96(%edi),%edi
   1178      1.1  christos 	movdqa	96(%esp),%xmm3
   1179      1.1  christos 	pxor	%xmm0,%xmm0
   1180      1.1  christos 	paddq	%xmm1,%xmm1
   1181      1.1  christos 	pand	%xmm3,%xmm2
   1182      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1183      1.1  christos 	pxor	%xmm2,%xmm1
   1184      1.1  christos 	subl	$96,%eax
   1185      1.1  christos 	jnc	.L048xts_enc_loop6
   1186      1.1  christos 	movl	240(%ebp),%ecx
   1187      1.1  christos 	movl	%ebp,%edx
   1188      1.1  christos 	movl	%ecx,%ebx
   1189      1.1  christos .L047xts_enc_short:
   1190      1.1  christos 	addl	$96,%eax
   1191      1.1  christos 	jz	.L049xts_enc_done6x
   1192      1.1  christos 	movdqa	%xmm1,%xmm5
   1193      1.1  christos 	cmpl	$32,%eax
   1194      1.1  christos 	jb	.L050xts_enc_one
   1195      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1196      1.1  christos 	pxor	%xmm0,%xmm0
   1197      1.1  christos 	paddq	%xmm1,%xmm1
   1198      1.1  christos 	pand	%xmm3,%xmm2
   1199      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1200      1.1  christos 	pxor	%xmm2,%xmm1
   1201      1.1  christos 	je	.L051xts_enc_two
   1202      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1203      1.1  christos 	pxor	%xmm0,%xmm0
   1204      1.1  christos 	movdqa	%xmm1,%xmm6
   1205      1.1  christos 	paddq	%xmm1,%xmm1
   1206      1.1  christos 	pand	%xmm3,%xmm2
   1207      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1208      1.1  christos 	pxor	%xmm2,%xmm1
   1209      1.1  christos 	cmpl	$64,%eax
   1210      1.1  christos 	jb	.L052xts_enc_three
   1211      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1212      1.1  christos 	pxor	%xmm0,%xmm0
   1213      1.1  christos 	movdqa	%xmm1,%xmm7
   1214      1.1  christos 	paddq	%xmm1,%xmm1
   1215      1.1  christos 	pand	%xmm3,%xmm2
   1216      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1217      1.1  christos 	pxor	%xmm2,%xmm1
   1218      1.1  christos 	movdqa	%xmm5,(%esp)
   1219      1.1  christos 	movdqa	%xmm6,16(%esp)
   1220      1.1  christos 	je	.L053xts_enc_four
   1221      1.1  christos 	movdqa	%xmm7,32(%esp)
   1222      1.1  christos 	pshufd	$19,%xmm0,%xmm7
   1223      1.1  christos 	movdqa	%xmm1,48(%esp)
   1224      1.1  christos 	paddq	%xmm1,%xmm1
   1225      1.1  christos 	pand	%xmm3,%xmm7
   1226      1.1  christos 	pxor	%xmm1,%xmm7
   1227      1.1  christos 	movdqu	(%esi),%xmm2
   1228      1.1  christos 	movdqu	16(%esi),%xmm3
   1229      1.1  christos 	movdqu	32(%esi),%xmm4
   1230      1.1  christos 	pxor	(%esp),%xmm2
   1231      1.1  christos 	movdqu	48(%esi),%xmm5
   1232      1.1  christos 	pxor	16(%esp),%xmm3
   1233      1.1  christos 	movdqu	64(%esi),%xmm6
   1234      1.1  christos 	pxor	32(%esp),%xmm4
   1235      1.1  christos 	leal	80(%esi),%esi
   1236      1.1  christos 	pxor	48(%esp),%xmm5
   1237      1.1  christos 	movdqa	%xmm7,64(%esp)
   1238      1.1  christos 	pxor	%xmm7,%xmm6
   1239      1.1  christos 	call	_aesni_encrypt6
   1240      1.1  christos 	movaps	64(%esp),%xmm1
   1241      1.1  christos 	xorps	(%esp),%xmm2
   1242      1.1  christos 	xorps	16(%esp),%xmm3
   1243      1.1  christos 	xorps	32(%esp),%xmm4
   1244      1.1  christos 	movups	%xmm2,(%edi)
   1245      1.1  christos 	xorps	48(%esp),%xmm5
   1246      1.1  christos 	movups	%xmm3,16(%edi)
   1247      1.1  christos 	xorps	%xmm1,%xmm6
   1248      1.1  christos 	movups	%xmm4,32(%edi)
   1249      1.1  christos 	movups	%xmm5,48(%edi)
   1250      1.1  christos 	movups	%xmm6,64(%edi)
   1251      1.1  christos 	leal	80(%edi),%edi
   1252      1.1  christos 	jmp	.L054xts_enc_done
   1253      1.1  christos .align	16
   1254      1.1  christos .L050xts_enc_one:
   1255      1.1  christos 	movups	(%esi),%xmm2
   1256      1.1  christos 	leal	16(%esi),%esi
   1257      1.1  christos 	xorps	%xmm5,%xmm2
   1258      1.1  christos 	movups	(%edx),%xmm0
   1259      1.1  christos 	movups	16(%edx),%xmm1
   1260      1.1  christos 	leal	32(%edx),%edx
   1261      1.1  christos 	xorps	%xmm0,%xmm2
   1262      1.1  christos .L055enc1_loop_9:
   1263      1.1  christos .byte	102,15,56,220,209
   1264      1.1  christos 	decl	%ecx
   1265      1.1  christos 	movups	(%edx),%xmm1
   1266      1.1  christos 	leal	16(%edx),%edx
   1267      1.1  christos 	jnz	.L055enc1_loop_9
   1268      1.1  christos .byte	102,15,56,221,209
   1269      1.1  christos 	xorps	%xmm5,%xmm2
   1270      1.1  christos 	movups	%xmm2,(%edi)
   1271      1.1  christos 	leal	16(%edi),%edi
   1272      1.1  christos 	movdqa	%xmm5,%xmm1
   1273      1.1  christos 	jmp	.L054xts_enc_done
   1274      1.1  christos .align	16
   1275      1.1  christos .L051xts_enc_two:
   1276      1.1  christos 	movaps	%xmm1,%xmm6
   1277      1.1  christos 	movups	(%esi),%xmm2
   1278      1.1  christos 	movups	16(%esi),%xmm3
   1279      1.1  christos 	leal	32(%esi),%esi
   1280      1.1  christos 	xorps	%xmm5,%xmm2
   1281      1.1  christos 	xorps	%xmm6,%xmm3
   1282      1.1  christos 	call	_aesni_encrypt2
   1283      1.1  christos 	xorps	%xmm5,%xmm2
   1284      1.1  christos 	xorps	%xmm6,%xmm3
   1285      1.1  christos 	movups	%xmm2,(%edi)
   1286      1.1  christos 	movups	%xmm3,16(%edi)
   1287      1.1  christos 	leal	32(%edi),%edi
   1288      1.1  christos 	movdqa	%xmm6,%xmm1
   1289      1.1  christos 	jmp	.L054xts_enc_done
   1290      1.1  christos .align	16
   1291      1.1  christos .L052xts_enc_three:
   1292      1.1  christos 	movaps	%xmm1,%xmm7
   1293      1.1  christos 	movups	(%esi),%xmm2
   1294      1.1  christos 	movups	16(%esi),%xmm3
   1295      1.1  christos 	movups	32(%esi),%xmm4
   1296      1.1  christos 	leal	48(%esi),%esi
   1297      1.1  christos 	xorps	%xmm5,%xmm2
   1298      1.1  christos 	xorps	%xmm6,%xmm3
   1299      1.1  christos 	xorps	%xmm7,%xmm4
   1300      1.1  christos 	call	_aesni_encrypt3
   1301      1.1  christos 	xorps	%xmm5,%xmm2
   1302      1.1  christos 	xorps	%xmm6,%xmm3
   1303      1.1  christos 	xorps	%xmm7,%xmm4
   1304      1.1  christos 	movups	%xmm2,(%edi)
   1305      1.1  christos 	movups	%xmm3,16(%edi)
   1306      1.1  christos 	movups	%xmm4,32(%edi)
   1307      1.1  christos 	leal	48(%edi),%edi
   1308      1.1  christos 	movdqa	%xmm7,%xmm1
   1309      1.1  christos 	jmp	.L054xts_enc_done
   1310      1.1  christos .align	16
   1311      1.1  christos .L053xts_enc_four:
   1312      1.1  christos 	movaps	%xmm1,%xmm6
   1313      1.1  christos 	movups	(%esi),%xmm2
   1314      1.1  christos 	movups	16(%esi),%xmm3
   1315      1.1  christos 	movups	32(%esi),%xmm4
   1316      1.1  christos 	xorps	(%esp),%xmm2
   1317      1.1  christos 	movups	48(%esi),%xmm5
   1318      1.1  christos 	leal	64(%esi),%esi
   1319      1.1  christos 	xorps	16(%esp),%xmm3
   1320      1.1  christos 	xorps	%xmm7,%xmm4
   1321      1.1  christos 	xorps	%xmm6,%xmm5
   1322      1.1  christos 	call	_aesni_encrypt4
   1323      1.1  christos 	xorps	(%esp),%xmm2
   1324      1.1  christos 	xorps	16(%esp),%xmm3
   1325      1.1  christos 	xorps	%xmm7,%xmm4
   1326      1.1  christos 	movups	%xmm2,(%edi)
   1327      1.1  christos 	xorps	%xmm6,%xmm5
   1328      1.1  christos 	movups	%xmm3,16(%edi)
   1329      1.1  christos 	movups	%xmm4,32(%edi)
   1330      1.1  christos 	movups	%xmm5,48(%edi)
   1331      1.1  christos 	leal	64(%edi),%edi
   1332      1.1  christos 	movdqa	%xmm6,%xmm1
   1333      1.1  christos 	jmp	.L054xts_enc_done
   1334      1.1  christos .align	16
   1335      1.1  christos .L049xts_enc_done6x:
   1336      1.1  christos 	movl	112(%esp),%eax
   1337      1.1  christos 	andl	$15,%eax
   1338      1.1  christos 	jz	.L056xts_enc_ret
   1339      1.1  christos 	movdqa	%xmm1,%xmm5
   1340      1.1  christos 	movl	%eax,112(%esp)
   1341      1.1  christos 	jmp	.L057xts_enc_steal
   1342      1.1  christos .align	16
   1343      1.1  christos .L054xts_enc_done:
   1344      1.1  christos 	movl	112(%esp),%eax
   1345      1.1  christos 	pxor	%xmm0,%xmm0
   1346      1.1  christos 	andl	$15,%eax
   1347      1.1  christos 	jz	.L056xts_enc_ret
   1348      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1349      1.1  christos 	movl	%eax,112(%esp)
   1350      1.1  christos 	pshufd	$19,%xmm0,%xmm5
   1351      1.1  christos 	paddq	%xmm1,%xmm1
   1352      1.1  christos 	pand	96(%esp),%xmm5
   1353      1.1  christos 	pxor	%xmm1,%xmm5
   1354      1.1  christos .L057xts_enc_steal:
   1355      1.1  christos 	movzbl	(%esi),%ecx
   1356      1.1  christos 	movzbl	-16(%edi),%edx
   1357      1.1  christos 	leal	1(%esi),%esi
   1358      1.1  christos 	movb	%cl,-16(%edi)
   1359      1.1  christos 	movb	%dl,(%edi)
   1360      1.1  christos 	leal	1(%edi),%edi
   1361      1.1  christos 	subl	$1,%eax
   1362      1.1  christos 	jnz	.L057xts_enc_steal
   1363      1.1  christos 	subl	112(%esp),%edi
   1364      1.1  christos 	movl	%ebp,%edx
   1365      1.1  christos 	movl	%ebx,%ecx
   1366      1.1  christos 	movups	-16(%edi),%xmm2
   1367      1.1  christos 	xorps	%xmm5,%xmm2
   1368      1.1  christos 	movups	(%edx),%xmm0
   1369      1.1  christos 	movups	16(%edx),%xmm1
   1370      1.1  christos 	leal	32(%edx),%edx
   1371      1.1  christos 	xorps	%xmm0,%xmm2
   1372      1.1  christos .L058enc1_loop_10:
   1373      1.1  christos .byte	102,15,56,220,209
   1374      1.1  christos 	decl	%ecx
   1375      1.1  christos 	movups	(%edx),%xmm1
   1376      1.1  christos 	leal	16(%edx),%edx
   1377      1.1  christos 	jnz	.L058enc1_loop_10
   1378      1.1  christos .byte	102,15,56,221,209
   1379      1.1  christos 	xorps	%xmm5,%xmm2
   1380      1.1  christos 	movups	%xmm2,-16(%edi)
   1381      1.1  christos .L056xts_enc_ret:
   1382      1.1  christos 	pxor	%xmm0,%xmm0
   1383      1.1  christos 	pxor	%xmm1,%xmm1
   1384      1.1  christos 	pxor	%xmm2,%xmm2
   1385      1.1  christos 	movdqa	%xmm0,(%esp)
   1386      1.1  christos 	pxor	%xmm3,%xmm3
   1387      1.1  christos 	movdqa	%xmm0,16(%esp)
   1388      1.1  christos 	pxor	%xmm4,%xmm4
   1389      1.1  christos 	movdqa	%xmm0,32(%esp)
   1390      1.1  christos 	pxor	%xmm5,%xmm5
   1391      1.1  christos 	movdqa	%xmm0,48(%esp)
   1392      1.1  christos 	pxor	%xmm6,%xmm6
   1393      1.1  christos 	movdqa	%xmm0,64(%esp)
   1394      1.1  christos 	pxor	%xmm7,%xmm7
   1395      1.1  christos 	movdqa	%xmm0,80(%esp)
   1396      1.1  christos 	movl	116(%esp),%esp
   1397      1.1  christos 	popl	%edi
   1398      1.1  christos 	popl	%esi
   1399      1.1  christos 	popl	%ebx
   1400      1.1  christos 	popl	%ebp
   1401      1.1  christos 	ret
   1402      1.1  christos .size	aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
   1403      1.1  christos .globl	aesni_xts_decrypt
   1404      1.1  christos .type	aesni_xts_decrypt,@function
   1405      1.1  christos .align	16
   1406      1.1  christos aesni_xts_decrypt:
   1407      1.1  christos .L_aesni_xts_decrypt_begin:
   1408      1.1  christos 	pushl	%ebp
   1409      1.1  christos 	pushl	%ebx
   1410      1.1  christos 	pushl	%esi
   1411      1.1  christos 	pushl	%edi
   1412      1.1  christos 	movl	36(%esp),%edx
   1413      1.1  christos 	movl	40(%esp),%esi
   1414      1.1  christos 	movl	240(%edx),%ecx
   1415      1.1  christos 	movups	(%esi),%xmm2
   1416      1.1  christos 	movups	(%edx),%xmm0
   1417      1.1  christos 	movups	16(%edx),%xmm1
   1418      1.1  christos 	leal	32(%edx),%edx
   1419      1.1  christos 	xorps	%xmm0,%xmm2
   1420      1.1  christos .L059enc1_loop_11:
   1421      1.1  christos .byte	102,15,56,220,209
   1422      1.1  christos 	decl	%ecx
   1423      1.1  christos 	movups	(%edx),%xmm1
   1424      1.1  christos 	leal	16(%edx),%edx
   1425      1.1  christos 	jnz	.L059enc1_loop_11
   1426      1.1  christos .byte	102,15,56,221,209
   1427      1.1  christos 	movl	20(%esp),%esi
   1428      1.1  christos 	movl	24(%esp),%edi
   1429      1.1  christos 	movl	28(%esp),%eax
   1430      1.1  christos 	movl	32(%esp),%edx
   1431      1.1  christos 	movl	%esp,%ebp
   1432      1.1  christos 	subl	$120,%esp
   1433      1.1  christos 	andl	$-16,%esp
   1434      1.1  christos 	xorl	%ebx,%ebx
   1435      1.1  christos 	testl	$15,%eax
   1436      1.1  christos 	setnz	%bl
   1437      1.1  christos 	shll	$4,%ebx
   1438      1.1  christos 	subl	%ebx,%eax
   1439      1.1  christos 	movl	$135,96(%esp)
   1440      1.1  christos 	movl	$0,100(%esp)
   1441      1.1  christos 	movl	$1,104(%esp)
   1442      1.1  christos 	movl	$0,108(%esp)
   1443      1.1  christos 	movl	%eax,112(%esp)
   1444      1.1  christos 	movl	%ebp,116(%esp)
   1445      1.1  christos 	movl	240(%edx),%ecx
   1446      1.1  christos 	movl	%edx,%ebp
   1447      1.1  christos 	movl	%ecx,%ebx
   1448      1.1  christos 	movdqa	%xmm2,%xmm1
   1449      1.1  christos 	pxor	%xmm0,%xmm0
   1450      1.1  christos 	movdqa	96(%esp),%xmm3
   1451      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1452      1.1  christos 	andl	$-16,%eax
   1453      1.1  christos 	subl	$96,%eax
   1454      1.1  christos 	jc	.L060xts_dec_short
   1455      1.1  christos 	shll	$4,%ecx
   1456      1.1  christos 	movl	$16,%ebx
   1457      1.1  christos 	subl	%ecx,%ebx
   1458      1.1  christos 	leal	32(%edx,%ecx,1),%edx
   1459      1.1  christos 	jmp	.L061xts_dec_loop6
   1460      1.1  christos .align	16
   1461      1.1  christos .L061xts_dec_loop6:
   1462      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1463      1.1  christos 	pxor	%xmm0,%xmm0
   1464      1.1  christos 	movdqa	%xmm1,(%esp)
   1465      1.1  christos 	paddq	%xmm1,%xmm1
   1466      1.1  christos 	pand	%xmm3,%xmm2
   1467      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1468      1.1  christos 	pxor	%xmm2,%xmm1
   1469      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1470      1.1  christos 	pxor	%xmm0,%xmm0
   1471      1.1  christos 	movdqa	%xmm1,16(%esp)
   1472      1.1  christos 	paddq	%xmm1,%xmm1
   1473      1.1  christos 	pand	%xmm3,%xmm2
   1474      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1475      1.1  christos 	pxor	%xmm2,%xmm1
   1476      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1477      1.1  christos 	pxor	%xmm0,%xmm0
   1478      1.1  christos 	movdqa	%xmm1,32(%esp)
   1479      1.1  christos 	paddq	%xmm1,%xmm1
   1480      1.1  christos 	pand	%xmm3,%xmm2
   1481      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1482      1.1  christos 	pxor	%xmm2,%xmm1
   1483      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1484      1.1  christos 	pxor	%xmm0,%xmm0
   1485      1.1  christos 	movdqa	%xmm1,48(%esp)
   1486      1.1  christos 	paddq	%xmm1,%xmm1
   1487      1.1  christos 	pand	%xmm3,%xmm2
   1488      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1489      1.1  christos 	pxor	%xmm2,%xmm1
   1490      1.1  christos 	pshufd	$19,%xmm0,%xmm7
   1491      1.1  christos 	movdqa	%xmm1,64(%esp)
   1492      1.1  christos 	paddq	%xmm1,%xmm1
   1493      1.1  christos 	movups	(%ebp),%xmm0
   1494      1.1  christos 	pand	%xmm3,%xmm7
   1495      1.1  christos 	movups	(%esi),%xmm2
   1496      1.1  christos 	pxor	%xmm1,%xmm7
   1497      1.1  christos 	movl	%ebx,%ecx
   1498      1.1  christos 	movdqu	16(%esi),%xmm3
   1499      1.1  christos 	xorps	%xmm0,%xmm2
   1500      1.1  christos 	movdqu	32(%esi),%xmm4
   1501      1.1  christos 	pxor	%xmm0,%xmm3
   1502      1.1  christos 	movdqu	48(%esi),%xmm5
   1503      1.1  christos 	pxor	%xmm0,%xmm4
   1504      1.1  christos 	movdqu	64(%esi),%xmm6
   1505      1.1  christos 	pxor	%xmm0,%xmm5
   1506      1.1  christos 	movdqu	80(%esi),%xmm1
   1507      1.1  christos 	pxor	%xmm0,%xmm6
   1508      1.1  christos 	leal	96(%esi),%esi
   1509      1.1  christos 	pxor	(%esp),%xmm2
   1510      1.1  christos 	movdqa	%xmm7,80(%esp)
   1511      1.1  christos 	pxor	%xmm1,%xmm7
   1512      1.1  christos 	movups	16(%ebp),%xmm1
   1513      1.1  christos 	pxor	16(%esp),%xmm3
   1514      1.1  christos 	pxor	32(%esp),%xmm4
   1515      1.1  christos .byte	102,15,56,222,209
   1516      1.1  christos 	pxor	48(%esp),%xmm5
   1517      1.1  christos 	pxor	64(%esp),%xmm6
   1518      1.1  christos .byte	102,15,56,222,217
   1519      1.1  christos 	pxor	%xmm0,%xmm7
   1520      1.1  christos 	movups	32(%ebp),%xmm0
   1521      1.1  christos .byte	102,15,56,222,225
   1522      1.1  christos .byte	102,15,56,222,233
   1523      1.1  christos .byte	102,15,56,222,241
   1524      1.1  christos .byte	102,15,56,222,249
   1525      1.1  christos 	call	.L_aesni_decrypt6_enter
   1526      1.1  christos 	movdqa	80(%esp),%xmm1
   1527      1.1  christos 	pxor	%xmm0,%xmm0
   1528      1.1  christos 	xorps	(%esp),%xmm2
   1529      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1530      1.1  christos 	xorps	16(%esp),%xmm3
   1531      1.1  christos 	movups	%xmm2,(%edi)
   1532      1.1  christos 	xorps	32(%esp),%xmm4
   1533      1.1  christos 	movups	%xmm3,16(%edi)
   1534      1.1  christos 	xorps	48(%esp),%xmm5
   1535      1.1  christos 	movups	%xmm4,32(%edi)
   1536      1.1  christos 	xorps	64(%esp),%xmm6
   1537      1.1  christos 	movups	%xmm5,48(%edi)
   1538      1.1  christos 	xorps	%xmm1,%xmm7
   1539      1.1  christos 	movups	%xmm6,64(%edi)
   1540      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1541      1.1  christos 	movups	%xmm7,80(%edi)
   1542      1.1  christos 	leal	96(%edi),%edi
   1543      1.1  christos 	movdqa	96(%esp),%xmm3
   1544      1.1  christos 	pxor	%xmm0,%xmm0
   1545      1.1  christos 	paddq	%xmm1,%xmm1
   1546      1.1  christos 	pand	%xmm3,%xmm2
   1547      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1548      1.1  christos 	pxor	%xmm2,%xmm1
   1549      1.1  christos 	subl	$96,%eax
   1550      1.1  christos 	jnc	.L061xts_dec_loop6
   1551      1.1  christos 	movl	240(%ebp),%ecx
   1552      1.1  christos 	movl	%ebp,%edx
   1553      1.1  christos 	movl	%ecx,%ebx
   1554      1.1  christos .L060xts_dec_short:
   1555      1.1  christos 	addl	$96,%eax
   1556      1.1  christos 	jz	.L062xts_dec_done6x
   1557      1.1  christos 	movdqa	%xmm1,%xmm5
   1558      1.1  christos 	cmpl	$32,%eax
   1559      1.1  christos 	jb	.L063xts_dec_one
   1560      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1561      1.1  christos 	pxor	%xmm0,%xmm0
   1562      1.1  christos 	paddq	%xmm1,%xmm1
   1563      1.1  christos 	pand	%xmm3,%xmm2
   1564      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1565      1.1  christos 	pxor	%xmm2,%xmm1
   1566      1.1  christos 	je	.L064xts_dec_two
   1567      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1568      1.1  christos 	pxor	%xmm0,%xmm0
   1569      1.1  christos 	movdqa	%xmm1,%xmm6
   1570      1.1  christos 	paddq	%xmm1,%xmm1
   1571      1.1  christos 	pand	%xmm3,%xmm2
   1572      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1573      1.1  christos 	pxor	%xmm2,%xmm1
   1574      1.1  christos 	cmpl	$64,%eax
   1575      1.1  christos 	jb	.L065xts_dec_three
   1576      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1577      1.1  christos 	pxor	%xmm0,%xmm0
   1578      1.1  christos 	movdqa	%xmm1,%xmm7
   1579      1.1  christos 	paddq	%xmm1,%xmm1
   1580      1.1  christos 	pand	%xmm3,%xmm2
   1581      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1582      1.1  christos 	pxor	%xmm2,%xmm1
   1583      1.1  christos 	movdqa	%xmm5,(%esp)
   1584      1.1  christos 	movdqa	%xmm6,16(%esp)
   1585      1.1  christos 	je	.L066xts_dec_four
   1586      1.1  christos 	movdqa	%xmm7,32(%esp)
   1587      1.1  christos 	pshufd	$19,%xmm0,%xmm7
   1588      1.1  christos 	movdqa	%xmm1,48(%esp)
   1589      1.1  christos 	paddq	%xmm1,%xmm1
   1590      1.1  christos 	pand	%xmm3,%xmm7
   1591      1.1  christos 	pxor	%xmm1,%xmm7
   1592      1.1  christos 	movdqu	(%esi),%xmm2
   1593      1.1  christos 	movdqu	16(%esi),%xmm3
   1594      1.1  christos 	movdqu	32(%esi),%xmm4
   1595      1.1  christos 	pxor	(%esp),%xmm2
   1596      1.1  christos 	movdqu	48(%esi),%xmm5
   1597      1.1  christos 	pxor	16(%esp),%xmm3
   1598      1.1  christos 	movdqu	64(%esi),%xmm6
   1599      1.1  christos 	pxor	32(%esp),%xmm4
   1600      1.1  christos 	leal	80(%esi),%esi
   1601      1.1  christos 	pxor	48(%esp),%xmm5
   1602      1.1  christos 	movdqa	%xmm7,64(%esp)
   1603      1.1  christos 	pxor	%xmm7,%xmm6
   1604      1.1  christos 	call	_aesni_decrypt6
   1605      1.1  christos 	movaps	64(%esp),%xmm1
   1606      1.1  christos 	xorps	(%esp),%xmm2
   1607      1.1  christos 	xorps	16(%esp),%xmm3
   1608      1.1  christos 	xorps	32(%esp),%xmm4
   1609      1.1  christos 	movups	%xmm2,(%edi)
   1610      1.1  christos 	xorps	48(%esp),%xmm5
   1611      1.1  christos 	movups	%xmm3,16(%edi)
   1612      1.1  christos 	xorps	%xmm1,%xmm6
   1613      1.1  christos 	movups	%xmm4,32(%edi)
   1614      1.1  christos 	movups	%xmm5,48(%edi)
   1615      1.1  christos 	movups	%xmm6,64(%edi)
   1616      1.1  christos 	leal	80(%edi),%edi
   1617      1.1  christos 	jmp	.L067xts_dec_done
   1618      1.1  christos .align	16
   1619      1.1  christos .L063xts_dec_one:
   1620      1.1  christos 	movups	(%esi),%xmm2
   1621      1.1  christos 	leal	16(%esi),%esi
   1622      1.1  christos 	xorps	%xmm5,%xmm2
   1623      1.1  christos 	movups	(%edx),%xmm0
   1624      1.1  christos 	movups	16(%edx),%xmm1
   1625      1.1  christos 	leal	32(%edx),%edx
   1626      1.1  christos 	xorps	%xmm0,%xmm2
   1627      1.1  christos .L068dec1_loop_12:
   1628      1.1  christos .byte	102,15,56,222,209
   1629      1.1  christos 	decl	%ecx
   1630      1.1  christos 	movups	(%edx),%xmm1
   1631      1.1  christos 	leal	16(%edx),%edx
   1632      1.1  christos 	jnz	.L068dec1_loop_12
   1633      1.1  christos .byte	102,15,56,223,209
   1634      1.1  christos 	xorps	%xmm5,%xmm2
   1635      1.1  christos 	movups	%xmm2,(%edi)
   1636      1.1  christos 	leal	16(%edi),%edi
   1637      1.1  christos 	movdqa	%xmm5,%xmm1
   1638      1.1  christos 	jmp	.L067xts_dec_done
   1639      1.1  christos .align	16
   1640      1.1  christos .L064xts_dec_two:
   1641      1.1  christos 	movaps	%xmm1,%xmm6
   1642      1.1  christos 	movups	(%esi),%xmm2
   1643      1.1  christos 	movups	16(%esi),%xmm3
   1644      1.1  christos 	leal	32(%esi),%esi
   1645      1.1  christos 	xorps	%xmm5,%xmm2
   1646      1.1  christos 	xorps	%xmm6,%xmm3
   1647      1.1  christos 	call	_aesni_decrypt2
   1648      1.1  christos 	xorps	%xmm5,%xmm2
   1649      1.1  christos 	xorps	%xmm6,%xmm3
   1650      1.1  christos 	movups	%xmm2,(%edi)
   1651      1.1  christos 	movups	%xmm3,16(%edi)
   1652      1.1  christos 	leal	32(%edi),%edi
   1653      1.1  christos 	movdqa	%xmm6,%xmm1
   1654      1.1  christos 	jmp	.L067xts_dec_done
   1655      1.1  christos .align	16
   1656      1.1  christos .L065xts_dec_three:
   1657      1.1  christos 	movaps	%xmm1,%xmm7
   1658      1.1  christos 	movups	(%esi),%xmm2
   1659      1.1  christos 	movups	16(%esi),%xmm3
   1660      1.1  christos 	movups	32(%esi),%xmm4
   1661      1.1  christos 	leal	48(%esi),%esi
   1662      1.1  christos 	xorps	%xmm5,%xmm2
   1663      1.1  christos 	xorps	%xmm6,%xmm3
   1664      1.1  christos 	xorps	%xmm7,%xmm4
   1665      1.1  christos 	call	_aesni_decrypt3
   1666      1.1  christos 	xorps	%xmm5,%xmm2
   1667      1.1  christos 	xorps	%xmm6,%xmm3
   1668      1.1  christos 	xorps	%xmm7,%xmm4
   1669      1.1  christos 	movups	%xmm2,(%edi)
   1670      1.1  christos 	movups	%xmm3,16(%edi)
   1671      1.1  christos 	movups	%xmm4,32(%edi)
   1672      1.1  christos 	leal	48(%edi),%edi
   1673      1.1  christos 	movdqa	%xmm7,%xmm1
   1674      1.1  christos 	jmp	.L067xts_dec_done
   1675      1.1  christos .align	16
   1676      1.1  christos .L066xts_dec_four:
   1677      1.1  christos 	movaps	%xmm1,%xmm6
   1678      1.1  christos 	movups	(%esi),%xmm2
   1679      1.1  christos 	movups	16(%esi),%xmm3
   1680      1.1  christos 	movups	32(%esi),%xmm4
   1681      1.1  christos 	xorps	(%esp),%xmm2
   1682      1.1  christos 	movups	48(%esi),%xmm5
   1683      1.1  christos 	leal	64(%esi),%esi
   1684      1.1  christos 	xorps	16(%esp),%xmm3
   1685      1.1  christos 	xorps	%xmm7,%xmm4
   1686      1.1  christos 	xorps	%xmm6,%xmm5
   1687      1.1  christos 	call	_aesni_decrypt4
   1688      1.1  christos 	xorps	(%esp),%xmm2
   1689      1.1  christos 	xorps	16(%esp),%xmm3
   1690      1.1  christos 	xorps	%xmm7,%xmm4
   1691      1.1  christos 	movups	%xmm2,(%edi)
   1692      1.1  christos 	xorps	%xmm6,%xmm5
   1693      1.1  christos 	movups	%xmm3,16(%edi)
   1694      1.1  christos 	movups	%xmm4,32(%edi)
   1695      1.1  christos 	movups	%xmm5,48(%edi)
   1696      1.1  christos 	leal	64(%edi),%edi
   1697      1.1  christos 	movdqa	%xmm6,%xmm1
   1698      1.1  christos 	jmp	.L067xts_dec_done
   1699      1.1  christos .align	16
   1700      1.1  christos .L062xts_dec_done6x:
   1701      1.1  christos 	movl	112(%esp),%eax
   1702      1.1  christos 	andl	$15,%eax
   1703      1.1  christos 	jz	.L069xts_dec_ret
   1704      1.1  christos 	movl	%eax,112(%esp)
   1705      1.1  christos 	jmp	.L070xts_dec_only_one_more
   1706      1.1  christos .align	16
   1707      1.1  christos .L067xts_dec_done:
   1708      1.1  christos 	movl	112(%esp),%eax
   1709      1.1  christos 	pxor	%xmm0,%xmm0
   1710      1.1  christos 	andl	$15,%eax
   1711      1.1  christos 	jz	.L069xts_dec_ret
   1712      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1713      1.1  christos 	movl	%eax,112(%esp)
   1714      1.1  christos 	pshufd	$19,%xmm0,%xmm2
   1715      1.1  christos 	pxor	%xmm0,%xmm0
   1716      1.1  christos 	movdqa	96(%esp),%xmm3
   1717      1.1  christos 	paddq	%xmm1,%xmm1
   1718      1.1  christos 	pand	%xmm3,%xmm2
   1719      1.1  christos 	pcmpgtd	%xmm1,%xmm0
   1720      1.1  christos 	pxor	%xmm2,%xmm1
   1721      1.1  christos .L070xts_dec_only_one_more:
   1722      1.1  christos 	pshufd	$19,%xmm0,%xmm5
   1723      1.1  christos 	movdqa	%xmm1,%xmm6
   1724      1.1  christos 	paddq	%xmm1,%xmm1
   1725      1.1  christos 	pand	%xmm3,%xmm5
   1726      1.1  christos 	pxor	%xmm1,%xmm5
   1727      1.1  christos 	movl	%ebp,%edx
   1728      1.1  christos 	movl	%ebx,%ecx
   1729      1.1  christos 	movups	(%esi),%xmm2
   1730      1.1  christos 	xorps	%xmm5,%xmm2
   1731      1.1  christos 	movups	(%edx),%xmm0
   1732      1.1  christos 	movups	16(%edx),%xmm1
   1733      1.1  christos 	leal	32(%edx),%edx
   1734      1.1  christos 	xorps	%xmm0,%xmm2
   1735      1.1  christos .L071dec1_loop_13:
   1736      1.1  christos .byte	102,15,56,222,209
   1737      1.1  christos 	decl	%ecx
   1738      1.1  christos 	movups	(%edx),%xmm1
   1739      1.1  christos 	leal	16(%edx),%edx
   1740      1.1  christos 	jnz	.L071dec1_loop_13
   1741      1.1  christos .byte	102,15,56,223,209
   1742      1.1  christos 	xorps	%xmm5,%xmm2
   1743      1.1  christos 	movups	%xmm2,(%edi)
   1744      1.1  christos .L072xts_dec_steal:
   1745      1.1  christos 	movzbl	16(%esi),%ecx
   1746      1.1  christos 	movzbl	(%edi),%edx
   1747      1.1  christos 	leal	1(%esi),%esi
   1748      1.1  christos 	movb	%cl,(%edi)
   1749      1.1  christos 	movb	%dl,16(%edi)
   1750      1.1  christos 	leal	1(%edi),%edi
   1751      1.1  christos 	subl	$1,%eax
   1752      1.1  christos 	jnz	.L072xts_dec_steal
   1753      1.1  christos 	subl	112(%esp),%edi
   1754      1.1  christos 	movl	%ebp,%edx
   1755      1.1  christos 	movl	%ebx,%ecx
   1756      1.1  christos 	movups	(%edi),%xmm2
   1757      1.1  christos 	xorps	%xmm6,%xmm2
   1758      1.1  christos 	movups	(%edx),%xmm0
   1759      1.1  christos 	movups	16(%edx),%xmm1
   1760      1.1  christos 	leal	32(%edx),%edx
   1761      1.1  christos 	xorps	%xmm0,%xmm2
   1762      1.1  christos .L073dec1_loop_14:
   1763      1.1  christos .byte	102,15,56,222,209
   1764      1.1  christos 	decl	%ecx
   1765      1.1  christos 	movups	(%edx),%xmm1
   1766      1.1  christos 	leal	16(%edx),%edx
   1767      1.1  christos 	jnz	.L073dec1_loop_14
   1768      1.1  christos .byte	102,15,56,223,209
   1769      1.1  christos 	xorps	%xmm6,%xmm2
   1770      1.1  christos 	movups	%xmm2,(%edi)
   1771      1.1  christos .L069xts_dec_ret:
   1772      1.1  christos 	pxor	%xmm0,%xmm0
   1773      1.1  christos 	pxor	%xmm1,%xmm1
   1774      1.1  christos 	pxor	%xmm2,%xmm2
   1775      1.1  christos 	movdqa	%xmm0,(%esp)
   1776      1.1  christos 	pxor	%xmm3,%xmm3
   1777      1.1  christos 	movdqa	%xmm0,16(%esp)
   1778      1.1  christos 	pxor	%xmm4,%xmm4
   1779      1.1  christos 	movdqa	%xmm0,32(%esp)
   1780      1.1  christos 	pxor	%xmm5,%xmm5
   1781      1.1  christos 	movdqa	%xmm0,48(%esp)
   1782      1.1  christos 	pxor	%xmm6,%xmm6
   1783      1.1  christos 	movdqa	%xmm0,64(%esp)
   1784      1.1  christos 	pxor	%xmm7,%xmm7
   1785      1.1  christos 	movdqa	%xmm0,80(%esp)
   1786      1.1  christos 	movl	116(%esp),%esp
   1787      1.1  christos 	popl	%edi
   1788      1.1  christos 	popl	%esi
   1789      1.1  christos 	popl	%ebx
   1790      1.1  christos 	popl	%ebp
   1791      1.1  christos 	ret
   1792      1.1  christos .size	aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
   1793  1.1.1.2  christos .globl	aesni_ocb_encrypt
   1794  1.1.1.2  christos .type	aesni_ocb_encrypt,@function
   1795  1.1.1.2  christos .align	16
   1796  1.1.1.2  christos aesni_ocb_encrypt:
   1797  1.1.1.2  christos .L_aesni_ocb_encrypt_begin:
   1798  1.1.1.2  christos 	pushl	%ebp
   1799  1.1.1.2  christos 	pushl	%ebx
   1800  1.1.1.2  christos 	pushl	%esi
   1801  1.1.1.2  christos 	pushl	%edi
   1802  1.1.1.2  christos 	movl	40(%esp),%ecx
   1803  1.1.1.2  christos 	movl	48(%esp),%ebx
   1804  1.1.1.2  christos 	movl	20(%esp),%esi
   1805  1.1.1.2  christos 	movl	24(%esp),%edi
   1806  1.1.1.2  christos 	movl	28(%esp),%eax
   1807  1.1.1.2  christos 	movl	32(%esp),%edx
   1808  1.1.1.2  christos 	movdqu	(%ecx),%xmm0
   1809  1.1.1.2  christos 	movl	36(%esp),%ebp
   1810  1.1.1.2  christos 	movdqu	(%ebx),%xmm1
   1811  1.1.1.2  christos 	movl	44(%esp),%ebx
   1812  1.1.1.2  christos 	movl	%esp,%ecx
   1813  1.1.1.2  christos 	subl	$132,%esp
   1814  1.1.1.2  christos 	andl	$-16,%esp
   1815  1.1.1.2  christos 	subl	%esi,%edi
   1816  1.1.1.2  christos 	shll	$4,%eax
   1817  1.1.1.2  christos 	leal	-96(%esi,%eax,1),%eax
   1818  1.1.1.2  christos 	movl	%edi,120(%esp)
   1819  1.1.1.2  christos 	movl	%eax,124(%esp)
   1820  1.1.1.2  christos 	movl	%ecx,128(%esp)
   1821  1.1.1.2  christos 	movl	240(%edx),%ecx
   1822  1.1.1.2  christos 	testl	$1,%ebp
   1823  1.1.1.2  christos 	jnz	.L074odd
   1824  1.1.1.2  christos 	bsfl	%ebp,%eax
   1825  1.1.1.2  christos 	addl	$1,%ebp
   1826  1.1.1.2  christos 	shll	$4,%eax
   1827  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm7
   1828  1.1.1.2  christos 	movl	%edx,%eax
   1829  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   1830  1.1.1.2  christos 	leal	16(%esi),%esi
   1831  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   1832  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   1833  1.1.1.2  christos 	pxor	%xmm7,%xmm2
   1834  1.1.1.2  christos 	movdqa	%xmm1,%xmm6
   1835  1.1.1.2  christos 	movups	(%edx),%xmm0
   1836  1.1.1.2  christos 	movups	16(%edx),%xmm1
   1837  1.1.1.2  christos 	leal	32(%edx),%edx
   1838  1.1.1.2  christos 	xorps	%xmm0,%xmm2
   1839  1.1.1.2  christos .L075enc1_loop_15:
   1840  1.1.1.2  christos .byte	102,15,56,220,209
   1841  1.1.1.2  christos 	decl	%ecx
   1842  1.1.1.2  christos 	movups	(%edx),%xmm1
   1843  1.1.1.2  christos 	leal	16(%edx),%edx
   1844  1.1.1.2  christos 	jnz	.L075enc1_loop_15
   1845  1.1.1.2  christos .byte	102,15,56,221,209
   1846  1.1.1.2  christos 	xorps	%xmm7,%xmm2
   1847  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   1848  1.1.1.2  christos 	movdqa	%xmm6,%xmm1
   1849  1.1.1.2  christos 	movups	%xmm2,-16(%edi,%esi,1)
   1850  1.1.1.2  christos 	movl	240(%eax),%ecx
   1851  1.1.1.2  christos 	movl	%eax,%edx
   1852  1.1.1.2  christos 	movl	124(%esp),%eax
   1853  1.1.1.2  christos .L074odd:
   1854  1.1.1.2  christos 	shll	$4,%ecx
   1855  1.1.1.2  christos 	movl	$16,%edi
   1856  1.1.1.2  christos 	subl	%ecx,%edi
   1857  1.1.1.2  christos 	movl	%edx,112(%esp)
   1858  1.1.1.2  christos 	leal	32(%edx,%ecx,1),%edx
   1859  1.1.1.2  christos 	movl	%edi,116(%esp)
   1860  1.1.1.2  christos 	cmpl	%eax,%esi
   1861  1.1.1.2  christos 	ja	.L076short
   1862  1.1.1.2  christos 	jmp	.L077grandloop
   1863  1.1.1.2  christos .align	32
   1864  1.1.1.2  christos .L077grandloop:
   1865  1.1.1.2  christos 	leal	1(%ebp),%ecx
   1866  1.1.1.2  christos 	leal	3(%ebp),%eax
   1867  1.1.1.2  christos 	leal	5(%ebp),%edi
   1868  1.1.1.2  christos 	addl	$6,%ebp
   1869  1.1.1.2  christos 	bsfl	%ecx,%ecx
   1870  1.1.1.2  christos 	bsfl	%eax,%eax
   1871  1.1.1.2  christos 	bsfl	%edi,%edi
   1872  1.1.1.2  christos 	shll	$4,%ecx
   1873  1.1.1.2  christos 	shll	$4,%eax
   1874  1.1.1.2  christos 	shll	$4,%edi
   1875  1.1.1.2  christos 	movdqu	(%ebx),%xmm2
   1876  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm3
   1877  1.1.1.2  christos 	movl	116(%esp),%ecx
   1878  1.1.1.2  christos 	movdqa	%xmm2,%xmm4
   1879  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm5
   1880  1.1.1.2  christos 	movdqa	%xmm2,%xmm6
   1881  1.1.1.2  christos 	movdqu	(%ebx,%edi,1),%xmm7
   1882  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   1883  1.1.1.2  christos 	pxor	%xmm2,%xmm3
   1884  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   1885  1.1.1.2  christos 	pxor	%xmm3,%xmm4
   1886  1.1.1.2  christos 	movdqa	%xmm3,16(%esp)
   1887  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   1888  1.1.1.2  christos 	movdqa	%xmm4,32(%esp)
   1889  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   1890  1.1.1.2  christos 	movdqa	%xmm5,48(%esp)
   1891  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   1892  1.1.1.2  christos 	movdqa	%xmm6,64(%esp)
   1893  1.1.1.2  christos 	movdqa	%xmm7,80(%esp)
   1894  1.1.1.2  christos 	movups	-48(%edx,%ecx,1),%xmm0
   1895  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   1896  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   1897  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   1898  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   1899  1.1.1.2  christos 	movdqu	64(%esi),%xmm6
   1900  1.1.1.2  christos 	movdqu	80(%esi),%xmm7
   1901  1.1.1.2  christos 	leal	96(%esi),%esi
   1902  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   1903  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   1904  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   1905  1.1.1.2  christos 	pxor	%xmm0,%xmm3
   1906  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   1907  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   1908  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   1909  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   1910  1.1.1.2  christos 	pxor	%xmm6,%xmm1
   1911  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   1912  1.1.1.2  christos 	pxor	%xmm7,%xmm1
   1913  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   1914  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   1915  1.1.1.2  christos 	movups	-32(%edx,%ecx,1),%xmm1
   1916  1.1.1.2  christos 	pxor	(%esp),%xmm2
   1917  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   1918  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   1919  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   1920  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   1921  1.1.1.2  christos 	pxor	80(%esp),%xmm7
   1922  1.1.1.2  christos 	movups	-16(%edx,%ecx,1),%xmm0
   1923  1.1.1.2  christos .byte	102,15,56,220,209
   1924  1.1.1.2  christos .byte	102,15,56,220,217
   1925  1.1.1.2  christos .byte	102,15,56,220,225
   1926  1.1.1.2  christos .byte	102,15,56,220,233
   1927  1.1.1.2  christos .byte	102,15,56,220,241
   1928  1.1.1.2  christos .byte	102,15,56,220,249
   1929  1.1.1.2  christos 	movl	120(%esp),%edi
   1930  1.1.1.2  christos 	movl	124(%esp),%eax
   1931  1.1.1.2  christos 	call	.L_aesni_encrypt6_enter
   1932  1.1.1.2  christos 	movdqa	80(%esp),%xmm0
   1933  1.1.1.2  christos 	pxor	(%esp),%xmm2
   1934  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   1935  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   1936  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   1937  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   1938  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   1939  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   1940  1.1.1.2  christos 	movdqu	%xmm2,-96(%edi,%esi,1)
   1941  1.1.1.2  christos 	movdqu	%xmm3,-80(%edi,%esi,1)
   1942  1.1.1.2  christos 	movdqu	%xmm4,-64(%edi,%esi,1)
   1943  1.1.1.2  christos 	movdqu	%xmm5,-48(%edi,%esi,1)
   1944  1.1.1.2  christos 	movdqu	%xmm6,-32(%edi,%esi,1)
   1945  1.1.1.2  christos 	movdqu	%xmm7,-16(%edi,%esi,1)
   1946  1.1.1.2  christos 	cmpl	%eax,%esi
   1947  1.1.1.2  christos 	jb	.L077grandloop
   1948  1.1.1.2  christos .L076short:
   1949  1.1.1.2  christos 	addl	$96,%eax
   1950  1.1.1.2  christos 	subl	%esi,%eax
   1951  1.1.1.2  christos 	jz	.L078done
   1952  1.1.1.2  christos 	cmpl	$32,%eax
   1953  1.1.1.2  christos 	jb	.L079one
   1954  1.1.1.2  christos 	je	.L080two
   1955  1.1.1.2  christos 	cmpl	$64,%eax
   1956  1.1.1.2  christos 	jb	.L081three
   1957  1.1.1.2  christos 	je	.L082four
   1958  1.1.1.2  christos 	leal	1(%ebp),%ecx
   1959  1.1.1.2  christos 	leal	3(%ebp),%eax
   1960  1.1.1.2  christos 	bsfl	%ecx,%ecx
   1961  1.1.1.2  christos 	bsfl	%eax,%eax
   1962  1.1.1.2  christos 	shll	$4,%ecx
   1963  1.1.1.2  christos 	shll	$4,%eax
   1964  1.1.1.2  christos 	movdqu	(%ebx),%xmm2
   1965  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm3
   1966  1.1.1.2  christos 	movl	116(%esp),%ecx
   1967  1.1.1.2  christos 	movdqa	%xmm2,%xmm4
   1968  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm5
   1969  1.1.1.2  christos 	movdqa	%xmm2,%xmm6
   1970  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   1971  1.1.1.2  christos 	pxor	%xmm2,%xmm3
   1972  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   1973  1.1.1.2  christos 	pxor	%xmm3,%xmm4
   1974  1.1.1.2  christos 	movdqa	%xmm3,16(%esp)
   1975  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   1976  1.1.1.2  christos 	movdqa	%xmm4,32(%esp)
   1977  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   1978  1.1.1.2  christos 	movdqa	%xmm5,48(%esp)
   1979  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   1980  1.1.1.2  christos 	movdqa	%xmm6,64(%esp)
   1981  1.1.1.2  christos 	movups	-48(%edx,%ecx,1),%xmm0
   1982  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   1983  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   1984  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   1985  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   1986  1.1.1.2  christos 	movdqu	64(%esi),%xmm6
   1987  1.1.1.2  christos 	pxor	%xmm7,%xmm7
   1988  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   1989  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   1990  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   1991  1.1.1.2  christos 	pxor	%xmm0,%xmm3
   1992  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   1993  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   1994  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   1995  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   1996  1.1.1.2  christos 	pxor	%xmm6,%xmm1
   1997  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   1998  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   1999  1.1.1.2  christos 	movups	-32(%edx,%ecx,1),%xmm1
   2000  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2001  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2002  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2003  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2004  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   2005  1.1.1.2  christos 	movups	-16(%edx,%ecx,1),%xmm0
   2006  1.1.1.2  christos .byte	102,15,56,220,209
   2007  1.1.1.2  christos .byte	102,15,56,220,217
   2008  1.1.1.2  christos .byte	102,15,56,220,225
   2009  1.1.1.2  christos .byte	102,15,56,220,233
   2010  1.1.1.2  christos .byte	102,15,56,220,241
   2011  1.1.1.2  christos .byte	102,15,56,220,249
   2012  1.1.1.2  christos 	movl	120(%esp),%edi
   2013  1.1.1.2  christos 	call	.L_aesni_encrypt6_enter
   2014  1.1.1.2  christos 	movdqa	64(%esp),%xmm0
   2015  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2016  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2017  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2018  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2019  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2020  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2021  1.1.1.2  christos 	movdqu	%xmm2,(%edi,%esi,1)
   2022  1.1.1.2  christos 	movdqu	%xmm3,16(%edi,%esi,1)
   2023  1.1.1.2  christos 	movdqu	%xmm4,32(%edi,%esi,1)
   2024  1.1.1.2  christos 	movdqu	%xmm5,48(%edi,%esi,1)
   2025  1.1.1.2  christos 	movdqu	%xmm6,64(%edi,%esi,1)
   2026  1.1.1.2  christos 	jmp	.L078done
   2027  1.1.1.2  christos .align	16
   2028  1.1.1.2  christos .L079one:
   2029  1.1.1.2  christos 	movdqu	(%ebx),%xmm7
   2030  1.1.1.2  christos 	movl	112(%esp),%edx
   2031  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2032  1.1.1.2  christos 	movl	240(%edx),%ecx
   2033  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   2034  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2035  1.1.1.2  christos 	pxor	%xmm7,%xmm2
   2036  1.1.1.2  christos 	movdqa	%xmm1,%xmm6
   2037  1.1.1.2  christos 	movl	120(%esp),%edi
   2038  1.1.1.2  christos 	movups	(%edx),%xmm0
   2039  1.1.1.2  christos 	movups	16(%edx),%xmm1
   2040  1.1.1.2  christos 	leal	32(%edx),%edx
   2041  1.1.1.2  christos 	xorps	%xmm0,%xmm2
   2042  1.1.1.2  christos .L083enc1_loop_16:
   2043  1.1.1.2  christos .byte	102,15,56,220,209
   2044  1.1.1.2  christos 	decl	%ecx
   2045  1.1.1.2  christos 	movups	(%edx),%xmm1
   2046  1.1.1.2  christos 	leal	16(%edx),%edx
   2047  1.1.1.2  christos 	jnz	.L083enc1_loop_16
   2048  1.1.1.2  christos .byte	102,15,56,221,209
   2049  1.1.1.2  christos 	xorps	%xmm7,%xmm2
   2050  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2051  1.1.1.2  christos 	movdqa	%xmm6,%xmm1
   2052  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2053  1.1.1.2  christos 	jmp	.L078done
   2054  1.1.1.2  christos .align	16
   2055  1.1.1.2  christos .L080two:
   2056  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2057  1.1.1.2  christos 	movl	112(%esp),%edx
   2058  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2059  1.1.1.2  christos 	shll	$4,%ecx
   2060  1.1.1.2  christos 	movdqu	(%ebx),%xmm6
   2061  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm7
   2062  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2063  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2064  1.1.1.2  christos 	movl	240(%edx),%ecx
   2065  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2066  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2067  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2068  1.1.1.2  christos 	pxor	%xmm6,%xmm2
   2069  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2070  1.1.1.2  christos 	pxor	%xmm7,%xmm3
   2071  1.1.1.2  christos 	movdqa	%xmm1,%xmm5
   2072  1.1.1.2  christos 	movl	120(%esp),%edi
   2073  1.1.1.2  christos 	call	_aesni_encrypt2
   2074  1.1.1.2  christos 	xorps	%xmm6,%xmm2
   2075  1.1.1.2  christos 	xorps	%xmm7,%xmm3
   2076  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2077  1.1.1.2  christos 	movdqa	%xmm5,%xmm1
   2078  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2079  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2080  1.1.1.2  christos 	jmp	.L078done
   2081  1.1.1.2  christos .align	16
   2082  1.1.1.2  christos .L081three:
   2083  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2084  1.1.1.2  christos 	movl	112(%esp),%edx
   2085  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2086  1.1.1.2  christos 	shll	$4,%ecx
   2087  1.1.1.2  christos 	movdqu	(%ebx),%xmm5
   2088  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm6
   2089  1.1.1.2  christos 	movdqa	%xmm5,%xmm7
   2090  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2091  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2092  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2093  1.1.1.2  christos 	movl	240(%edx),%ecx
   2094  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   2095  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2096  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2097  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2098  1.1.1.2  christos 	pxor	%xmm5,%xmm2
   2099  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2100  1.1.1.2  christos 	pxor	%xmm6,%xmm3
   2101  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2102  1.1.1.2  christos 	pxor	%xmm7,%xmm4
   2103  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2104  1.1.1.2  christos 	movl	120(%esp),%edi
   2105  1.1.1.2  christos 	call	_aesni_encrypt3
   2106  1.1.1.2  christos 	xorps	%xmm5,%xmm2
   2107  1.1.1.2  christos 	xorps	%xmm6,%xmm3
   2108  1.1.1.2  christos 	xorps	%xmm7,%xmm4
   2109  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2110  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2111  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2112  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2113  1.1.1.2  christos 	movups	%xmm4,32(%edi,%esi,1)
   2114  1.1.1.2  christos 	jmp	.L078done
   2115  1.1.1.2  christos .align	16
   2116  1.1.1.2  christos .L082four:
   2117  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2118  1.1.1.2  christos 	leal	3(%ebp),%eax
   2119  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2120  1.1.1.2  christos 	bsfl	%eax,%eax
   2121  1.1.1.2  christos 	movl	112(%esp),%edx
   2122  1.1.1.2  christos 	shll	$4,%ecx
   2123  1.1.1.2  christos 	shll	$4,%eax
   2124  1.1.1.2  christos 	movdqu	(%ebx),%xmm4
   2125  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm5
   2126  1.1.1.2  christos 	movdqa	%xmm4,%xmm6
   2127  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm7
   2128  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   2129  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2130  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   2131  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2132  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2133  1.1.1.2  christos 	movdqa	%xmm4,(%esp)
   2134  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2135  1.1.1.2  christos 	movdqa	%xmm5,16(%esp)
   2136  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2137  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   2138  1.1.1.2  christos 	movl	240(%edx),%ecx
   2139  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2140  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2141  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2142  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2143  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2144  1.1.1.2  christos 	pxor	%xmm6,%xmm4
   2145  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   2146  1.1.1.2  christos 	pxor	%xmm7,%xmm5
   2147  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2148  1.1.1.2  christos 	movl	120(%esp),%edi
   2149  1.1.1.2  christos 	call	_aesni_encrypt4
   2150  1.1.1.2  christos 	xorps	(%esp),%xmm2
   2151  1.1.1.2  christos 	xorps	16(%esp),%xmm3
   2152  1.1.1.2  christos 	xorps	%xmm6,%xmm4
   2153  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2154  1.1.1.2  christos 	xorps	%xmm7,%xmm5
   2155  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2156  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2157  1.1.1.2  christos 	movups	%xmm4,32(%edi,%esi,1)
   2158  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2159  1.1.1.2  christos 	movups	%xmm5,48(%edi,%esi,1)
   2160  1.1.1.2  christos .L078done:
   2161  1.1.1.2  christos 	movl	128(%esp),%edx
   2162  1.1.1.2  christos 	pxor	%xmm2,%xmm2
   2163  1.1.1.2  christos 	pxor	%xmm3,%xmm3
   2164  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   2165  1.1.1.2  christos 	pxor	%xmm4,%xmm4
   2166  1.1.1.2  christos 	movdqa	%xmm2,16(%esp)
   2167  1.1.1.2  christos 	pxor	%xmm5,%xmm5
   2168  1.1.1.2  christos 	movdqa	%xmm2,32(%esp)
   2169  1.1.1.2  christos 	pxor	%xmm6,%xmm6
   2170  1.1.1.2  christos 	movdqa	%xmm2,48(%esp)
   2171  1.1.1.2  christos 	pxor	%xmm7,%xmm7
   2172  1.1.1.2  christos 	movdqa	%xmm2,64(%esp)
   2173  1.1.1.2  christos 	movdqa	%xmm2,80(%esp)
   2174  1.1.1.2  christos 	movdqa	%xmm2,96(%esp)
   2175  1.1.1.2  christos 	leal	(%edx),%esp
   2176  1.1.1.2  christos 	movl	40(%esp),%ecx
   2177  1.1.1.2  christos 	movl	48(%esp),%ebx
   2178  1.1.1.2  christos 	movdqu	%xmm0,(%ecx)
   2179  1.1.1.2  christos 	pxor	%xmm0,%xmm0
   2180  1.1.1.2  christos 	movdqu	%xmm1,(%ebx)
   2181  1.1.1.2  christos 	pxor	%xmm1,%xmm1
   2182  1.1.1.2  christos 	popl	%edi
   2183  1.1.1.2  christos 	popl	%esi
   2184  1.1.1.2  christos 	popl	%ebx
   2185  1.1.1.2  christos 	popl	%ebp
   2186  1.1.1.2  christos 	ret
   2187  1.1.1.2  christos .size	aesni_ocb_encrypt,.-.L_aesni_ocb_encrypt_begin
   2188  1.1.1.2  christos .globl	aesni_ocb_decrypt
   2189  1.1.1.2  christos .type	aesni_ocb_decrypt,@function
   2190  1.1.1.2  christos .align	16
   2191  1.1.1.2  christos aesni_ocb_decrypt:
   2192  1.1.1.2  christos .L_aesni_ocb_decrypt_begin:
   2193  1.1.1.2  christos 	pushl	%ebp
   2194  1.1.1.2  christos 	pushl	%ebx
   2195  1.1.1.2  christos 	pushl	%esi
   2196  1.1.1.2  christos 	pushl	%edi
   2197  1.1.1.2  christos 	movl	40(%esp),%ecx
   2198  1.1.1.2  christos 	movl	48(%esp),%ebx
   2199  1.1.1.2  christos 	movl	20(%esp),%esi
   2200  1.1.1.2  christos 	movl	24(%esp),%edi
   2201  1.1.1.2  christos 	movl	28(%esp),%eax
   2202  1.1.1.2  christos 	movl	32(%esp),%edx
   2203  1.1.1.2  christos 	movdqu	(%ecx),%xmm0
   2204  1.1.1.2  christos 	movl	36(%esp),%ebp
   2205  1.1.1.2  christos 	movdqu	(%ebx),%xmm1
   2206  1.1.1.2  christos 	movl	44(%esp),%ebx
   2207  1.1.1.2  christos 	movl	%esp,%ecx
   2208  1.1.1.2  christos 	subl	$132,%esp
   2209  1.1.1.2  christos 	andl	$-16,%esp
   2210  1.1.1.2  christos 	subl	%esi,%edi
   2211  1.1.1.2  christos 	shll	$4,%eax
   2212  1.1.1.2  christos 	leal	-96(%esi,%eax,1),%eax
   2213  1.1.1.2  christos 	movl	%edi,120(%esp)
   2214  1.1.1.2  christos 	movl	%eax,124(%esp)
   2215  1.1.1.2  christos 	movl	%ecx,128(%esp)
   2216  1.1.1.2  christos 	movl	240(%edx),%ecx
   2217  1.1.1.2  christos 	testl	$1,%ebp
   2218  1.1.1.2  christos 	jnz	.L084odd
   2219  1.1.1.2  christos 	bsfl	%ebp,%eax
   2220  1.1.1.2  christos 	addl	$1,%ebp
   2221  1.1.1.2  christos 	shll	$4,%eax
   2222  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm7
   2223  1.1.1.2  christos 	movl	%edx,%eax
   2224  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2225  1.1.1.2  christos 	leal	16(%esi),%esi
   2226  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   2227  1.1.1.2  christos 	pxor	%xmm7,%xmm2
   2228  1.1.1.2  christos 	movdqa	%xmm1,%xmm6
   2229  1.1.1.2  christos 	movups	(%edx),%xmm0
   2230  1.1.1.2  christos 	movups	16(%edx),%xmm1
   2231  1.1.1.2  christos 	leal	32(%edx),%edx
   2232  1.1.1.2  christos 	xorps	%xmm0,%xmm2
   2233  1.1.1.2  christos .L085dec1_loop_17:
   2234  1.1.1.2  christos .byte	102,15,56,222,209
   2235  1.1.1.2  christos 	decl	%ecx
   2236  1.1.1.2  christos 	movups	(%edx),%xmm1
   2237  1.1.1.2  christos 	leal	16(%edx),%edx
   2238  1.1.1.2  christos 	jnz	.L085dec1_loop_17
   2239  1.1.1.2  christos .byte	102,15,56,223,209
   2240  1.1.1.2  christos 	xorps	%xmm7,%xmm2
   2241  1.1.1.2  christos 	movaps	%xmm6,%xmm1
   2242  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2243  1.1.1.2  christos 	xorps	%xmm2,%xmm1
   2244  1.1.1.2  christos 	movups	%xmm2,-16(%edi,%esi,1)
   2245  1.1.1.2  christos 	movl	240(%eax),%ecx
   2246  1.1.1.2  christos 	movl	%eax,%edx
   2247  1.1.1.2  christos 	movl	124(%esp),%eax
   2248  1.1.1.2  christos .L084odd:
   2249  1.1.1.2  christos 	shll	$4,%ecx
   2250  1.1.1.2  christos 	movl	$16,%edi
   2251  1.1.1.2  christos 	subl	%ecx,%edi
   2252  1.1.1.2  christos 	movl	%edx,112(%esp)
   2253  1.1.1.2  christos 	leal	32(%edx,%ecx,1),%edx
   2254  1.1.1.2  christos 	movl	%edi,116(%esp)
   2255  1.1.1.2  christos 	cmpl	%eax,%esi
   2256  1.1.1.2  christos 	ja	.L086short
   2257  1.1.1.2  christos 	jmp	.L087grandloop
   2258  1.1.1.2  christos .align	32
   2259  1.1.1.2  christos .L087grandloop:
   2260  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2261  1.1.1.2  christos 	leal	3(%ebp),%eax
   2262  1.1.1.2  christos 	leal	5(%ebp),%edi
   2263  1.1.1.2  christos 	addl	$6,%ebp
   2264  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2265  1.1.1.2  christos 	bsfl	%eax,%eax
   2266  1.1.1.2  christos 	bsfl	%edi,%edi
   2267  1.1.1.2  christos 	shll	$4,%ecx
   2268  1.1.1.2  christos 	shll	$4,%eax
   2269  1.1.1.2  christos 	shll	$4,%edi
   2270  1.1.1.2  christos 	movdqu	(%ebx),%xmm2
   2271  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm3
   2272  1.1.1.2  christos 	movl	116(%esp),%ecx
   2273  1.1.1.2  christos 	movdqa	%xmm2,%xmm4
   2274  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm5
   2275  1.1.1.2  christos 	movdqa	%xmm2,%xmm6
   2276  1.1.1.2  christos 	movdqu	(%ebx,%edi,1),%xmm7
   2277  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   2278  1.1.1.2  christos 	pxor	%xmm2,%xmm3
   2279  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   2280  1.1.1.2  christos 	pxor	%xmm3,%xmm4
   2281  1.1.1.2  christos 	movdqa	%xmm3,16(%esp)
   2282  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   2283  1.1.1.2  christos 	movdqa	%xmm4,32(%esp)
   2284  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2285  1.1.1.2  christos 	movdqa	%xmm5,48(%esp)
   2286  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2287  1.1.1.2  christos 	movdqa	%xmm6,64(%esp)
   2288  1.1.1.2  christos 	movdqa	%xmm7,80(%esp)
   2289  1.1.1.2  christos 	movups	-48(%edx,%ecx,1),%xmm0
   2290  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2291  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2292  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2293  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   2294  1.1.1.2  christos 	movdqu	64(%esi),%xmm6
   2295  1.1.1.2  christos 	movdqu	80(%esi),%xmm7
   2296  1.1.1.2  christos 	leal	96(%esi),%esi
   2297  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2298  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   2299  1.1.1.2  christos 	pxor	%xmm0,%xmm3
   2300  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   2301  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   2302  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2303  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   2304  1.1.1.2  christos 	movups	-32(%edx,%ecx,1),%xmm1
   2305  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2306  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2307  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2308  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2309  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   2310  1.1.1.2  christos 	pxor	80(%esp),%xmm7
   2311  1.1.1.2  christos 	movups	-16(%edx,%ecx,1),%xmm0
   2312  1.1.1.2  christos .byte	102,15,56,222,209
   2313  1.1.1.2  christos .byte	102,15,56,222,217
   2314  1.1.1.2  christos .byte	102,15,56,222,225
   2315  1.1.1.2  christos .byte	102,15,56,222,233
   2316  1.1.1.2  christos .byte	102,15,56,222,241
   2317  1.1.1.2  christos .byte	102,15,56,222,249
   2318  1.1.1.2  christos 	movl	120(%esp),%edi
   2319  1.1.1.2  christos 	movl	124(%esp),%eax
   2320  1.1.1.2  christos 	call	.L_aesni_decrypt6_enter
   2321  1.1.1.2  christos 	movdqa	80(%esp),%xmm0
   2322  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2323  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2324  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2325  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2326  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2327  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   2328  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   2329  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2330  1.1.1.2  christos 	movdqu	%xmm2,-96(%edi,%esi,1)
   2331  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2332  1.1.1.2  christos 	movdqu	%xmm3,-80(%edi,%esi,1)
   2333  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2334  1.1.1.2  christos 	movdqu	%xmm4,-64(%edi,%esi,1)
   2335  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   2336  1.1.1.2  christos 	movdqu	%xmm5,-48(%edi,%esi,1)
   2337  1.1.1.2  christos 	pxor	%xmm6,%xmm1
   2338  1.1.1.2  christos 	movdqu	%xmm6,-32(%edi,%esi,1)
   2339  1.1.1.2  christos 	pxor	%xmm7,%xmm1
   2340  1.1.1.2  christos 	movdqu	%xmm7,-16(%edi,%esi,1)
   2341  1.1.1.2  christos 	cmpl	%eax,%esi
   2342  1.1.1.2  christos 	jb	.L087grandloop
   2343  1.1.1.2  christos .L086short:
   2344  1.1.1.2  christos 	addl	$96,%eax
   2345  1.1.1.2  christos 	subl	%esi,%eax
   2346  1.1.1.2  christos 	jz	.L088done
   2347  1.1.1.2  christos 	cmpl	$32,%eax
   2348  1.1.1.2  christos 	jb	.L089one
   2349  1.1.1.2  christos 	je	.L090two
   2350  1.1.1.2  christos 	cmpl	$64,%eax
   2351  1.1.1.2  christos 	jb	.L091three
   2352  1.1.1.2  christos 	je	.L092four
   2353  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2354  1.1.1.2  christos 	leal	3(%ebp),%eax
   2355  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2356  1.1.1.2  christos 	bsfl	%eax,%eax
   2357  1.1.1.2  christos 	shll	$4,%ecx
   2358  1.1.1.2  christos 	shll	$4,%eax
   2359  1.1.1.2  christos 	movdqu	(%ebx),%xmm2
   2360  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm3
   2361  1.1.1.2  christos 	movl	116(%esp),%ecx
   2362  1.1.1.2  christos 	movdqa	%xmm2,%xmm4
   2363  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm5
   2364  1.1.1.2  christos 	movdqa	%xmm2,%xmm6
   2365  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   2366  1.1.1.2  christos 	pxor	%xmm2,%xmm3
   2367  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   2368  1.1.1.2  christos 	pxor	%xmm3,%xmm4
   2369  1.1.1.2  christos 	movdqa	%xmm3,16(%esp)
   2370  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   2371  1.1.1.2  christos 	movdqa	%xmm4,32(%esp)
   2372  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2373  1.1.1.2  christos 	movdqa	%xmm5,48(%esp)
   2374  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2375  1.1.1.2  christos 	movdqa	%xmm6,64(%esp)
   2376  1.1.1.2  christos 	movups	-48(%edx,%ecx,1),%xmm0
   2377  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2378  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2379  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2380  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   2381  1.1.1.2  christos 	movdqu	64(%esi),%xmm6
   2382  1.1.1.2  christos 	pxor	%xmm7,%xmm7
   2383  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2384  1.1.1.2  christos 	pxor	%xmm0,%xmm2
   2385  1.1.1.2  christos 	pxor	%xmm0,%xmm3
   2386  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   2387  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   2388  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2389  1.1.1.2  christos 	movups	-32(%edx,%ecx,1),%xmm1
   2390  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2391  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2392  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2393  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2394  1.1.1.2  christos 	pxor	64(%esp),%xmm6
   2395  1.1.1.2  christos 	movups	-16(%edx,%ecx,1),%xmm0
   2396  1.1.1.2  christos .byte	102,15,56,222,209
   2397  1.1.1.2  christos .byte	102,15,56,222,217
   2398  1.1.1.2  christos .byte	102,15,56,222,225
   2399  1.1.1.2  christos .byte	102,15,56,222,233
   2400  1.1.1.2  christos .byte	102,15,56,222,241
   2401  1.1.1.2  christos .byte	102,15,56,222,249
   2402  1.1.1.2  christos 	movl	120(%esp),%edi
   2403  1.1.1.2  christos 	call	.L_aesni_decrypt6_enter
   2404  1.1.1.2  christos 	movdqa	64(%esp),%xmm0
   2405  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2406  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2407  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2408  1.1.1.2  christos 	pxor	32(%esp),%xmm4
   2409  1.1.1.2  christos 	pxor	48(%esp),%xmm5
   2410  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2411  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2412  1.1.1.2  christos 	movdqu	%xmm2,(%edi,%esi,1)
   2413  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2414  1.1.1.2  christos 	movdqu	%xmm3,16(%edi,%esi,1)
   2415  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2416  1.1.1.2  christos 	movdqu	%xmm4,32(%edi,%esi,1)
   2417  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   2418  1.1.1.2  christos 	movdqu	%xmm5,48(%edi,%esi,1)
   2419  1.1.1.2  christos 	pxor	%xmm6,%xmm1
   2420  1.1.1.2  christos 	movdqu	%xmm6,64(%edi,%esi,1)
   2421  1.1.1.2  christos 	jmp	.L088done
   2422  1.1.1.2  christos .align	16
   2423  1.1.1.2  christos .L089one:
   2424  1.1.1.2  christos 	movdqu	(%ebx),%xmm7
   2425  1.1.1.2  christos 	movl	112(%esp),%edx
   2426  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2427  1.1.1.2  christos 	movl	240(%edx),%ecx
   2428  1.1.1.2  christos 	pxor	%xmm0,%xmm7
   2429  1.1.1.2  christos 	pxor	%xmm7,%xmm2
   2430  1.1.1.2  christos 	movdqa	%xmm1,%xmm6
   2431  1.1.1.2  christos 	movl	120(%esp),%edi
   2432  1.1.1.2  christos 	movups	(%edx),%xmm0
   2433  1.1.1.2  christos 	movups	16(%edx),%xmm1
   2434  1.1.1.2  christos 	leal	32(%edx),%edx
   2435  1.1.1.2  christos 	xorps	%xmm0,%xmm2
   2436  1.1.1.2  christos .L093dec1_loop_18:
   2437  1.1.1.2  christos .byte	102,15,56,222,209
   2438  1.1.1.2  christos 	decl	%ecx
   2439  1.1.1.2  christos 	movups	(%edx),%xmm1
   2440  1.1.1.2  christos 	leal	16(%edx),%edx
   2441  1.1.1.2  christos 	jnz	.L093dec1_loop_18
   2442  1.1.1.2  christos .byte	102,15,56,223,209
   2443  1.1.1.2  christos 	xorps	%xmm7,%xmm2
   2444  1.1.1.2  christos 	movaps	%xmm6,%xmm1
   2445  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2446  1.1.1.2  christos 	xorps	%xmm2,%xmm1
   2447  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2448  1.1.1.2  christos 	jmp	.L088done
   2449  1.1.1.2  christos .align	16
   2450  1.1.1.2  christos .L090two:
   2451  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2452  1.1.1.2  christos 	movl	112(%esp),%edx
   2453  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2454  1.1.1.2  christos 	shll	$4,%ecx
   2455  1.1.1.2  christos 	movdqu	(%ebx),%xmm6
   2456  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm7
   2457  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2458  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2459  1.1.1.2  christos 	movl	240(%edx),%ecx
   2460  1.1.1.2  christos 	movdqa	%xmm1,%xmm5
   2461  1.1.1.2  christos 	pxor	%xmm0,%xmm6
   2462  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2463  1.1.1.2  christos 	pxor	%xmm6,%xmm2
   2464  1.1.1.2  christos 	pxor	%xmm7,%xmm3
   2465  1.1.1.2  christos 	movl	120(%esp),%edi
   2466  1.1.1.2  christos 	call	_aesni_decrypt2
   2467  1.1.1.2  christos 	xorps	%xmm6,%xmm2
   2468  1.1.1.2  christos 	xorps	%xmm7,%xmm3
   2469  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2470  1.1.1.2  christos 	xorps	%xmm2,%xmm5
   2471  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2472  1.1.1.2  christos 	xorps	%xmm3,%xmm5
   2473  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2474  1.1.1.2  christos 	movaps	%xmm5,%xmm1
   2475  1.1.1.2  christos 	jmp	.L088done
   2476  1.1.1.2  christos .align	16
   2477  1.1.1.2  christos .L091three:
   2478  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2479  1.1.1.2  christos 	movl	112(%esp),%edx
   2480  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2481  1.1.1.2  christos 	shll	$4,%ecx
   2482  1.1.1.2  christos 	movdqu	(%ebx),%xmm5
   2483  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm6
   2484  1.1.1.2  christos 	movdqa	%xmm5,%xmm7
   2485  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2486  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2487  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2488  1.1.1.2  christos 	movl	240(%edx),%ecx
   2489  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2490  1.1.1.2  christos 	pxor	%xmm0,%xmm5
   2491  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2492  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2493  1.1.1.2  christos 	pxor	%xmm5,%xmm2
   2494  1.1.1.2  christos 	pxor	%xmm6,%xmm3
   2495  1.1.1.2  christos 	pxor	%xmm7,%xmm4
   2496  1.1.1.2  christos 	movl	120(%esp),%edi
   2497  1.1.1.2  christos 	call	_aesni_decrypt3
   2498  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2499  1.1.1.2  christos 	xorps	%xmm5,%xmm2
   2500  1.1.1.2  christos 	xorps	%xmm6,%xmm3
   2501  1.1.1.2  christos 	xorps	%xmm7,%xmm4
   2502  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2503  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2504  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2505  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2506  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2507  1.1.1.2  christos 	movups	%xmm4,32(%edi,%esi,1)
   2508  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2509  1.1.1.2  christos 	jmp	.L088done
   2510  1.1.1.2  christos .align	16
   2511  1.1.1.2  christos .L092four:
   2512  1.1.1.2  christos 	leal	1(%ebp),%ecx
   2513  1.1.1.2  christos 	leal	3(%ebp),%eax
   2514  1.1.1.2  christos 	bsfl	%ecx,%ecx
   2515  1.1.1.2  christos 	bsfl	%eax,%eax
   2516  1.1.1.2  christos 	movl	112(%esp),%edx
   2517  1.1.1.2  christos 	shll	$4,%ecx
   2518  1.1.1.2  christos 	shll	$4,%eax
   2519  1.1.1.2  christos 	movdqu	(%ebx),%xmm4
   2520  1.1.1.2  christos 	movdqu	(%ebx,%ecx,1),%xmm5
   2521  1.1.1.2  christos 	movdqa	%xmm4,%xmm6
   2522  1.1.1.2  christos 	movdqu	(%ebx,%eax,1),%xmm7
   2523  1.1.1.2  christos 	pxor	%xmm0,%xmm4
   2524  1.1.1.2  christos 	movdqu	(%esi),%xmm2
   2525  1.1.1.2  christos 	pxor	%xmm4,%xmm5
   2526  1.1.1.2  christos 	movdqu	16(%esi),%xmm3
   2527  1.1.1.2  christos 	pxor	%xmm5,%xmm6
   2528  1.1.1.2  christos 	movdqa	%xmm4,(%esp)
   2529  1.1.1.2  christos 	pxor	%xmm6,%xmm7
   2530  1.1.1.2  christos 	movdqa	%xmm5,16(%esp)
   2531  1.1.1.2  christos 	movdqu	32(%esi),%xmm4
   2532  1.1.1.2  christos 	movdqu	48(%esi),%xmm5
   2533  1.1.1.2  christos 	movl	240(%edx),%ecx
   2534  1.1.1.2  christos 	movdqa	%xmm1,96(%esp)
   2535  1.1.1.2  christos 	pxor	(%esp),%xmm2
   2536  1.1.1.2  christos 	pxor	16(%esp),%xmm3
   2537  1.1.1.2  christos 	pxor	%xmm6,%xmm4
   2538  1.1.1.2  christos 	pxor	%xmm7,%xmm5
   2539  1.1.1.2  christos 	movl	120(%esp),%edi
   2540  1.1.1.2  christos 	call	_aesni_decrypt4
   2541  1.1.1.2  christos 	movdqa	96(%esp),%xmm1
   2542  1.1.1.2  christos 	xorps	(%esp),%xmm2
   2543  1.1.1.2  christos 	xorps	16(%esp),%xmm3
   2544  1.1.1.2  christos 	xorps	%xmm6,%xmm4
   2545  1.1.1.2  christos 	movups	%xmm2,(%edi,%esi,1)
   2546  1.1.1.2  christos 	pxor	%xmm2,%xmm1
   2547  1.1.1.2  christos 	xorps	%xmm7,%xmm5
   2548  1.1.1.2  christos 	movups	%xmm3,16(%edi,%esi,1)
   2549  1.1.1.2  christos 	pxor	%xmm3,%xmm1
   2550  1.1.1.2  christos 	movdqa	%xmm7,%xmm0
   2551  1.1.1.2  christos 	movups	%xmm4,32(%edi,%esi,1)
   2552  1.1.1.2  christos 	pxor	%xmm4,%xmm1
   2553  1.1.1.2  christos 	movups	%xmm5,48(%edi,%esi,1)
   2554  1.1.1.2  christos 	pxor	%xmm5,%xmm1
   2555  1.1.1.2  christos .L088done:
   2556  1.1.1.2  christos 	movl	128(%esp),%edx
   2557  1.1.1.2  christos 	pxor	%xmm2,%xmm2
   2558  1.1.1.2  christos 	pxor	%xmm3,%xmm3
   2559  1.1.1.2  christos 	movdqa	%xmm2,(%esp)
   2560  1.1.1.2  christos 	pxor	%xmm4,%xmm4
   2561  1.1.1.2  christos 	movdqa	%xmm2,16(%esp)
   2562  1.1.1.2  christos 	pxor	%xmm5,%xmm5
   2563  1.1.1.2  christos 	movdqa	%xmm2,32(%esp)
   2564  1.1.1.2  christos 	pxor	%xmm6,%xmm6
   2565  1.1.1.2  christos 	movdqa	%xmm2,48(%esp)
   2566  1.1.1.2  christos 	pxor	%xmm7,%xmm7
   2567  1.1.1.2  christos 	movdqa	%xmm2,64(%esp)
   2568  1.1.1.2  christos 	movdqa	%xmm2,80(%esp)
   2569  1.1.1.2  christos 	movdqa	%xmm2,96(%esp)
   2570  1.1.1.2  christos 	leal	(%edx),%esp
   2571  1.1.1.2  christos 	movl	40(%esp),%ecx
   2572  1.1.1.2  christos 	movl	48(%esp),%ebx
   2573  1.1.1.2  christos 	movdqu	%xmm0,(%ecx)
   2574  1.1.1.2  christos 	pxor	%xmm0,%xmm0
   2575  1.1.1.2  christos 	movdqu	%xmm1,(%ebx)
   2576  1.1.1.2  christos 	pxor	%xmm1,%xmm1
   2577  1.1.1.2  christos 	popl	%edi
   2578  1.1.1.2  christos 	popl	%esi
   2579  1.1.1.2  christos 	popl	%ebx
   2580  1.1.1.2  christos 	popl	%ebp
   2581  1.1.1.2  christos 	ret
   2582  1.1.1.2  christos .size	aesni_ocb_decrypt,.-.L_aesni_ocb_decrypt_begin
   2583      1.1  christos .globl	aesni_cbc_encrypt
   2584      1.1  christos .type	aesni_cbc_encrypt,@function
   2585      1.1  christos .align	16
   2586      1.1  christos aesni_cbc_encrypt:
   2587      1.1  christos .L_aesni_cbc_encrypt_begin:
   2588      1.1  christos 	pushl	%ebp
   2589      1.1  christos 	pushl	%ebx
   2590      1.1  christos 	pushl	%esi
   2591      1.1  christos 	pushl	%edi
   2592      1.1  christos 	movl	20(%esp),%esi
   2593      1.1  christos 	movl	%esp,%ebx
   2594      1.1  christos 	movl	24(%esp),%edi
   2595      1.1  christos 	subl	$24,%ebx
   2596      1.1  christos 	movl	28(%esp),%eax
   2597      1.1  christos 	andl	$-16,%ebx
   2598      1.1  christos 	movl	32(%esp),%edx
   2599      1.1  christos 	movl	36(%esp),%ebp
   2600      1.1  christos 	testl	%eax,%eax
   2601  1.1.1.2  christos 	jz	.L094cbc_abort
   2602      1.1  christos 	cmpl	$0,40(%esp)
   2603      1.1  christos 	xchgl	%esp,%ebx
   2604      1.1  christos 	movups	(%ebp),%xmm7
   2605      1.1  christos 	movl	240(%edx),%ecx
   2606      1.1  christos 	movl	%edx,%ebp
   2607      1.1  christos 	movl	%ebx,16(%esp)
   2608      1.1  christos 	movl	%ecx,%ebx
   2609  1.1.1.2  christos 	je	.L095cbc_decrypt
   2610      1.1  christos 	movaps	%xmm7,%xmm2
   2611      1.1  christos 	cmpl	$16,%eax
   2612  1.1.1.2  christos 	jb	.L096cbc_enc_tail
   2613      1.1  christos 	subl	$16,%eax
   2614  1.1.1.2  christos 	jmp	.L097cbc_enc_loop
   2615      1.1  christos .align	16
   2616  1.1.1.2  christos .L097cbc_enc_loop:
   2617      1.1  christos 	movups	(%esi),%xmm7
   2618      1.1  christos 	leal	16(%esi),%esi
   2619      1.1  christos 	movups	(%edx),%xmm0
   2620      1.1  christos 	movups	16(%edx),%xmm1
   2621      1.1  christos 	xorps	%xmm0,%xmm7
   2622      1.1  christos 	leal	32(%edx),%edx
   2623      1.1  christos 	xorps	%xmm7,%xmm2
   2624  1.1.1.2  christos .L098enc1_loop_19:
   2625      1.1  christos .byte	102,15,56,220,209
   2626      1.1  christos 	decl	%ecx
   2627      1.1  christos 	movups	(%edx),%xmm1
   2628      1.1  christos 	leal	16(%edx),%edx
   2629  1.1.1.2  christos 	jnz	.L098enc1_loop_19
   2630      1.1  christos .byte	102,15,56,221,209
   2631      1.1  christos 	movl	%ebx,%ecx
   2632      1.1  christos 	movl	%ebp,%edx
   2633      1.1  christos 	movups	%xmm2,(%edi)
   2634      1.1  christos 	leal	16(%edi),%edi
   2635      1.1  christos 	subl	$16,%eax
   2636  1.1.1.2  christos 	jnc	.L097cbc_enc_loop
   2637      1.1  christos 	addl	$16,%eax
   2638  1.1.1.2  christos 	jnz	.L096cbc_enc_tail
   2639      1.1  christos 	movaps	%xmm2,%xmm7
   2640      1.1  christos 	pxor	%xmm2,%xmm2
   2641  1.1.1.2  christos 	jmp	.L099cbc_ret
   2642  1.1.1.2  christos .L096cbc_enc_tail:
   2643      1.1  christos 	movl	%eax,%ecx
   2644      1.1  christos .long	2767451785
   2645      1.1  christos 	movl	$16,%ecx
   2646      1.1  christos 	subl	%eax,%ecx
   2647      1.1  christos 	xorl	%eax,%eax
   2648      1.1  christos .long	2868115081
   2649      1.1  christos 	leal	-16(%edi),%edi
   2650      1.1  christos 	movl	%ebx,%ecx
   2651      1.1  christos 	movl	%edi,%esi
   2652      1.1  christos 	movl	%ebp,%edx
   2653  1.1.1.2  christos 	jmp	.L097cbc_enc_loop
   2654      1.1  christos .align	16
   2655  1.1.1.2  christos .L095cbc_decrypt:
   2656      1.1  christos 	cmpl	$80,%eax
   2657  1.1.1.2  christos 	jbe	.L100cbc_dec_tail
   2658      1.1  christos 	movaps	%xmm7,(%esp)
   2659      1.1  christos 	subl	$80,%eax
   2660  1.1.1.2  christos 	jmp	.L101cbc_dec_loop6_enter
   2661      1.1  christos .align	16
   2662  1.1.1.2  christos .L102cbc_dec_loop6:
   2663      1.1  christos 	movaps	%xmm0,(%esp)
   2664      1.1  christos 	movups	%xmm7,(%edi)
   2665      1.1  christos 	leal	16(%edi),%edi
   2666  1.1.1.2  christos .L101cbc_dec_loop6_enter:
   2667      1.1  christos 	movdqu	(%esi),%xmm2
   2668      1.1  christos 	movdqu	16(%esi),%xmm3
   2669      1.1  christos 	movdqu	32(%esi),%xmm4
   2670      1.1  christos 	movdqu	48(%esi),%xmm5
   2671      1.1  christos 	movdqu	64(%esi),%xmm6
   2672      1.1  christos 	movdqu	80(%esi),%xmm7
   2673      1.1  christos 	call	_aesni_decrypt6
   2674      1.1  christos 	movups	(%esi),%xmm1
   2675      1.1  christos 	movups	16(%esi),%xmm0
   2676      1.1  christos 	xorps	(%esp),%xmm2
   2677      1.1  christos 	xorps	%xmm1,%xmm3
   2678      1.1  christos 	movups	32(%esi),%xmm1
   2679      1.1  christos 	xorps	%xmm0,%xmm4
   2680      1.1  christos 	movups	48(%esi),%xmm0
   2681      1.1  christos 	xorps	%xmm1,%xmm5
   2682      1.1  christos 	movups	64(%esi),%xmm1
   2683      1.1  christos 	xorps	%xmm0,%xmm6
   2684      1.1  christos 	movups	80(%esi),%xmm0
   2685      1.1  christos 	xorps	%xmm1,%xmm7
   2686      1.1  christos 	movups	%xmm2,(%edi)
   2687      1.1  christos 	movups	%xmm3,16(%edi)
   2688      1.1  christos 	leal	96(%esi),%esi
   2689      1.1  christos 	movups	%xmm4,32(%edi)
   2690      1.1  christos 	movl	%ebx,%ecx
   2691      1.1  christos 	movups	%xmm5,48(%edi)
   2692      1.1  christos 	movl	%ebp,%edx
   2693      1.1  christos 	movups	%xmm6,64(%edi)
   2694      1.1  christos 	leal	80(%edi),%edi
   2695      1.1  christos 	subl	$96,%eax
   2696  1.1.1.2  christos 	ja	.L102cbc_dec_loop6
   2697      1.1  christos 	movaps	%xmm7,%xmm2
   2698      1.1  christos 	movaps	%xmm0,%xmm7
   2699      1.1  christos 	addl	$80,%eax
   2700  1.1.1.2  christos 	jle	.L103cbc_dec_clear_tail_collected
   2701      1.1  christos 	movups	%xmm2,(%edi)
   2702      1.1  christos 	leal	16(%edi),%edi
   2703  1.1.1.2  christos .L100cbc_dec_tail:
   2704      1.1  christos 	movups	(%esi),%xmm2
   2705      1.1  christos 	movaps	%xmm2,%xmm6
   2706      1.1  christos 	cmpl	$16,%eax
   2707  1.1.1.2  christos 	jbe	.L104cbc_dec_one
   2708      1.1  christos 	movups	16(%esi),%xmm3
   2709      1.1  christos 	movaps	%xmm3,%xmm5
   2710      1.1  christos 	cmpl	$32,%eax
   2711  1.1.1.2  christos 	jbe	.L105cbc_dec_two
   2712      1.1  christos 	movups	32(%esi),%xmm4
   2713      1.1  christos 	cmpl	$48,%eax
   2714  1.1.1.2  christos 	jbe	.L106cbc_dec_three
   2715      1.1  christos 	movups	48(%esi),%xmm5
   2716      1.1  christos 	cmpl	$64,%eax
   2717  1.1.1.2  christos 	jbe	.L107cbc_dec_four
   2718      1.1  christos 	movups	64(%esi),%xmm6
   2719      1.1  christos 	movaps	%xmm7,(%esp)
   2720      1.1  christos 	movups	(%esi),%xmm2
   2721      1.1  christos 	xorps	%xmm7,%xmm7
   2722      1.1  christos 	call	_aesni_decrypt6
   2723      1.1  christos 	movups	(%esi),%xmm1
   2724      1.1  christos 	movups	16(%esi),%xmm0
   2725      1.1  christos 	xorps	(%esp),%xmm2
   2726      1.1  christos 	xorps	%xmm1,%xmm3
   2727      1.1  christos 	movups	32(%esi),%xmm1
   2728      1.1  christos 	xorps	%xmm0,%xmm4
   2729      1.1  christos 	movups	48(%esi),%xmm0
   2730      1.1  christos 	xorps	%xmm1,%xmm5
   2731      1.1  christos 	movups	64(%esi),%xmm7
   2732      1.1  christos 	xorps	%xmm0,%xmm6
   2733      1.1  christos 	movups	%xmm2,(%edi)
   2734      1.1  christos 	movups	%xmm3,16(%edi)
   2735      1.1  christos 	pxor	%xmm3,%xmm3
   2736      1.1  christos 	movups	%xmm4,32(%edi)
   2737      1.1  christos 	pxor	%xmm4,%xmm4
   2738      1.1  christos 	movups	%xmm5,48(%edi)
   2739      1.1  christos 	pxor	%xmm5,%xmm5
   2740      1.1  christos 	leal	64(%edi),%edi
   2741      1.1  christos 	movaps	%xmm6,%xmm2
   2742      1.1  christos 	pxor	%xmm6,%xmm6
   2743      1.1  christos 	subl	$80,%eax
   2744  1.1.1.2  christos 	jmp	.L108cbc_dec_tail_collected
   2745      1.1  christos .align	16
   2746  1.1.1.2  christos .L104cbc_dec_one:
   2747      1.1  christos 	movups	(%edx),%xmm0
   2748      1.1  christos 	movups	16(%edx),%xmm1
   2749      1.1  christos 	leal	32(%edx),%edx
   2750      1.1  christos 	xorps	%xmm0,%xmm2
   2751  1.1.1.2  christos .L109dec1_loop_20:
   2752      1.1  christos .byte	102,15,56,222,209
   2753      1.1  christos 	decl	%ecx
   2754      1.1  christos 	movups	(%edx),%xmm1
   2755      1.1  christos 	leal	16(%edx),%edx
   2756  1.1.1.2  christos 	jnz	.L109dec1_loop_20
   2757      1.1  christos .byte	102,15,56,223,209
   2758      1.1  christos 	xorps	%xmm7,%xmm2
   2759      1.1  christos 	movaps	%xmm6,%xmm7
   2760      1.1  christos 	subl	$16,%eax
   2761  1.1.1.2  christos 	jmp	.L108cbc_dec_tail_collected
   2762      1.1  christos .align	16
   2763  1.1.1.2  christos .L105cbc_dec_two:
   2764      1.1  christos 	call	_aesni_decrypt2
   2765      1.1  christos 	xorps	%xmm7,%xmm2
   2766      1.1  christos 	xorps	%xmm6,%xmm3
   2767      1.1  christos 	movups	%xmm2,(%edi)
   2768      1.1  christos 	movaps	%xmm3,%xmm2
   2769      1.1  christos 	pxor	%xmm3,%xmm3
   2770      1.1  christos 	leal	16(%edi),%edi
   2771      1.1  christos 	movaps	%xmm5,%xmm7
   2772      1.1  christos 	subl	$32,%eax
   2773  1.1.1.2  christos 	jmp	.L108cbc_dec_tail_collected
   2774      1.1  christos .align	16
   2775  1.1.1.2  christos .L106cbc_dec_three:
   2776      1.1  christos 	call	_aesni_decrypt3
   2777      1.1  christos 	xorps	%xmm7,%xmm2
   2778      1.1  christos 	xorps	%xmm6,%xmm3
   2779      1.1  christos 	xorps	%xmm5,%xmm4
   2780      1.1  christos 	movups	%xmm2,(%edi)
   2781      1.1  christos 	movaps	%xmm4,%xmm2
   2782      1.1  christos 	pxor	%xmm4,%xmm4
   2783      1.1  christos 	movups	%xmm3,16(%edi)
   2784      1.1  christos 	pxor	%xmm3,%xmm3
   2785      1.1  christos 	leal	32(%edi),%edi
   2786      1.1  christos 	movups	32(%esi),%xmm7
   2787      1.1  christos 	subl	$48,%eax
   2788  1.1.1.2  christos 	jmp	.L108cbc_dec_tail_collected
   2789      1.1  christos .align	16
   2790  1.1.1.2  christos .L107cbc_dec_four:
   2791      1.1  christos 	call	_aesni_decrypt4
   2792      1.1  christos 	movups	16(%esi),%xmm1
   2793      1.1  christos 	movups	32(%esi),%xmm0
   2794      1.1  christos 	xorps	%xmm7,%xmm2
   2795      1.1  christos 	movups	48(%esi),%xmm7
   2796      1.1  christos 	xorps	%xmm6,%xmm3
   2797      1.1  christos 	movups	%xmm2,(%edi)
   2798      1.1  christos 	xorps	%xmm1,%xmm4
   2799      1.1  christos 	movups	%xmm3,16(%edi)
   2800      1.1  christos 	pxor	%xmm3,%xmm3
   2801      1.1  christos 	xorps	%xmm0,%xmm5
   2802      1.1  christos 	movups	%xmm4,32(%edi)
   2803      1.1  christos 	pxor	%xmm4,%xmm4
   2804      1.1  christos 	leal	48(%edi),%edi
   2805      1.1  christos 	movaps	%xmm5,%xmm2
   2806      1.1  christos 	pxor	%xmm5,%xmm5
   2807      1.1  christos 	subl	$64,%eax
   2808  1.1.1.2  christos 	jmp	.L108cbc_dec_tail_collected
   2809      1.1  christos .align	16
   2810  1.1.1.2  christos .L103cbc_dec_clear_tail_collected:
   2811      1.1  christos 	pxor	%xmm3,%xmm3
   2812      1.1  christos 	pxor	%xmm4,%xmm4
   2813      1.1  christos 	pxor	%xmm5,%xmm5
   2814      1.1  christos 	pxor	%xmm6,%xmm6
   2815  1.1.1.2  christos .L108cbc_dec_tail_collected:
   2816      1.1  christos 	andl	$15,%eax
   2817  1.1.1.2  christos 	jnz	.L110cbc_dec_tail_partial
   2818      1.1  christos 	movups	%xmm2,(%edi)
   2819      1.1  christos 	pxor	%xmm0,%xmm0
   2820  1.1.1.2  christos 	jmp	.L099cbc_ret
   2821      1.1  christos .align	16
   2822  1.1.1.2  christos .L110cbc_dec_tail_partial:
   2823      1.1  christos 	movaps	%xmm2,(%esp)
   2824      1.1  christos 	pxor	%xmm0,%xmm0
   2825      1.1  christos 	movl	$16,%ecx
   2826      1.1  christos 	movl	%esp,%esi
   2827      1.1  christos 	subl	%eax,%ecx
   2828      1.1  christos .long	2767451785
   2829      1.1  christos 	movdqa	%xmm2,(%esp)
   2830  1.1.1.2  christos .L099cbc_ret:
   2831      1.1  christos 	movl	16(%esp),%esp
   2832      1.1  christos 	movl	36(%esp),%ebp
   2833      1.1  christos 	pxor	%xmm2,%xmm2
   2834      1.1  christos 	pxor	%xmm1,%xmm1
   2835      1.1  christos 	movups	%xmm7,(%ebp)
   2836      1.1  christos 	pxor	%xmm7,%xmm7
   2837  1.1.1.2  christos .L094cbc_abort:
   2838      1.1  christos 	popl	%edi
   2839      1.1  christos 	popl	%esi
   2840      1.1  christos 	popl	%ebx
   2841      1.1  christos 	popl	%ebp
   2842      1.1  christos 	ret
   2843      1.1  christos .size	aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
   2844      1.1  christos .type	_aesni_set_encrypt_key,@function
   2845      1.1  christos .align	16
   2846      1.1  christos _aesni_set_encrypt_key:
   2847      1.1  christos 	pushl	%ebp
   2848      1.1  christos 	pushl	%ebx
   2849      1.1  christos 	testl	%eax,%eax
   2850  1.1.1.2  christos 	jz	.L111bad_pointer
   2851      1.1  christos 	testl	%edx,%edx
   2852  1.1.1.2  christos 	jz	.L111bad_pointer
   2853  1.1.1.2  christos 	call	.L112pic
   2854  1.1.1.2  christos .L112pic:
   2855      1.1  christos 	popl	%ebx
   2856  1.1.1.2  christos 	leal	.Lkey_const-.L112pic(%ebx),%ebx
   2857      1.1  christos 	leal	OPENSSL_ia32cap_P-.Lkey_const(%ebx),%ebp
   2858      1.1  christos 	movups	(%eax),%xmm0
   2859      1.1  christos 	xorps	%xmm4,%xmm4
   2860      1.1  christos 	movl	4(%ebp),%ebp
   2861      1.1  christos 	leal	16(%edx),%edx
   2862      1.1  christos 	andl	$268437504,%ebp
   2863      1.1  christos 	cmpl	$256,%ecx
   2864  1.1.1.2  christos 	je	.L11314rounds
   2865      1.1  christos 	cmpl	$192,%ecx
   2866  1.1.1.2  christos 	je	.L11412rounds
   2867      1.1  christos 	cmpl	$128,%ecx
   2868  1.1.1.2  christos 	jne	.L115bad_keybits
   2869      1.1  christos .align	16
   2870  1.1.1.2  christos .L11610rounds:
   2871      1.1  christos 	cmpl	$268435456,%ebp
   2872  1.1.1.2  christos 	je	.L11710rounds_alt
   2873      1.1  christos 	movl	$9,%ecx
   2874      1.1  christos 	movups	%xmm0,-16(%edx)
   2875      1.1  christos .byte	102,15,58,223,200,1
   2876  1.1.1.2  christos 	call	.L118key_128_cold
   2877      1.1  christos .byte	102,15,58,223,200,2
   2878  1.1.1.2  christos 	call	.L119key_128
   2879      1.1  christos .byte	102,15,58,223,200,4
   2880  1.1.1.2  christos 	call	.L119key_128
   2881      1.1  christos .byte	102,15,58,223,200,8
   2882  1.1.1.2  christos 	call	.L119key_128
   2883      1.1  christos .byte	102,15,58,223,200,16
   2884  1.1.1.2  christos 	call	.L119key_128
   2885      1.1  christos .byte	102,15,58,223,200,32
   2886  1.1.1.2  christos 	call	.L119key_128
   2887      1.1  christos .byte	102,15,58,223,200,64
   2888  1.1.1.2  christos 	call	.L119key_128
   2889      1.1  christos .byte	102,15,58,223,200,128
   2890  1.1.1.2  christos 	call	.L119key_128
   2891      1.1  christos .byte	102,15,58,223,200,27
   2892  1.1.1.2  christos 	call	.L119key_128
   2893      1.1  christos .byte	102,15,58,223,200,54
   2894  1.1.1.2  christos 	call	.L119key_128
   2895      1.1  christos 	movups	%xmm0,(%edx)
   2896      1.1  christos 	movl	%ecx,80(%edx)
   2897  1.1.1.2  christos 	jmp	.L120good_key
   2898      1.1  christos .align	16
   2899  1.1.1.2  christos .L119key_128:
   2900      1.1  christos 	movups	%xmm0,(%edx)
   2901      1.1  christos 	leal	16(%edx),%edx
   2902  1.1.1.2  christos .L118key_128_cold:
   2903      1.1  christos 	shufps	$16,%xmm0,%xmm4
   2904      1.1  christos 	xorps	%xmm4,%xmm0
   2905      1.1  christos 	shufps	$140,%xmm0,%xmm4
   2906      1.1  christos 	xorps	%xmm4,%xmm0
   2907      1.1  christos 	shufps	$255,%xmm1,%xmm1
   2908      1.1  christos 	xorps	%xmm1,%xmm0
   2909      1.1  christos 	ret
   2910      1.1  christos .align	16
   2911  1.1.1.2  christos .L11710rounds_alt:
   2912      1.1  christos 	movdqa	(%ebx),%xmm5
   2913      1.1  christos 	movl	$8,%ecx
   2914      1.1  christos 	movdqa	32(%ebx),%xmm4
   2915      1.1  christos 	movdqa	%xmm0,%xmm2
   2916      1.1  christos 	movdqu	%xmm0,-16(%edx)
   2917  1.1.1.2  christos .L121loop_key128:
   2918      1.1  christos .byte	102,15,56,0,197
   2919      1.1  christos .byte	102,15,56,221,196
   2920      1.1  christos 	pslld	$1,%xmm4
   2921      1.1  christos 	leal	16(%edx),%edx
   2922      1.1  christos 	movdqa	%xmm2,%xmm3
   2923      1.1  christos 	pslldq	$4,%xmm2
   2924      1.1  christos 	pxor	%xmm2,%xmm3
   2925      1.1  christos 	pslldq	$4,%xmm2
   2926      1.1  christos 	pxor	%xmm2,%xmm3
   2927      1.1  christos 	pslldq	$4,%xmm2
   2928      1.1  christos 	pxor	%xmm3,%xmm2
   2929      1.1  christos 	pxor	%xmm2,%xmm0
   2930      1.1  christos 	movdqu	%xmm0,-16(%edx)
   2931      1.1  christos 	movdqa	%xmm0,%xmm2
   2932      1.1  christos 	decl	%ecx
   2933  1.1.1.2  christos 	jnz	.L121loop_key128
   2934      1.1  christos 	movdqa	48(%ebx),%xmm4
   2935      1.1  christos .byte	102,15,56,0,197
   2936      1.1  christos .byte	102,15,56,221,196
   2937      1.1  christos 	pslld	$1,%xmm4
   2938      1.1  christos 	movdqa	%xmm2,%xmm3
   2939      1.1  christos 	pslldq	$4,%xmm2
   2940      1.1  christos 	pxor	%xmm2,%xmm3
   2941      1.1  christos 	pslldq	$4,%xmm2
   2942      1.1  christos 	pxor	%xmm2,%xmm3
   2943      1.1  christos 	pslldq	$4,%xmm2
   2944      1.1  christos 	pxor	%xmm3,%xmm2
   2945      1.1  christos 	pxor	%xmm2,%xmm0
   2946      1.1  christos 	movdqu	%xmm0,(%edx)
   2947      1.1  christos 	movdqa	%xmm0,%xmm2
   2948      1.1  christos .byte	102,15,56,0,197
   2949      1.1  christos .byte	102,15,56,221,196
   2950      1.1  christos 	movdqa	%xmm2,%xmm3
   2951      1.1  christos 	pslldq	$4,%xmm2
   2952      1.1  christos 	pxor	%xmm2,%xmm3
   2953      1.1  christos 	pslldq	$4,%xmm2
   2954      1.1  christos 	pxor	%xmm2,%xmm3
   2955      1.1  christos 	pslldq	$4,%xmm2
   2956      1.1  christos 	pxor	%xmm3,%xmm2
   2957      1.1  christos 	pxor	%xmm2,%xmm0
   2958      1.1  christos 	movdqu	%xmm0,16(%edx)
   2959      1.1  christos 	movl	$9,%ecx
   2960      1.1  christos 	movl	%ecx,96(%edx)
   2961  1.1.1.2  christos 	jmp	.L120good_key
   2962      1.1  christos .align	16
   2963  1.1.1.2  christos .L11412rounds:
   2964      1.1  christos 	movq	16(%eax),%xmm2
   2965      1.1  christos 	cmpl	$268435456,%ebp
   2966  1.1.1.2  christos 	je	.L12212rounds_alt
   2967      1.1  christos 	movl	$11,%ecx
   2968      1.1  christos 	movups	%xmm0,-16(%edx)
   2969      1.1  christos .byte	102,15,58,223,202,1
   2970  1.1.1.2  christos 	call	.L123key_192a_cold
   2971      1.1  christos .byte	102,15,58,223,202,2
   2972  1.1.1.2  christos 	call	.L124key_192b
   2973      1.1  christos .byte	102,15,58,223,202,4
   2974  1.1.1.2  christos 	call	.L125key_192a
   2975      1.1  christos .byte	102,15,58,223,202,8
   2976  1.1.1.2  christos 	call	.L124key_192b
   2977      1.1  christos .byte	102,15,58,223,202,16
   2978  1.1.1.2  christos 	call	.L125key_192a
   2979      1.1  christos .byte	102,15,58,223,202,32
   2980  1.1.1.2  christos 	call	.L124key_192b
   2981      1.1  christos .byte	102,15,58,223,202,64
   2982  1.1.1.2  christos 	call	.L125key_192a
   2983      1.1  christos .byte	102,15,58,223,202,128
   2984  1.1.1.2  christos 	call	.L124key_192b
   2985      1.1  christos 	movups	%xmm0,(%edx)
   2986      1.1  christos 	movl	%ecx,48(%edx)
   2987  1.1.1.2  christos 	jmp	.L120good_key
   2988      1.1  christos .align	16
   2989  1.1.1.2  christos .L125key_192a:
   2990      1.1  christos 	movups	%xmm0,(%edx)
   2991      1.1  christos 	leal	16(%edx),%edx
   2992      1.1  christos .align	16
   2993  1.1.1.2  christos .L123key_192a_cold:
   2994      1.1  christos 	movaps	%xmm2,%xmm5
   2995  1.1.1.2  christos .L126key_192b_warm:
   2996      1.1  christos 	shufps	$16,%xmm0,%xmm4
   2997      1.1  christos 	movdqa	%xmm2,%xmm3
   2998      1.1  christos 	xorps	%xmm4,%xmm0
   2999      1.1  christos 	shufps	$140,%xmm0,%xmm4
   3000      1.1  christos 	pslldq	$4,%xmm3
   3001      1.1  christos 	xorps	%xmm4,%xmm0
   3002      1.1  christos 	pshufd	$85,%xmm1,%xmm1
   3003      1.1  christos 	pxor	%xmm3,%xmm2
   3004      1.1  christos 	pxor	%xmm1,%xmm0
   3005      1.1  christos 	pshufd	$255,%xmm0,%xmm3
   3006      1.1  christos 	pxor	%xmm3,%xmm2
   3007      1.1  christos 	ret
   3008      1.1  christos .align	16
   3009  1.1.1.2  christos .L124key_192b:
   3010      1.1  christos 	movaps	%xmm0,%xmm3
   3011      1.1  christos 	shufps	$68,%xmm0,%xmm5
   3012      1.1  christos 	movups	%xmm5,(%edx)
   3013      1.1  christos 	shufps	$78,%xmm2,%xmm3
   3014      1.1  christos 	movups	%xmm3,16(%edx)
   3015      1.1  christos 	leal	32(%edx),%edx
   3016  1.1.1.2  christos 	jmp	.L126key_192b_warm
   3017      1.1  christos .align	16
   3018  1.1.1.2  christos .L12212rounds_alt:
   3019      1.1  christos 	movdqa	16(%ebx),%xmm5
   3020      1.1  christos 	movdqa	32(%ebx),%xmm4
   3021      1.1  christos 	movl	$8,%ecx
   3022      1.1  christos 	movdqu	%xmm0,-16(%edx)
   3023  1.1.1.2  christos .L127loop_key192:
   3024      1.1  christos 	movq	%xmm2,(%edx)
   3025      1.1  christos 	movdqa	%xmm2,%xmm1
   3026      1.1  christos .byte	102,15,56,0,213
   3027      1.1  christos .byte	102,15,56,221,212
   3028      1.1  christos 	pslld	$1,%xmm4
   3029      1.1  christos 	leal	24(%edx),%edx
   3030      1.1  christos 	movdqa	%xmm0,%xmm3
   3031      1.1  christos 	pslldq	$4,%xmm0
   3032      1.1  christos 	pxor	%xmm0,%xmm3
   3033      1.1  christos 	pslldq	$4,%xmm0
   3034      1.1  christos 	pxor	%xmm0,%xmm3
   3035      1.1  christos 	pslldq	$4,%xmm0
   3036      1.1  christos 	pxor	%xmm3,%xmm0
   3037      1.1  christos 	pshufd	$255,%xmm0,%xmm3
   3038      1.1  christos 	pxor	%xmm1,%xmm3
   3039      1.1  christos 	pslldq	$4,%xmm1
   3040      1.1  christos 	pxor	%xmm1,%xmm3
   3041      1.1  christos 	pxor	%xmm2,%xmm0
   3042      1.1  christos 	pxor	%xmm3,%xmm2
   3043      1.1  christos 	movdqu	%xmm0,-16(%edx)
   3044      1.1  christos 	decl	%ecx
   3045  1.1.1.2  christos 	jnz	.L127loop_key192
   3046      1.1  christos 	movl	$11,%ecx
   3047      1.1  christos 	movl	%ecx,32(%edx)
   3048  1.1.1.2  christos 	jmp	.L120good_key
   3049      1.1  christos .align	16
   3050  1.1.1.2  christos .L11314rounds:
   3051      1.1  christos 	movups	16(%eax),%xmm2
   3052      1.1  christos 	leal	16(%edx),%edx
   3053      1.1  christos 	cmpl	$268435456,%ebp
   3054  1.1.1.2  christos 	je	.L12814rounds_alt
   3055      1.1  christos 	movl	$13,%ecx
   3056      1.1  christos 	movups	%xmm0,-32(%edx)
   3057      1.1  christos 	movups	%xmm2,-16(%edx)
   3058      1.1  christos .byte	102,15,58,223,202,1
   3059  1.1.1.2  christos 	call	.L129key_256a_cold
   3060      1.1  christos .byte	102,15,58,223,200,1
   3061  1.1.1.2  christos 	call	.L130key_256b
   3062      1.1  christos .byte	102,15,58,223,202,2
   3063  1.1.1.2  christos 	call	.L131key_256a
   3064      1.1  christos .byte	102,15,58,223,200,2
   3065  1.1.1.2  christos 	call	.L130key_256b
   3066      1.1  christos .byte	102,15,58,223,202,4
   3067  1.1.1.2  christos 	call	.L131key_256a
   3068      1.1  christos .byte	102,15,58,223,200,4
   3069  1.1.1.2  christos 	call	.L130key_256b
   3070      1.1  christos .byte	102,15,58,223,202,8
   3071  1.1.1.2  christos 	call	.L131key_256a
   3072      1.1  christos .byte	102,15,58,223,200,8
   3073  1.1.1.2  christos 	call	.L130key_256b
   3074      1.1  christos .byte	102,15,58,223,202,16
   3075  1.1.1.2  christos 	call	.L131key_256a
   3076      1.1  christos .byte	102,15,58,223,200,16
   3077  1.1.1.2  christos 	call	.L130key_256b
   3078      1.1  christos .byte	102,15,58,223,202,32
   3079  1.1.1.2  christos 	call	.L131key_256a
   3080      1.1  christos .byte	102,15,58,223,200,32
   3081  1.1.1.2  christos 	call	.L130key_256b
   3082      1.1  christos .byte	102,15,58,223,202,64
   3083  1.1.1.2  christos 	call	.L131key_256a
   3084      1.1  christos 	movups	%xmm0,(%edx)
   3085      1.1  christos 	movl	%ecx,16(%edx)
   3086      1.1  christos 	xorl	%eax,%eax
   3087  1.1.1.2  christos 	jmp	.L120good_key
   3088      1.1  christos .align	16
   3089  1.1.1.2  christos .L131key_256a:
   3090      1.1  christos 	movups	%xmm2,(%edx)
   3091      1.1  christos 	leal	16(%edx),%edx
   3092  1.1.1.2  christos .L129key_256a_cold:
   3093      1.1  christos 	shufps	$16,%xmm0,%xmm4
   3094      1.1  christos 	xorps	%xmm4,%xmm0
   3095      1.1  christos 	shufps	$140,%xmm0,%xmm4
   3096      1.1  christos 	xorps	%xmm4,%xmm0
   3097      1.1  christos 	shufps	$255,%xmm1,%xmm1
   3098      1.1  christos 	xorps	%xmm1,%xmm0
   3099      1.1  christos 	ret
   3100      1.1  christos .align	16
   3101  1.1.1.2  christos .L130key_256b:
   3102      1.1  christos 	movups	%xmm0,(%edx)
   3103      1.1  christos 	leal	16(%edx),%edx
   3104      1.1  christos 	shufps	$16,%xmm2,%xmm4
   3105      1.1  christos 	xorps	%xmm4,%xmm2
   3106      1.1  christos 	shufps	$140,%xmm2,%xmm4
   3107      1.1  christos 	xorps	%xmm4,%xmm2
   3108      1.1  christos 	shufps	$170,%xmm1,%xmm1
   3109      1.1  christos 	xorps	%xmm1,%xmm2
   3110      1.1  christos 	ret
   3111      1.1  christos .align	16
   3112  1.1.1.2  christos .L12814rounds_alt:
   3113      1.1  christos 	movdqa	(%ebx),%xmm5
   3114      1.1  christos 	movdqa	32(%ebx),%xmm4
   3115      1.1  christos 	movl	$7,%ecx
   3116      1.1  christos 	movdqu	%xmm0,-32(%edx)
   3117      1.1  christos 	movdqa	%xmm2,%xmm1
   3118      1.1  christos 	movdqu	%xmm2,-16(%edx)
   3119  1.1.1.2  christos .L132loop_key256:
   3120      1.1  christos .byte	102,15,56,0,213
   3121      1.1  christos .byte	102,15,56,221,212
   3122      1.1  christos 	movdqa	%xmm0,%xmm3
   3123      1.1  christos 	pslldq	$4,%xmm0
   3124      1.1  christos 	pxor	%xmm0,%xmm3
   3125      1.1  christos 	pslldq	$4,%xmm0
   3126      1.1  christos 	pxor	%xmm0,%xmm3
   3127      1.1  christos 	pslldq	$4,%xmm0
   3128      1.1  christos 	pxor	%xmm3,%xmm0
   3129      1.1  christos 	pslld	$1,%xmm4
   3130      1.1  christos 	pxor	%xmm2,%xmm0
   3131      1.1  christos 	movdqu	%xmm0,(%edx)
   3132      1.1  christos 	decl	%ecx
   3133  1.1.1.2  christos 	jz	.L133done_key256
   3134      1.1  christos 	pshufd	$255,%xmm0,%xmm2
   3135      1.1  christos 	pxor	%xmm3,%xmm3
   3136      1.1  christos .byte	102,15,56,221,211
   3137      1.1  christos 	movdqa	%xmm1,%xmm3
   3138      1.1  christos 	pslldq	$4,%xmm1
   3139      1.1  christos 	pxor	%xmm1,%xmm3
   3140      1.1  christos 	pslldq	$4,%xmm1
   3141      1.1  christos 	pxor	%xmm1,%xmm3
   3142      1.1  christos 	pslldq	$4,%xmm1
   3143      1.1  christos 	pxor	%xmm3,%xmm1
   3144      1.1  christos 	pxor	%xmm1,%xmm2
   3145      1.1  christos 	movdqu	%xmm2,16(%edx)
   3146      1.1  christos 	leal	32(%edx),%edx
   3147      1.1  christos 	movdqa	%xmm2,%xmm1
   3148  1.1.1.2  christos 	jmp	.L132loop_key256
   3149  1.1.1.2  christos .L133done_key256:
   3150      1.1  christos 	movl	$13,%ecx
   3151      1.1  christos 	movl	%ecx,16(%edx)
   3152  1.1.1.2  christos .L120good_key:
   3153      1.1  christos 	pxor	%xmm0,%xmm0
   3154      1.1  christos 	pxor	%xmm1,%xmm1
   3155      1.1  christos 	pxor	%xmm2,%xmm2
   3156      1.1  christos 	pxor	%xmm3,%xmm3
   3157      1.1  christos 	pxor	%xmm4,%xmm4
   3158      1.1  christos 	pxor	%xmm5,%xmm5
   3159      1.1  christos 	xorl	%eax,%eax
   3160      1.1  christos 	popl	%ebx
   3161      1.1  christos 	popl	%ebp
   3162      1.1  christos 	ret
   3163      1.1  christos .align	4
   3164  1.1.1.2  christos .L111bad_pointer:
   3165      1.1  christos 	movl	$-1,%eax
   3166      1.1  christos 	popl	%ebx
   3167      1.1  christos 	popl	%ebp
   3168      1.1  christos 	ret
   3169      1.1  christos .align	4
   3170  1.1.1.2  christos .L115bad_keybits:
   3171      1.1  christos 	pxor	%xmm0,%xmm0
   3172      1.1  christos 	movl	$-2,%eax
   3173      1.1  christos 	popl	%ebx
   3174      1.1  christos 	popl	%ebp
   3175      1.1  christos 	ret
   3176      1.1  christos .size	_aesni_set_encrypt_key,.-_aesni_set_encrypt_key
   3177      1.1  christos .globl	aesni_set_encrypt_key
   3178      1.1  christos .type	aesni_set_encrypt_key,@function
   3179      1.1  christos .align	16
   3180      1.1  christos aesni_set_encrypt_key:
   3181      1.1  christos .L_aesni_set_encrypt_key_begin:
   3182      1.1  christos 	movl	4(%esp),%eax
   3183      1.1  christos 	movl	8(%esp),%ecx
   3184      1.1  christos 	movl	12(%esp),%edx
   3185      1.1  christos 	call	_aesni_set_encrypt_key
   3186      1.1  christos 	ret
   3187      1.1  christos .size	aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
   3188      1.1  christos .globl	aesni_set_decrypt_key
   3189      1.1  christos .type	aesni_set_decrypt_key,@function
   3190      1.1  christos .align	16
   3191      1.1  christos aesni_set_decrypt_key:
   3192      1.1  christos .L_aesni_set_decrypt_key_begin:
   3193      1.1  christos 	movl	4(%esp),%eax
   3194      1.1  christos 	movl	8(%esp),%ecx
   3195      1.1  christos 	movl	12(%esp),%edx
   3196      1.1  christos 	call	_aesni_set_encrypt_key
   3197      1.1  christos 	movl	12(%esp),%edx
   3198      1.1  christos 	shll	$4,%ecx
   3199      1.1  christos 	testl	%eax,%eax
   3200  1.1.1.2  christos 	jnz	.L134dec_key_ret
   3201      1.1  christos 	leal	16(%edx,%ecx,1),%eax
   3202      1.1  christos 	movups	(%edx),%xmm0
   3203      1.1  christos 	movups	(%eax),%xmm1
   3204      1.1  christos 	movups	%xmm0,(%eax)
   3205      1.1  christos 	movups	%xmm1,(%edx)
   3206      1.1  christos 	leal	16(%edx),%edx
   3207      1.1  christos 	leal	-16(%eax),%eax
   3208  1.1.1.2  christos .L135dec_key_inverse:
   3209      1.1  christos 	movups	(%edx),%xmm0
   3210      1.1  christos 	movups	(%eax),%xmm1
   3211      1.1  christos .byte	102,15,56,219,192
   3212      1.1  christos .byte	102,15,56,219,201
   3213      1.1  christos 	leal	16(%edx),%edx
   3214      1.1  christos 	leal	-16(%eax),%eax
   3215      1.1  christos 	movups	%xmm0,16(%eax)
   3216      1.1  christos 	movups	%xmm1,-16(%edx)
   3217      1.1  christos 	cmpl	%edx,%eax
   3218  1.1.1.2  christos 	ja	.L135dec_key_inverse
   3219      1.1  christos 	movups	(%edx),%xmm0
   3220      1.1  christos .byte	102,15,56,219,192
   3221      1.1  christos 	movups	%xmm0,(%edx)
   3222      1.1  christos 	pxor	%xmm0,%xmm0
   3223      1.1  christos 	pxor	%xmm1,%xmm1
   3224      1.1  christos 	xorl	%eax,%eax
   3225  1.1.1.2  christos .L134dec_key_ret:
   3226      1.1  christos 	ret
   3227      1.1  christos .size	aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
   3228      1.1  christos .align	64
   3229      1.1  christos .Lkey_const:
   3230      1.1  christos .long	202313229,202313229,202313229,202313229
   3231      1.1  christos .long	67569157,67569157,67569157,67569157
   3232      1.1  christos .long	1,1,1,1
   3233      1.1  christos .long	27,27,27,27
   3234      1.1  christos .byte	65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
   3235      1.1  christos .byte	83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
   3236      1.1  christos .byte	32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
   3237      1.1  christos .byte	115,108,46,111,114,103,62,0
   3238      1.1  christos .comm	OPENSSL_ia32cap_P,16,4
   3239