1e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.text 2e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_encrypt 3e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_encrypt,@function 4e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 5e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_encrypt: 6e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 7e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rdx),%eax 8e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm0 9e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdx),%xmm1 10e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rdx),%rdx 11e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 12e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_1: 13e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 14e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 15e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm1 16e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx),%rdx 17e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_1 18e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 19e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 20e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 21e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_encrypt,.-aesni_encrypt 22e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 23e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_decrypt 24e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_decrypt,@function 25e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 26e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_decrypt: 27e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 28e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rdx),%eax 29e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm0 30e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdx),%xmm1 31e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rdx),%rdx 32e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 33e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_2: 34e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 35e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 36e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm1 37e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx),%rdx 38e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_2 39e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 40e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 41e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 42e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_decrypt, .-aesni_decrypt 43e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_encrypt3,@function 44e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 45e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_encrypt3: 46e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 47e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 48e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 49e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 50e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 51e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 52e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 53e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 54e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 55e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop3: 56e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 57e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 58e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 59e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 60e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 61e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 62e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 63e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 64e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 65e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 66e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lenc_loop3 67e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 68e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 69e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 70e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 71e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 72e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 73e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 74e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 75e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_encrypt3,.-_aesni_encrypt3 76e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_decrypt3,@function 77e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 78e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_decrypt3: 79e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 80e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 81e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 82e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 83e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 84e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 85e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 86e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 87e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 88e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop3: 89e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 90e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 91e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 92e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 93e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 94e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 95e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 96e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 97e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 98e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 99e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Ldec_loop3 100e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 101e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 102e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 103e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 104e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,208 105e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,216 106e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,224 107e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 108e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_decrypt3,.-_aesni_decrypt3 109e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_encrypt4,@function 110e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 111e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_encrypt4: 112e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 113e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 114e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 115e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 116e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 117e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 118e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 119e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm5 120e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 121e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 122e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop4: 123e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 124e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 125e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 126e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 127e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 128e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 129e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 130e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 131e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 132e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 133e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 134e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 135e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lenc_loop4 136e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 137e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 138e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 139e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 140e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 141e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 142e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 143e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 144e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,232 145e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 146e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_encrypt4,.-_aesni_encrypt4 147e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_decrypt4,@function 148e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 149e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_decrypt4: 150e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 151e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 152e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 153e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 154e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 155e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 156e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 157e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm5 158e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 159e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 160e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop4: 161e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 162e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 163e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 164e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 165e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 166e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 167e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 168e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 169e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 170e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 171e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,232 172e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 173e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Ldec_loop4 174e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 175e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 176e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 177e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 178e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 179e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,208 180e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,216 181e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,224 182e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,232 183e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 184e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_decrypt4,.-_aesni_decrypt4 185e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_encrypt6,@function 186e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 187e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_encrypt6: 188e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 189e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 190e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 191e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 192e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 193e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm3 194e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 195e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 196e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 197e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 198e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 199e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 200e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 201e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 202e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 203e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 204e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 205e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 206e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lenc_loop6_enter 207e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 208e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop6: 209e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 210e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 211e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 212e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 213e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 214e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 215e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 216e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop6_enter: 217e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 218e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 219e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 220e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 221e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 222e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 223e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,240 224e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,248 225e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 226e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lenc_loop6 227e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 228e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 229e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 230e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 231e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 232e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 233e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 234e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 235e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 236e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 237e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,232 238e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,240 239e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,248 240e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 241e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_encrypt6,.-_aesni_encrypt6 242e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_decrypt6,@function 243e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 244e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_decrypt6: 245e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 246e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 247e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 248e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 249e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 250e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm3 251e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 252e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 253e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 254e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 255e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 256e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 257e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 258e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 259e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 260e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 261e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 262e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 263e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Ldec_loop6_enter 264e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 265e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop6: 266e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 267e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 268e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 269e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 270e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 271e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 272e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 273e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop6_enter: 274e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 275e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 276e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 277e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 278e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 279e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,232 280e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,240 281e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,248 282e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 283e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Ldec_loop6 284e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 285e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 286e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 287e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 288e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 289e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 290e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 291e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,208 292e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,216 293e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,224 294e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,232 295e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,240 296e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,248 297e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 298e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_decrypt6,.-_aesni_decrypt6 299e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_encrypt8,@function 300e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 301e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_encrypt8: 302e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 303e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 304e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 305e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 306e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 307e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 308e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 309e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 310e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 311e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 312e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 313e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 314e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 315e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 316e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 317e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 318e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm8 319e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 320e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm9 321e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 322e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,193 323e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,201 324e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 325e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lenc_loop8_enter 326e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 327e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop8: 328e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 329e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 330e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 331e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 332e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 333e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 334e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 335e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,193 336e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,201 337e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 338e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_loop8_enter: 339e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 340e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 341e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 342e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 343e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 344e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,240 345e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,248 346e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,192 347e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,200 348e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 349e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lenc_loop8 350e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 351e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 352e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 353e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 354e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 355e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 356e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 357e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,193 358e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,201 359e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 360e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 361e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 362e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,232 363e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,240 364e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,248 365e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,221,192 366e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,221,200 367e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 368e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_encrypt8,.-_aesni_encrypt8 369e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type _aesni_decrypt8,@function 370e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 371e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org_aesni_decrypt8: 372e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 373e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 374e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 375e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 376e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 377e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 378e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 379e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 380e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 381e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 382e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 383e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 384e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 385e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 386e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 387e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 388e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm8 389e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 390e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm9 391e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 392e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,193 393e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,201 394e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 395e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Ldec_loop8_enter 396e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 397e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop8: 398e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 399e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 400e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 401e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 402e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 403e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 404e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 405e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,193 406e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,201 407e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 408e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_loop8_enter: 409e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 410e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 411e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 412e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 413e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,232 414e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,240 415e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,248 416e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,192 417e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,200 418e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 419e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Ldec_loop8 420e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 421e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 422e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 423e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 424e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 425e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 426e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 427e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,193 428e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,201 429e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,208 430e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,216 431e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,224 432e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,232 433e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,240 434e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,248 435e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,223,192 436e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,223,200 437e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 438e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size _aesni_decrypt8,.-_aesni_decrypt8 439e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_ecb_encrypt 440e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_ecb_encrypt,@function 441e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 442e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_ecb_encrypt: 443e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $-16,%rdx 444e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lecb_ret 445e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 446e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%eax 447e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 448e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 449e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 450e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testl %r8d,%r8d 451e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lecb_decrypt 452e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 453e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $128,%rdx 454e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_enc_tail 455e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 456e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 457e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 458e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 459e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 460e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 461e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 462e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 463e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 112(%rdi),%xmm9 464e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rdi),%rdi 465e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $128,%rdx 466e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_enc_loop8_enter 467e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 468e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_loop8: 469e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 470e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 471e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 472e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 473e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 474e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 475e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 476e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 477e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 478e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 479e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 480e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 481e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 482e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 483e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 484e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 485e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,112(%rsi) 486e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rsi),%rsi 487e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 112(%rdi),%xmm9 488e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rdi),%rdi 489e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_loop8_enter: 490e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 491e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt8 492e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 493e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $128,%rdx 494e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lecb_enc_loop8 495e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 496e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 497e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 498e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 499e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 500e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 501e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 502e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 503e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 504e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 505e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,112(%rsi) 506e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rsi),%rsi 507e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $128,%rdx 508e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lecb_ret 509e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 510e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_tail: 511e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 512e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $32,%rdx 513e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_enc_one 514e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 515e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_enc_two 516e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 517e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $64,%rdx 518e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_enc_three 519e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm5 520e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_enc_four 521e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm6 522e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $96,%rdx 523e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_enc_five 524e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm7 525e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_enc_six 526e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 527e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt8 528e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 529e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 530e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 531e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 532e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 533e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 534e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 535e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 536e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 537e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_one: 538e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 539e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 540e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 541e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 542e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_3: 543e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 544e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 545e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 546e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 547e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_3 548e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 549e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 550e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 551e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 552e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_two: 553e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm4 554e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 555e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 556e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 557e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 558e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 559e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_three: 560e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 561e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 562e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 563e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 564e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 565e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 566e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_four: 567e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt4 568e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 569e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 570e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 571e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 572e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 573e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 574e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_five: 575e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm7 576e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt6 577e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 578e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 579e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 580e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 581e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 582e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 583e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 584e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_enc_six: 585e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt6 586e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 587e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 588e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 589e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 590e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 591e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 592e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 593e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 594e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 595e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_decrypt: 596e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $128,%rdx 597e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_dec_tail 598e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 599e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 600e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 601e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 602e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 603e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 604e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 605e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 606e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 112(%rdi),%xmm9 607e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rdi),%rdi 608e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $128,%rdx 609e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_dec_loop8_enter 610e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 611e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_loop8: 612e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 613e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 614e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 615e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 616e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 617e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 618e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 619e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 620e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 621e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 622e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 623e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 624e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 625e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 626e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 627e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 628e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,112(%rsi) 629e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rsi),%rsi 630e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 112(%rdi),%xmm9 631e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rdi),%rdi 632e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_loop8_enter: 633e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 634e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt8 635e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 636e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 637e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $128,%rdx 638e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lecb_dec_loop8 639e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 640e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 641e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 642e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 643e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 644e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 645e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 646e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 647e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 648e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 649e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,112(%rsi) 650e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rsi),%rsi 651e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $128,%rdx 652e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lecb_ret 653e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 654e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_tail: 655e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 656e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $32,%rdx 657e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_dec_one 658e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 659e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_dec_two 660e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 661e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $64,%rdx 662e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_dec_three 663e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm5 664e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_dec_four 665e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm6 666e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $96,%rdx 667e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lecb_dec_five 668e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm7 669e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lecb_dec_six 670e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 96(%rdi),%xmm8 671e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 672e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt8 673e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 674e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 675e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 676e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 677e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 678e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 679e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 680e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 681e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 682e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_one: 683e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 684e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 685e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 686e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 687e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_4: 688e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 689e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 690e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 691e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 692e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_4 693e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 694e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 695e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 696e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 697e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_two: 698e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm4 699e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 700e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 701e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 702e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 703e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 704e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_three: 705e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 706e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 707e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 708e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 709e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 710e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 711e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_four: 712e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt4 713e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 714e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 715e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 716e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 717e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 718e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 719e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_five: 720e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm7 721e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt6 722e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 723e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 724e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 725e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 726e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 727e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lecb_ret 728e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 729e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_dec_six: 730e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt6 731e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 732e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 733e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 734e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 735e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 736e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 737e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 738e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lecb_ret: 739e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 740e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_ecb_encrypt,.-aesni_ecb_encrypt 741e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_ccm64_encrypt_blocks 742e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_ccm64_encrypt_blocks,@function 743e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 744e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_ccm64_encrypt_blocks: 745e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%eax 746e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%r8),%xmm9 747e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lincrement64(%rip),%xmm6 748e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lbswap_mask(%rip),%xmm7 749e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 750e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 751e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 0(%rcx),%r11 752e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%r9),%xmm3 753e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm9,%xmm2 754e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 755e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,0,207 756e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lccm64_enc_outer 757e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 758e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lccm64_enc_outer: 759e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 760e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 761e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 762e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 763e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 764e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 765e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm0 766e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%rcx 767e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 768e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 769e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 770e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lccm64_enc2_loop: 771e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 772e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 773e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 774e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 775e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 776e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 777e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 778e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 0(%rcx),%xmm0 779e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lccm64_enc2_loop 780e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 781e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 782e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm6,%xmm9 783e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 784e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 785e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 786e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decq %rdx 787e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 788e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 789e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm9,%xmm2 790e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 791e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 792e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,0,215 793e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lccm64_enc_outer 794e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 795e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,(%r9) 796e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 797e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks 798e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_ccm64_decrypt_blocks 799e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_ccm64_decrypt_blocks,@function 800e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 801e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_ccm64_decrypt_blocks: 802e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%eax 803e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm9 804e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%r9),%xmm3 805e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lincrement64(%rip),%xmm6 806e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lbswap_mask(%rip),%xmm7 807e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 808e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm9,%xmm2 809e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 810e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 811e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,0,207 812e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 813e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 814e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 815e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 816e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_5: 817e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 818e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 819e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 820e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 821e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_5 822e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 823e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 824e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm6,%xmm9 825e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 826e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lccm64_dec_outer 827e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 828e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lccm64_dec_outer: 829e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 830e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm9,%xmm2 831e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 832e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 833e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 834e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,0,215 835e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 836e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $1,%rdx 837e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lccm64_dec_break 838e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 839e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 840e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 841e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 842e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm8 843e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%rcx 844e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 845e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 846e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 847e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 848e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lccm64_dec2_loop: 849e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 850e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 851e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 852e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 853e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 854e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 855e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 856e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 0(%rcx),%xmm0 857e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lccm64_dec2_loop 858e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 859e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm6,%xmm9 860e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 861e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 862e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 863e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 864e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 865e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lccm64_dec_outer 866e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 867e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 868e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lccm64_dec_break: 869e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 870e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 871e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 872e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm8 873e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%r11 874e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 875e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_6: 876e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 877e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 878e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm1 879e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%r11),%r11 880e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_6 881e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,217 882e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,(%r9) 883e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 884e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks 885e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_ctr32_encrypt_blocks 886e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_ctr32_encrypt_blocks,@function 887e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 888e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_ctr32_encrypt_blocks: 889e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $1,%rdx 890e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lctr32_one_shortcut 891e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 892e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%r8),%xmm14 893e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lbswap_mask(%rip),%xmm15 894e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorl %eax,%eax 895e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,22,242,3 896e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,58,34,240,3 897e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 898e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%eax 899e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org bswapl %r10d 900e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm12,%xmm12 901e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm13,%xmm13 902e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,226,0 903e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 3(%r10),%r11 904e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,235,0 905e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org incl %r10d 906e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,226,1 907e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org incq %r11 908e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,235,1 909e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org incl %r10d 910e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,226,2 911e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org incq %r11 912e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,58,34,235,2 913e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,-40(%rsp) 914e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,56,0,231 915e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,-24(%rsp) 916e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,56,0,239 917e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 918e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $192,%xmm12,%xmm2 919e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $128,%xmm12,%xmm3 920e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $64,%xmm12,%xmm4 921e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $6,%rdx 922e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lctr32_tail 923e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 924e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 925e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 926e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $6,%rdx 927e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_loop6 928e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 929e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 930e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_loop6: 931e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $192,%xmm13,%xmm5 932e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm2 933e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 934e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $128,%xmm13,%xmm6 935e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm3 936e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 937e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $64,%xmm13,%xmm7 938e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm4 939e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm5 940e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 941e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm6 942e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm7 943e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 944e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 945e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 946e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 947e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm3 948e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 949e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%rcx 950e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 951e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 952e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lincrement32(%rip),%xmm13 953e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 954e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 955e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa -40(%rsp),%xmm12 956e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 957e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 958e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 959e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 960e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 961e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 962e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 963e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_enc_loop6_enter 964e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 965e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_enc_loop6: 966e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 967e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 968e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 969e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 970e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 971e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 972e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 973e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_enc_loop6_enter: 974e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 975e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 976e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 977e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 978e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 979e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 980e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,240 981e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,248 982e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 983e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lctr32_enc_loop6 984e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 985e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 986e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddd %xmm13,%xmm12 987e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 988e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddd -24(%rsp),%xmm13 989e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 990e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,-40(%rsp) 991e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 992e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,-24(%rsp) 993e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 994e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,56,0,231 995e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 996e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,69,15,56,0,239 997e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 998e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 999e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 1000e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 1001e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm9 1002e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 1003e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm10 1004e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,232 1005e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm11 1006e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,240 1007e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm1 1008e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,248 1009e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm0 1010e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rdi),%rdi 1011e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1012e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1013e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $192,%xmm12,%xmm2 1014e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm9 1015e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $128,%xmm12,%xmm3 1016e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1017e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm10 1018e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $64,%xmm12,%xmm4 1019e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,16(%rsi) 1020e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm5,%xmm11 1021e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm10,32(%rsi) 1022e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm6,%xmm1 1023e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm11,48(%rsi) 1024e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm0 1025e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm1,64(%rsi) 1026e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,80(%rsi) 1027e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rsi),%rsi 1028e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1029e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $6,%rdx 1030e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lctr32_loop6 1031e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1032e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $6,%rdx 1033e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lctr32_done 1034e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1035e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leal 1(%rax,%rax,1),%eax 1036e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1037e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_tail: 1038e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm2 1039e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 1040e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $2,%rdx 1041e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lctr32_one 1042e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1043e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm3 1044e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm9 1045e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lctr32_two 1046e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1047e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $192,%xmm13,%xmm5 1048e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm4 1049e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm10 1050e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $4,%rdx 1051e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lctr32_three 1052e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1053e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $128,%xmm13,%xmm6 1054e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm5 1055e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm11 1056e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lctr32_four 1057e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1058e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org por %xmm14,%xmm6 1059e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm7 1060e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1061e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt6 1062e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1063e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm1 1064e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1065e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm9 1066e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1067e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm10 1068e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,16(%rsi) 1069e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm5,%xmm11 1070e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm10,32(%rsi) 1071e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm6,%xmm1 1072e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm11,48(%rsi) 1073e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm1,64(%rsi) 1074e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_done 1075e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1076e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1077e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_one_shortcut: 1078e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm2 1079e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm8 1080e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%eax 1081e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_one: 1082e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1083e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1084e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1085e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1086e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_7: 1087e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1088e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1089e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1090e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1091e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_7 1092e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 1093e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1094e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1095e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_done 1096e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1097e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1098e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_two: 1099e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm4 1100e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 1101e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1102e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm9 1103e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1104e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,16(%rsi) 1105e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_done 1106e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1107e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1108e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_three: 1109e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 1110e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1111e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm9 1112e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1113e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm10 1114e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,16(%rsi) 1115e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm10,32(%rsi) 1116e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lctr32_done 1117e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1118e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1119e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_four: 1120e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt4 1121e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm2,%xmm8 1122e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm9 1123e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,(%rsi) 1124e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm10 1125e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,16(%rsi) 1126e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm5,%xmm11 1127e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm10,32(%rsi) 1128e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm11,48(%rsi) 1129e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1130e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lctr32_done: 1131e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 1132e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks 1133e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_xts_encrypt 1134e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_xts_encrypt,@function 1135e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1136e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_xts_encrypt: 1137e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -104(%rsp),%rsp 1138e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r9),%xmm15 1139e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%r8),%eax 1140e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%r10d 1141e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm0 1142e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r8),%xmm1 1143e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r8),%r8 1144e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm15 1145e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_8: 1146e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,249 1147e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1148e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm1 1149e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%r8),%r8 1150e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_8 1151e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,221,249 1152e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 1153e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1154e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rdx,%r9 1155e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $-16,%rdx 1156e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1157e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lxts_magic(%rip),%xmm8 1158e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1159e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1160e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1161e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1162e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1163e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1164e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1165e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1166e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1167e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1168e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1169e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1170e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1171e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1172e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1173e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1174e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1175e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1176e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm12 1177e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1178e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1179e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1180e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1181e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1182e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1183e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm13 1184e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1185e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1186e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1187e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1188e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $96,%rdx 1189e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jc .Lxts_enc_short 1190e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1191e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 1192e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subl $1,%eax 1193e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 1194e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_grandloop 1195e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1196e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1197e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_grandloop: 1198e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1199e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm14 1200e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1201e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 0(%rdi),%xmm2 1202e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1203e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 1204e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1205e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1206e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 1207e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm10,%xmm2 1208e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 1209e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm11,%xmm3 1210e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 1211e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm12,%xmm4 1212e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 1213e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rdi),%rdi 1214e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm13,%xmm5 1215e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 1216e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm6 1217e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm15,%xmm7 1218e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1219e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1220e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1221e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 1222e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm2 1223e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm3 1224e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm10,0(%rsp) 1225e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1226e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%rcx 1227e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 1228e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm11,16(%rsp) 1229e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 1230e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 1231e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,32(%rsp) 1232e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 1233e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 1234e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,48(%rsp) 1235e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 1236e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 1237e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1238e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1239e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm14,64(%rsp) 1240e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 1241e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,80(%rsp) 1242e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 1243e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1244e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1245e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_loop6_enter 1246e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1247e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1248e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_loop6: 1249e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1250e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 1251e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1252e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 1253e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 1254e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 1255e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 1256e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_loop6_enter: 1257e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1258e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 1259e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 1260e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1261e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 1262e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 1263e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,240 1264e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,248 1265e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1266e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lxts_enc_loop6 1267e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1268e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1269e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1270e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1271e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1272e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1273e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 1274e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1275e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 1276e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1277e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 1278e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 1279e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 1280e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1281e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1282e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1283e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1284e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1285e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1286e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,208 1287e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1288e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,216 1289e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1290e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,224 1291e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1292e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,232 1293e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,240 1294e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,248 1295e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rcx),%xmm0 1296e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1297e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1298e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1299e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1300e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1301e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1302e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1303e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,217 1304e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1305e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,225 1306e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1307e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,233 1308e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,241 1309e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,249 1310e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1311e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1312e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1313e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm12 1314e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1315e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,208 1316e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1317e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,216 1318e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1319e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,224 1320e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1321e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,232 1322e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,240 1323e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,248 1324e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1325e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1326e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1327e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm13 1328e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1329e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 0(%rsp),%xmm2 1330e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1331e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 16(%rsp),%xmm3 1332e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1333e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1334e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1335e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 32(%rsp),%xmm4 1336e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,0(%rsi) 1337e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 48(%rsp),%xmm5 1338e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1339e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 64(%rsp),%xmm6 1340e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1341e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 80(%rsp),%xmm7 1342e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 1343e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1344e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 1345e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 1346e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rsi),%rsi 1347e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $96,%rdx 1348e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lxts_enc_grandloop 1349e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1350e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leal 3(%rax,%rax,1),%eax 1351e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1352e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 1353e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1354e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_short: 1355e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $96,%rdx 1356e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lxts_enc_done 1357e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1358e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $32,%rdx 1359e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lxts_enc_one 1360e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lxts_enc_two 1361e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1362e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $64,%rdx 1363e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lxts_enc_three 1364e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lxts_enc_four 1365e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1366e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1367e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm14 1368e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1369e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 1370e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1371e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 1372e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1373e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1374e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 1375e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm10,%xmm2 1376e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 1377e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm11,%xmm3 1378e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 1379e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 80(%rdi),%rdi 1380e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm12,%xmm4 1381e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm13,%xmm5 1382e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm6 1383e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1384e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt6 1385e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1386e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1387e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1388e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1389e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1390e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm2,(%rsi) 1391e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1392e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm3,16(%rsi) 1393e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm14,%xmm6 1394e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm4,32(%rsi) 1395e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm5,48(%rsi) 1396e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm6,64(%rsi) 1397e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 80(%rsi),%rsi 1398e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_done 1399e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1400e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1401e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_one: 1402e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1403e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 1404e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1405e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1406e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1407e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1408e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1409e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_9: 1410e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1411e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1412e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1413e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1414e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_9 1415e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 1416e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1417e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm11,%xmm10 1418e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1419e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 1420e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_done 1421e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1422e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1423e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_two: 1424e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1425e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1426e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rdi),%rdi 1427e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1428e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1429e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1430e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 1431e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1432e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1433e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,%xmm10 1434e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1435e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1436e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1437e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rsi),%rsi 1438e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_done 1439e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1440e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1441e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_three: 1442e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1443e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1444e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 1445e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 48(%rdi),%rdi 1446e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1447e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1448e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1449e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1450e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt3 1451e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1452e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1453e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,%xmm10 1454e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1455e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1456e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1457e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1458e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1459e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 48(%rsi),%rsi 1460e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_done 1461e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1462e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1463e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_four: 1464e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1465e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1466e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 1467e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1468e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm5 1469e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 64(%rdi),%rdi 1470e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1471e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1472e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1473e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1474e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_encrypt4 1475e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1476e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1477e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1478e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1479e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1480e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1481e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1482e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1483e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1484e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 1485e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 64(%rsi),%rsi 1486e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_enc_done 1487e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1488e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1489e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_done: 1490e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $15,%r9 1491e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lxts_enc_ret 1492e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r9,%rdx 1493e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1494e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_steal: 1495e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movzbl (%rdi),%eax 1496e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movzbl -16(%rsi),%ecx 1497e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 1(%rdi),%rdi 1498e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movb %al,-16(%rsi) 1499e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movb %cl,0(%rsi) 1500e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 1(%rsi),%rsi 1501e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $1,%rdx 1502e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lxts_enc_steal 1503e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1504e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq %r9,%rsi 1505e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1506e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1507e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1508e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups -16(%rsi),%xmm2 1509e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1510e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1511e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1512e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1513e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1514e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_10: 1515e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1516e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1517e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1518e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1519e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_10 1520e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 1521e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1522e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,-16(%rsi) 1523e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1524e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_ret: 1525e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 104(%rsp),%rsp 1526e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_enc_epilogue: 1527e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 1528e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_xts_encrypt,.-aesni_xts_encrypt 1529e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_xts_decrypt 1530e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_xts_decrypt,@function 1531e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1532e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_xts_decrypt: 1533e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -104(%rsp),%rsp 1534e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r9),%xmm15 1535e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%r8),%eax 1536e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%r10d 1537e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm0 1538e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r8),%xmm1 1539e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r8),%r8 1540e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm15 1541e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_11: 1542e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,220,249 1543e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1544e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm1 1545e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%r8),%r8 1546e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_11 1547e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,221,249 1548e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorl %eax,%eax 1549e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testq $15,%rdx 1550e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org setnz %al 1551e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shlq $4,%rax 1552e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq %rax,%rdx 1553e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1554e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 1555e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1556e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rdx,%r9 1557e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $-16,%rdx 1558e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1559e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa .Lxts_magic(%rip),%xmm8 1560e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1561e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1562e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1563e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1564e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1565e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1566e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1567e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1568e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1569e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1570e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1571e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1572e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1573e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1574e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1575e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1576e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1577e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1578e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm12 1579e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1580e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1581e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1582e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1583e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1584e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1585e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm13 1586e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1587e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1588e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1589e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1590e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $96,%rdx 1591e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jc .Lxts_dec_short 1592e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1593e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%eax 1594e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subl $1,%eax 1595e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 1596e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_grandloop 1597e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1598e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1599e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_grandloop: 1600e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1601e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm14 1602e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1603e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 0(%rdi),%xmm2 1604e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1605e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 1606e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1607e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1608e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 1609e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm10,%xmm2 1610e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 1611e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm11,%xmm3 1612e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 1613e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm12,%xmm4 1614e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 1615e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rdi),%rdi 1616e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm13,%xmm5 1617e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r11),%xmm0 1618e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm6 1619e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm15,%xmm7 1620e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1621e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1622e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1623e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%r11),%xmm1 1624e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm2 1625e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm3 1626e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm10,0(%rsp) 1627e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1628e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%r11),%rcx 1629e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 1630e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm11,16(%rsp) 1631e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 1632e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 1633e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,32(%rsp) 1634e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 1635e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 1636e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,48(%rsp) 1637e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 1638e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 1639e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1640e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1641e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm14,64(%rsp) 1642e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 1643e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,80(%rsp) 1644e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 1645e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1646e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1647e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_loop6_enter 1648e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1649e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1650e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_loop6: 1651e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1652e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 1653e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1654e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 1655e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 1656e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 1657e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 1658e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_loop6_enter: 1659e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1660e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 1661e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 1662e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1663e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 1664e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,232 1665e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,240 1666e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,248 1667e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1668e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lxts_dec_loop6 1669e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1670e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1671e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1672e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1673e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1674e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1675e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 1676e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1677e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 1678e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1679e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 1680e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 1681e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 1682e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1683e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1684e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1685e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1686e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1687e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1688e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,208 1689e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1690e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,216 1691e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1692e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,224 1693e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1694e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,232 1695e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,240 1696e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,248 1697e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rcx),%xmm0 1698e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1699e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1700e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1701e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1702e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1703e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1704e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1705e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 1706e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1707e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 1708e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1709e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 1710e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 1711e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 1712e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1713e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1714e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1715e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm12 1716e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1717e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,208 1718e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1719e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,216 1720e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1721e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,224 1722e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1723e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,232 1724e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,240 1725e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,248 1726e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1727e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1728e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1729e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm13 1730e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1731e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 0(%rsp),%xmm2 1732e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1733e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 16(%rsp),%xmm3 1734e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1735e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1736e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1737e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 32(%rsp),%xmm4 1738e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,0(%rsi) 1739e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 48(%rsp),%xmm5 1740e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1741e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 64(%rsp),%xmm6 1742e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1743e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps 80(%rsp),%xmm7 1744e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 1745e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1746e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 1747e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 1748e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rsi),%rsi 1749e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $96,%rdx 1750e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lxts_dec_grandloop 1751e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1752e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leal 3(%rax,%rax,1),%eax 1753e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1754e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %eax,%r10d 1755e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1756e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_short: 1757e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $96,%rdx 1758e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lxts_dec_done 1759e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1760e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $32,%rdx 1761e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lxts_dec_one 1762e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lxts_dec_two 1763e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1764e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $64,%rdx 1765e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lxts_dec_three 1766e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .Lxts_dec_four 1767e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1768e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1769e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm14 1770e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1771e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu (%rdi),%xmm2 1772e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1773e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 16(%rdi),%xmm3 1774e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1775e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1776e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 1777e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm10,%xmm2 1778e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 1779e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm11,%xmm3 1780e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 1781e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 80(%rdi),%rdi 1782e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm12,%xmm4 1783e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm13,%xmm5 1784e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm6 1785e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1786e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt6 1787e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1788e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1789e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1790e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1791e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm2,(%rsi) 1792e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1793e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm3,16(%rsi) 1794e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm14,%xmm6 1795e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm4,32(%rsi) 1796e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm14,%xmm14 1797e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm5,48(%rsi) 1798e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pcmpgtd %xmm15,%xmm14 1799e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu %xmm6,64(%rsi) 1800e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 80(%rsi),%rsi 1801e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm11 1802e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $15,%r9 1803e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lxts_dec_ret 1804e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1805e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm10 1806e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1807e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm11 1808e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm15,%xmm11 1809e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_done2 1810e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1811e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1812e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_one: 1813e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1814e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 1815e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1816e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1817e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1818e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1819e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1820e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_12: 1821e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1822e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1823e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1824e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1825e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_12 1826e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 1827e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1828e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm11,%xmm10 1829e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1830e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,%xmm11 1831e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 1832e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_done 1833e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1834e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1835e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_two: 1836e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1837e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1838e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rdi),%rdi 1839e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1840e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1841e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1842e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 1843e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1844e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1845e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm12,%xmm10 1846e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1847e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,%xmm11 1848e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1849e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1850e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rsi),%rsi 1851e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_done 1852e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1853e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1854e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_three: 1855e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1856e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1857e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 1858e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 48(%rdi),%rdi 1859e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1860e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1861e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1862e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1863e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 1864e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1865e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1866e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm13,%xmm10 1867e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1868e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1869e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1870e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1871e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1872e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1873e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 48(%rsi),%rsi 1874e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_done 1875e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1876e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1877e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_four: 1878e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $19,%xmm14,%xmm9 1879e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm14 1880e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org paddq %xmm15,%xmm15 1881e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1882e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pand %xmm8,%xmm9 1883e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 1884e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm9,%xmm15 1885e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1886e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 1887e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1888e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm5 1889e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 64(%rdi),%rdi 1890e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1891e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1892e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1893e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1894e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt4 1895e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1896e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1897e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm14,%xmm10 1898e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm3 1899e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm15,%xmm11 1900e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm12,%xmm4 1901e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1902e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm13,%xmm5 1903e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 1904e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 1905e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 1906e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 64(%rsi),%rsi 1907e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lxts_dec_done 1908e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1909e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1910e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_done: 1911e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $15,%r9 1912e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lxts_dec_ret 1913e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_done2: 1914e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r9,%rdx 1915e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1916e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1917e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1918e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 1919e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm2 1920e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1921e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1922e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1923e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1924e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_13: 1925e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1926e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1927e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1928e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1929e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_13 1930e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 1931e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm11,%xmm2 1932e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1933e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1934e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_steal: 1935e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movzbl 16(%rdi),%eax 1936e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movzbl (%rsi),%ecx 1937e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 1(%rdi),%rdi 1938e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movb %al,(%rsi) 1939e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movb %cl,16(%rsi) 1940e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 1(%rsi),%rsi 1941e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $1,%rdx 1942e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lxts_dec_steal 1943e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1944e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq %r9,%rsi 1945e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 1946e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1947e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1948e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rsi),%xmm2 1949e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1950e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1951e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1952e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1953e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 1954e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_14: 1955e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 1956e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 1957e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 1958e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 1959e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_14 1960e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 1961e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm10,%xmm2 1962e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 1963e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1964e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_ret: 1965e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 104(%rsp),%rsp 1966e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_dec_epilogue: 1967e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 1968e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_xts_decrypt,.-aesni_xts_decrypt 1969e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_cbc_encrypt 1970e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_cbc_encrypt,@function 1971e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1972e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_cbc_encrypt: 1973e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testq %rdx,%rdx 1974e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lcbc_ret 1975e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1976e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl 240(%rcx),%r10d 1977e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rcx,%r11 1978e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testl %r9d,%r9d 1979e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lcbc_decrypt 1980e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1981e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm2 1982e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 1983e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $16,%rdx 1984e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jb .Lcbc_enc_tail 1985e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $16,%rdx 1986e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_enc_loop 1987e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 1988e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_enc_loop: 1989e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm3 1990e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdi),%rdi 1991e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 1992e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 1993e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 1994e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 1995e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 1996e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm3,%xmm2 1997e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_enc1_15: 1998e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,220,209 1999e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 2000e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 2001e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 2002e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_enc1_15 2003e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,221,209 2004e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 2005e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 2006e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,0(%rsi) 2007e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 2008e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $16,%rdx 2009e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnc .Lcbc_enc_loop 2010e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $16,%rdx 2011e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lcbc_enc_tail 2012e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%r8) 2013e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_ret 2014e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2015e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_enc_tail: 2016e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rdx,%rcx 2017e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xchgq %rdi,%rsi 2018e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 0x9066A4F3 2019e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl $16,%ecx 2020e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq %rdx,%rcx 2021e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorl %eax,%eax 2022e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 0x9066AAF3 2023e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -16(%rdi),%rdi 2024e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 2025e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rdi,%rsi 2026e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 2027e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorq %rdx,%rdx 2028e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_enc_loop 2029e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2030e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2031e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_decrypt: 2032e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%r8),%xmm9 2033e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 2034e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $112,%rdx 2035e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_tail 2036e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shrl $1,%r10d 2037e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $112,%rdx 2038e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 2039e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm9,-24(%rsp) 2040e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_loop8_enter 2041e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2042e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_loop8: 2043e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm0,-24(%rsp) 2044e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,(%rsi) 2045e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 2046e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_loop8_enter: 2047e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 2048e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 2049e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 2050e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 2051e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2052e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 2053e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 32(%rdi),%xmm4 2054e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 2055e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 48(%rdi),%xmm5 2056e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm3 2057e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 64(%rdi),%xmm6 2058e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 2059e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm4 2060e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 80(%rdi),%xmm7 2061e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,217 2062e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm5 2063e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 96(%rdi),%xmm8 2064e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,225 2065e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm6 2066e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqu 112(%rdi),%xmm9 2067e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,233 2068e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm7 2069e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 2070e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,241 2071e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm8 2072e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,249 2073e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm0,%xmm9 2074e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 2075e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,193 2076e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,68,15,56,222,201 2077e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 2078e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2079e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Ldec_loop8_enter 2080e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2081e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm1 2082e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm0 2083e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps -24(%rsp),%xmm2 2084e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm3 2085e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm1 2086e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 2087e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm0 2088e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm5 2089e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm1 2090e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm6 2091e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm0 2092e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm7 2093e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 96(%rdi),%xmm1 2094e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm8 2095e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 112(%rdi),%xmm0 2096e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm9 2097e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2098e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2099e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 2100e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 2101e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %r10d,%eax 2102e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 2103e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %r11,%rcx 2104e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 2105e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 128(%rdi),%rdi 2106e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm8,96(%rsi) 2107e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 112(%rsi),%rsi 2108e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $128,%rdx 2109e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org ja .Lcbc_dec_loop8 2110e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2111e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm9,%xmm2 2112e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm0,%xmm9 2113e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $112,%rdx 2114e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jle .Lcbc_dec_tail_collected 2115e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2116e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leal 1(%r10,%r10,1),%eax 2117e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 2118e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_tail: 2119e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm2 2120e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm2,%xmm8 2121e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $16,%rdx 2122e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_one 2123e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2124e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm3 2125e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm3,%xmm7 2126e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $32,%rdx 2127e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_two 2128e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2129e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm4 2130e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm4,%xmm6 2131e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $48,%rdx 2132e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_three 2133e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2134e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm5 2135e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $64,%rdx 2136e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_four 2137e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2138e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm6 2139e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $80,%rdx 2140e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_five 2141e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2142e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm7 2143e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq $96,%rdx 2144e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jbe .Lcbc_dec_six 2145e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2146e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 96(%rdi),%xmm8 2147e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm9,-24(%rsp) 2148e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt8 2149e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm1 2150e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm0 2151e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps -24(%rsp),%xmm2 2152e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm3 2153e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm1 2154e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm4 2155e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm0 2156e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm5 2157e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm1 2158e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm6 2159e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm0 2160e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm7 2161e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 96(%rdi),%xmm9 2162e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm8 2163e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2164e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2165e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 2166e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 2167e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 2168e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm7,80(%rsi) 2169e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 96(%rsi),%rsi 2170e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm8,%xmm2 2171e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $112,%rdx 2172e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2173e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2174e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_one: 2175e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm0 2176e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rcx),%xmm1 2177e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rcx),%rcx 2178e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm2 2179e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Loop_dec1_16: 2180e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,222,209 2181e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org decl %eax 2182e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rcx),%xmm1 2183e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rcx),%rcx 2184e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Loop_dec1_16 2185e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,223,209 2186e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2187e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm8,%xmm9 2188e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $16,%rdx 2189e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2190e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2191e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_two: 2192e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm4 2193e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 2194e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2195e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 2196e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2197e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm7,%xmm9 2198e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm3,%xmm2 2199e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rsi),%rsi 2200e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $32,%rdx 2201e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2202e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2203e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_three: 2204e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt3 2205e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2206e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 2207e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2208e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm4 2209e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2210e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm6,%xmm9 2211e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm4,%xmm2 2212e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rsi),%rsi 2213e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $48,%rdx 2214e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2215e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2216e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_four: 2217e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt4 2218e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2219e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm9 2220e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 2221e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2222e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm4 2223e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2224e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm6,%xmm5 2225e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 2226e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm5,%xmm2 2227e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 48(%rsi),%rsi 2228e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $64,%rdx 2229e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2230e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2231e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_five: 2232e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm7,%xmm7 2233e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt6 2234e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm1 2235e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm0 2236e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2237e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 2238e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm4 2239e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm1 2240e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm5 2241e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm9 2242e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm6 2243e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2244e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2245e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 2246e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 2247e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 64(%rsi),%rsi 2248e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm6,%xmm2 2249e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $80,%rdx 2250e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2251e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2252e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_six: 2253e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call _aesni_decrypt6 2254e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm1 2255e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 32(%rdi),%xmm0 2256e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm9,%xmm2 2257e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm8,%xmm3 2258e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm4 2259e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 48(%rdi),%xmm1 2260e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm5 2261e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 64(%rdi),%xmm0 2262e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm6 2263e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 80(%rdi),%xmm9 2264e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm0,%xmm7 2265e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2266e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rsi) 2267e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm4,32(%rsi) 2268e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,48(%rsi) 2269e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm6,64(%rsi) 2270e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 80(%rsi),%rsi 2271e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm7,%xmm2 2272e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq $96,%rdx 2273e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_tail_collected 2274e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2275e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_tail_collected: 2276e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org andq $15,%rdx 2277e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm9,(%r8) 2278e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Lcbc_dec_tail_partial 2279e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rsi) 2280e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lcbc_dec_ret 2281e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2282e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_tail_partial: 2283e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm2,-24(%rsp) 2284e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq $16,%rcx 2285e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq %rsi,%rdi 2286e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org subq %rdx,%rcx 2287e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -24(%rsp),%rsi 2288e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 0x9066A4F3 2289e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2290e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_dec_ret: 2291e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lcbc_ret: 2292e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2293e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_cbc_encrypt,.-aesni_cbc_encrypt 2294e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_set_decrypt_key 2295e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_set_decrypt_key,@function 2296e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2297e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_set_decrypt_key: 2298e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 0x48,0x83,0xEC,0x08 2299e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call __aesni_set_encrypt_key 2300e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shll $4,%esi 2301e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testl %eax,%eax 2302e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jnz .Ldec_key_ret 2303e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx,%rsi,1),%rdi 2304e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2305e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm0 2306e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm1 2307e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rdi) 2308e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm1,(%rdx) 2309e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx),%rdx 2310e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -16(%rdi),%rdi 2311e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2312e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_key_inverse: 2313e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm0 2314e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm1 2315e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,219,192 2316e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,219,201 2317e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx),%rdx 2318e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq -16(%rdi),%rdi 2319e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,16(%rdi) 2320e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm1,-16(%rdx) 2321e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpq %rdx,%rdi 2322e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org ja .Ldec_key_inverse 2323e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2324e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdx),%xmm0 2325e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,56,219,192 2326e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rdi) 2327e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Ldec_key_ret: 2328e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $8,%rsp 2329e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2330e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.LSEH_end_set_decrypt_key: 2331e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_set_decrypt_key,.-aesni_set_decrypt_key 2332e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.globl aesni_set_encrypt_key 2333e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.type aesni_set_encrypt_key,@function 2334e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2335e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.orgaesni_set_encrypt_key: 2336e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org__aesni_set_encrypt_key: 2337e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 0x48,0x83,0xEC,0x08 2338e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq $-1,%rax 2339e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testq %rdi,%rdi 2340e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lenc_key_ret 2341e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org testq %rdx,%rdx 2342e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jz .Lenc_key_ret 2343e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2344e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups (%rdi),%xmm0 2345e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm4 2346e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rdx),%rax 2347e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpl $256,%esi 2348e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .L14rounds 2349e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpl $192,%esi 2350e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org je .L12rounds 2351e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org cmpl $128,%esi 2352e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jne .Lbad_keybits 2353e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2354e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.L10rounds: 2355e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl $9,%esi 2356e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rdx) 2357e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,1 2358e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128_cold 2359e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,2 2360e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2361e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,4 2362e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2363e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,8 2364e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2365e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,16 2366e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2367e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,32 2368e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2369e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,64 2370e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2371e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,128 2372e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2373e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,27 2374e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2375e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,54 2376e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_128 2377e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2378e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %esi,80(%rax) 2379e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorl %eax,%eax 2380e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lenc_key_ret 2381e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2382e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2383e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.L12rounds: 2384e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq 16(%rdi),%xmm2 2385e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl $11,%esi 2386e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rdx) 2387e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,1 2388e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192a_cold 2389e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,2 2390e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192b 2391e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,4 2392e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192a 2393e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,8 2394e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192b 2395e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,16 2396e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192a 2397e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,32 2398e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192b 2399e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,64 2400e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192a 2401e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,128 2402e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_192b 2403e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2404e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %esi,48(%rax) 2405e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorq %rax,%rax 2406e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lenc_key_ret 2407e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2408e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2409e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.L14rounds: 2410e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups 16(%rdi),%xmm2 2411e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl $13,%esi 2412e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rax),%rax 2413e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rdx) 2414e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,16(%rdx) 2415e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,1 2416e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a_cold 2417e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,1 2418e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2419e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,2 2420e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2421e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,2 2422e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2423e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,4 2424e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2425e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,4 2426e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2427e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,8 2428e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2429e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,8 2430e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2431e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,16 2432e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2433e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,16 2434e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2435e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,32 2436e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2437e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,200,32 2438e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256b 2439e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 102,15,58,223,202,64 2440e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org call .Lkey_expansion_256a 2441e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2442e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movl %esi,16(%rax) 2443e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorq %rax,%rax 2444e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lenc_key_ret 2445e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2446e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2447e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lbad_keybits: 2448e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movq $-2,%rax 2449e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lenc_key_ret: 2450e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org addq $8,%rsp 2451e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2452e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.LSEH_end_set_encrypt_key: 2453e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2454e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2455e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_128: 2456e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2457e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rax),%rax 2458e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_128_cold: 2459e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $16,%xmm0,%xmm4 2460e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2461e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $140,%xmm0,%xmm4 2462e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2463e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $255,%xmm1,%xmm1 2464e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm0 2465e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2466e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2467e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2468e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_192a: 2469e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2470e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rax),%rax 2471e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_192a_cold: 2472e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm2,%xmm5 2473e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_192b_warm: 2474e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $16,%xmm0,%xmm4 2475e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movdqa %xmm2,%xmm3 2476e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2477e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $140,%xmm0,%xmm4 2478e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pslldq $4,%xmm3 2479e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2480e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $85,%xmm1,%xmm1 2481e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm3,%xmm2 2482e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm1,%xmm0 2483e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pshufd $255,%xmm0,%xmm3 2484e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org pxor %xmm3,%xmm2 2485e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2486e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2487e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2488e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_192b: 2489e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movaps %xmm0,%xmm3 2490e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $68,%xmm0,%xmm5 2491e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm5,(%rax) 2492e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $78,%xmm2,%xmm3 2493e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm3,16(%rax) 2494e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 32(%rax),%rax 2495e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org jmp .Lkey_expansion_192b_warm 2496e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2497e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2498e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_256a: 2499e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm2,(%rax) 2500e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rax),%rax 2501e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_256a_cold: 2502e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $16,%xmm0,%xmm4 2503e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2504e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $140,%xmm0,%xmm4 2505e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm0 2506e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $255,%xmm1,%xmm1 2507e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm0 2508e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2509e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2510e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 16 2511e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lkey_expansion_256b: 2512e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org movups %xmm0,(%rax) 2513e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org leaq 16(%rax),%rax 2514e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2515e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $16,%xmm2,%xmm4 2516e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm2 2517e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $140,%xmm2,%xmm4 2518e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm4,%xmm2 2519e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org shufps $170,%xmm1,%xmm1 2520e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org xorps %xmm1,%xmm2 2521e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org .byte 0xf3,0xc3 2522e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size aesni_set_encrypt_key,.-aesni_set_encrypt_key 2523e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key 2524e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 64 2525e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lbswap_mask: 2526e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 2527e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lincrement32: 2528e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 6,6,6,0 2529e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lincrement64: 2530e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 1,0,0,0 2531e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.Lxts_magic: 2532e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.long 0x87,0,1,0 2533e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org 2534e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 2535e4dea707fa21299f1e0abf4c12827adfccb2eb85digit@chromium.org.align 64 2536