Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: third_party/boringssl/linux-arm/crypto/aes/aesv8-armx32.S

Issue 1938433002: Revert BoringSSL Roll (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #if defined(__arm__) 1 #if defined(__arm__)
2 #include <openssl/arm_arch.h> 2 #include "arm_arch.h"
3 3
4 #if __ARM_MAX_ARCH__>=7 4 #if __ARM_MAX_ARCH__>=7
5 .text 5 .text
6 .arch armv7-a 6 .arch armv7-a
7 .fpu neon 7 .fpu neon
8 .code 32 8 .code 32
9 .align 5 9 .align 5
10 .Lrcon: 10 .Lrcon:
11 .long 0x01,0x01,0x01,0x01 11 .long 0x01,0x01,0x01,0x01
12 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d @ rotate-n-splat 12 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d @ rotate-n-splat
13 .long 0x1b,0x1b,0x1b,0x1b 13 .long 0x1b,0x1b,0x1b,0x1b
14 14
15 .globl aes_v8_set_encrypt_key 15 .globl aes_v8_set_encrypt_key
16 .hidden aes_v8_set_encrypt_key
17 .type aes_v8_set_encrypt_key,%function 16 .type aes_v8_set_encrypt_key,%function
18 .align 5 17 .align 5
19 aes_v8_set_encrypt_key: 18 aes_v8_set_encrypt_key:
20 .Lenc_key: 19 .Lenc_key:
21 mov r3,#-1 20 mov r3,#-1
22 cmp r0,#0 21 cmp r0,#0
23 beq .Lenc_key_abort 22 beq .Lenc_key_abort
24 cmp r2,#0 23 cmp r2,#0
25 beq .Lenc_key_abort 24 beq .Lenc_key_abort
26 mov r3,#-2 25 mov r3,#-2
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 str r12,[r2] 176 str r12,[r2]
178 mov r3,#0 177 mov r3,#0
179 178
180 .Lenc_key_abort: 179 .Lenc_key_abort:
181 mov r0,r3 @ return value 180 mov r0,r3 @ return value
182 181
183 bx lr 182 bx lr
184 .size aes_v8_set_encrypt_key,.-aes_v8_set_encrypt_key 183 .size aes_v8_set_encrypt_key,.-aes_v8_set_encrypt_key
185 184
186 .globl aes_v8_set_decrypt_key 185 .globl aes_v8_set_decrypt_key
187 .hidden aes_v8_set_decrypt_key
188 .type aes_v8_set_decrypt_key,%function 186 .type aes_v8_set_decrypt_key,%function
189 .align 5 187 .align 5
190 aes_v8_set_decrypt_key: 188 aes_v8_set_decrypt_key:
191 stmdb sp!,{r4,lr} 189 stmdb sp!,{r4,lr}
192 bl .Lenc_key 190 bl .Lenc_key
193 191
194 cmp r0,#0 192 cmp r0,#0
195 bne .Ldec_key_abort 193 bne .Ldec_key_abort
196 194
197 sub r2,r2,#240 @ restore original r2 195 sub r2,r2,#240 @ restore original r2
(...skipping 17 matching lines...) Expand all
215 213
216 vld1.32 {q0},[r2] 214 vld1.32 {q0},[r2]
217 .byte 0xc0,0x03,0xb0,0xf3 @ aesimc q0,q0 215 .byte 0xc0,0x03,0xb0,0xf3 @ aesimc q0,q0
218 vst1.32 {q0},[r0] 216 vst1.32 {q0},[r0]
219 217
220 eor r0,r0,r0 @ return value 218 eor r0,r0,r0 @ return value
221 .Ldec_key_abort: 219 .Ldec_key_abort:
222 ldmia sp!,{r4,pc} 220 ldmia sp!,{r4,pc}
223 .size aes_v8_set_decrypt_key,.-aes_v8_set_decrypt_key 221 .size aes_v8_set_decrypt_key,.-aes_v8_set_decrypt_key
224 .globl aes_v8_encrypt 222 .globl aes_v8_encrypt
225 .hidden aes_v8_encrypt
226 .type aes_v8_encrypt,%function 223 .type aes_v8_encrypt,%function
227 .align 5 224 .align 5
228 aes_v8_encrypt: 225 aes_v8_encrypt:
229 ldr r3,[r2,#240] 226 ldr r3,[r2,#240]
230 vld1.32 {q0},[r2]! 227 vld1.32 {q0},[r2]!
231 vld1.8 {q2},[r0] 228 vld1.8 {q2},[r0]
232 sub r3,r3,#2 229 sub r3,r3,#2
233 vld1.32 {q1},[r2]! 230 vld1.32 {q1},[r2]!
234 231
235 .Loop_enc: 232 .Loop_enc:
236 .byte 0x00,0x43,0xb0,0xf3 @ aese q2,q0 233 .byte 0x00,0x43,0xb0,0xf3 @ aese q2,q0
237 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2 234 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2
238 vld1.32 {q0},[r2]! 235 vld1.32 {q0},[r2]!
239 subs r3,r3,#2 236 subs r3,r3,#2
240 .byte 0x02,0x43,0xb0,0xf3 @ aese q2,q1 237 .byte 0x02,0x43,0xb0,0xf3 @ aese q2,q1
241 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2 238 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2
242 vld1.32 {q1},[r2]! 239 vld1.32 {q1},[r2]!
243 bgt .Loop_enc 240 bgt .Loop_enc
244 241
245 .byte 0x00,0x43,0xb0,0xf3 @ aese q2,q0 242 .byte 0x00,0x43,0xb0,0xf3 @ aese q2,q0
246 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2 243 .byte 0x84,0x43,0xb0,0xf3 @ aesmc q2,q2
247 vld1.32 {q0},[r2] 244 vld1.32 {q0},[r2]
248 .byte 0x02,0x43,0xb0,0xf3 @ aese q2,q1 245 .byte 0x02,0x43,0xb0,0xf3 @ aese q2,q1
249 veor q2,q2,q0 246 veor q2,q2,q0
250 247
251 vst1.8 {q2},[r1] 248 vst1.8 {q2},[r1]
252 bx lr 249 bx lr
253 .size aes_v8_encrypt,.-aes_v8_encrypt 250 .size aes_v8_encrypt,.-aes_v8_encrypt
254 .globl aes_v8_decrypt 251 .globl aes_v8_decrypt
255 .hidden aes_v8_decrypt
256 .type aes_v8_decrypt,%function 252 .type aes_v8_decrypt,%function
257 .align 5 253 .align 5
258 aes_v8_decrypt: 254 aes_v8_decrypt:
259 ldr r3,[r2,#240] 255 ldr r3,[r2,#240]
260 vld1.32 {q0},[r2]! 256 vld1.32 {q0},[r2]!
261 vld1.8 {q2},[r0] 257 vld1.8 {q2},[r0]
262 sub r3,r3,#2 258 sub r3,r3,#2
263 vld1.32 {q1},[r2]! 259 vld1.32 {q1},[r2]!
264 260
265 .Loop_dec: 261 .Loop_dec:
266 .byte 0x40,0x43,0xb0,0xf3 @ aesd q2,q0 262 .byte 0x40,0x43,0xb0,0xf3 @ aesd q2,q0
267 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2 263 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2
268 vld1.32 {q0},[r2]! 264 vld1.32 {q0},[r2]!
269 subs r3,r3,#2 265 subs r3,r3,#2
270 .byte 0x42,0x43,0xb0,0xf3 @ aesd q2,q1 266 .byte 0x42,0x43,0xb0,0xf3 @ aesd q2,q1
271 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2 267 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2
272 vld1.32 {q1},[r2]! 268 vld1.32 {q1},[r2]!
273 bgt .Loop_dec 269 bgt .Loop_dec
274 270
275 .byte 0x40,0x43,0xb0,0xf3 @ aesd q2,q0 271 .byte 0x40,0x43,0xb0,0xf3 @ aesd q2,q0
276 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2 272 .byte 0xc4,0x43,0xb0,0xf3 @ aesimc q2,q2
277 vld1.32 {q0},[r2] 273 vld1.32 {q0},[r2]
278 .byte 0x42,0x43,0xb0,0xf3 @ aesd q2,q1 274 .byte 0x42,0x43,0xb0,0xf3 @ aesd q2,q1
279 veor q2,q2,q0 275 veor q2,q2,q0
280 276
281 vst1.8 {q2},[r1] 277 vst1.8 {q2},[r1]
282 bx lr 278 bx lr
283 .size aes_v8_decrypt,.-aes_v8_decrypt 279 .size aes_v8_decrypt,.-aes_v8_decrypt
284 .globl aes_v8_cbc_encrypt 280 .globl aes_v8_cbc_encrypt
285 .hidden aes_v8_cbc_encrypt
286 .type aes_v8_cbc_encrypt,%function 281 .type aes_v8_cbc_encrypt,%function
287 .align 5 282 .align 5
288 aes_v8_cbc_encrypt: 283 aes_v8_cbc_encrypt:
289 mov ip,sp 284 mov ip,sp
290 stmdb sp!,{r4,r5,r6,r7,r8,lr} 285 stmdb sp!,{r4,r5,r6,r7,r8,lr}
291 vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI specificati on says so 286 vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI specificati on says so
292 ldmia ip,{r4,r5} @ load remaining args 287 ldmia ip,{r4,r5} @ load remaining args
293 subs r2,r2,#16 288 subs r2,r2,#16
294 mov r8,#16 289 mov r8,#16
295 blo .Lcbc_abort 290 blo .Lcbc_abort
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 vorr q6,q11,q11 563 vorr q6,q11,q11
569 vst1.8 {q5},[r1]! 564 vst1.8 {q5},[r1]!
570 565
571 .Lcbc_done: 566 .Lcbc_done:
572 vst1.8 {q6},[r4] 567 vst1.8 {q6},[r4]
573 .Lcbc_abort: 568 .Lcbc_abort:
574 vldmia sp!,{d8,d9,d10,d11,d12,d13,d14,d15} 569 vldmia sp!,{d8,d9,d10,d11,d12,d13,d14,d15}
575 ldmia sp!,{r4,r5,r6,r7,r8,pc} 570 ldmia sp!,{r4,r5,r6,r7,r8,pc}
576 .size aes_v8_cbc_encrypt,.-aes_v8_cbc_encrypt 571 .size aes_v8_cbc_encrypt,.-aes_v8_cbc_encrypt
577 .globl aes_v8_ctr32_encrypt_blocks 572 .globl aes_v8_ctr32_encrypt_blocks
578 .hidden aes_v8_ctr32_encrypt_blocks
579 .type aes_v8_ctr32_encrypt_blocks,%function 573 .type aes_v8_ctr32_encrypt_blocks,%function
580 .align 5 574 .align 5
581 aes_v8_ctr32_encrypt_blocks: 575 aes_v8_ctr32_encrypt_blocks:
582 mov ip,sp 576 mov ip,sp
583 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,lr} 577 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,lr}
584 vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI specificati on says so 578 vstmdb sp!,{d8,d9,d10,d11,d12,d13,d14,d15} @ ABI specificati on says so
585 ldr r4, [ip] @ load remaining arg 579 ldr r4, [ip] @ load remaining arg
586 ldr r5,[r3,#240] 580 ldr r5,[r3,#240]
587 581
588 ldr r8, [r4, #12] 582 ldr r8, [r4, #12]
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 veor q3,q3,q1 746 veor q3,q3,q1
753 vst1.8 {q2},[r1]! 747 vst1.8 {q2},[r1]!
754 beq .Lctr32_done 748 beq .Lctr32_done
755 vst1.8 {q3},[r1] 749 vst1.8 {q3},[r1]
756 750
757 .Lctr32_done: 751 .Lctr32_done:
758 vldmia sp!,{d8,d9,d10,d11,d12,d13,d14,d15} 752 vldmia sp!,{d8,d9,d10,d11,d12,d13,d14,d15}
759 ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,pc} 753 ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,pc}
760 .size aes_v8_ctr32_encrypt_blocks,.-aes_v8_ctr32_encrypt_blocks 754 .size aes_v8_ctr32_encrypt_blocks,.-aes_v8_ctr32_encrypt_blocks
761 #endif 755 #endif
762 #endif 756 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/linux-arm/crypto/aes/aes-armv4.S ('k') | third_party/boringssl/linux-arm/crypto/aes/bsaes-armv7.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698