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