Lines Matching +full:- +full:16

1 /* Do not modify. This file is auto-generated from ghashv8-armx.pl. */
5 .arch armv8-a+crypto
13 movi v19.16b,#0xe1
15 ext v3.16b,v17.16b,v17.16b,#8
18 ext v16.16b,v18.16b,v19.16b,#8 //t0=0xc2....01
21 and v18.16b,v18.16b,v16.16b
23 ext v18.16b,v18.16b,v18.16b,#8
24 and v16.16b,v16.16b,v17.16b
25 orr v3.16b,v3.16b,v18.16b //H<<<=1
26 eor v20.16b,v3.16b,v16.16b //twisted H
27 st1 {v20.2d},[x0],#16 //store Htable[0]
30 ext v16.16b,v20.16b,v20.16b,#8 //Karatsuba pre-processing
32 eor v16.16b,v16.16b,v20.16b
36 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
37 eor v18.16b,v0.16b,v2.16b
38 eor v1.16b,v1.16b,v17.16b
39 eor v1.16b,v1.16b,v18.16b
44 eor v0.16b,v1.16b,v18.16b
46 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase
48 eor v18.16b,v18.16b,v2.16b
49 eor v22.16b,v0.16b,v18.16b
51 ext v17.16b,v22.16b,v22.16b,#8 //Karatsuba pre-processing
52 eor v17.16b,v17.16b,v22.16b
53 ext v21.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-processed
63 ext v16.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
64 ext v17.16b,v5.16b,v7.16b,#8
65 eor v18.16b,v0.16b,v2.16b
66 eor v1.16b,v1.16b,v16.16b
67 eor v4.16b,v5.16b,v7.16b
68 eor v6.16b,v6.16b,v17.16b
69 eor v1.16b,v1.16b,v18.16b
71 eor v6.16b,v6.16b,v4.16b
78 eor v0.16b,v1.16b,v18.16b
79 eor v5.16b,v6.16b,v4.16b
81 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase
82 ext v4.16b,v5.16b,v5.16b,#8
85 eor v18.16b,v18.16b,v2.16b
86 eor v4.16b,v4.16b,v7.16b
87 eor v23.16b, v0.16b,v18.16b //H^3
88 eor v25.16b,v5.16b,v4.16b //H^4
90 ext v16.16b,v23.16b, v23.16b,#8 //Karatsuba pre-processing
91 ext v17.16b,v25.16b,v25.16b,#8
92 ext v18.16b,v22.16b,v22.16b,#8
93 eor v16.16b,v16.16b,v23.16b
94 eor v17.16b,v17.16b,v25.16b
95 eor v18.16b,v18.16b,v22.16b
96 ext v24.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-processed
107 ext v16.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
108 ext v17.16b,v5.16b,v7.16b,#8
109 eor v18.16b,v0.16b,v2.16b
110 eor v1.16b,v1.16b,v16.16b
111 eor v4.16b,v5.16b,v7.16b
112 eor v6.16b,v6.16b,v17.16b
113 eor v1.16b,v1.16b,v18.16b
115 eor v6.16b,v6.16b,v4.16b
122 eor v0.16b,v1.16b,v18.16b
123 eor v5.16b,v6.16b,v4.16b
125 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase
126 ext v4.16b,v5.16b,v5.16b,#8
129 eor v18.16b,v18.16b,v2.16b
130 eor v4.16b,v4.16b,v7.16b
131 eor v26.16b,v0.16b,v18.16b //H^5
132 eor v28.16b,v5.16b,v4.16b //H^6
134 ext v16.16b,v26.16b, v26.16b,#8 //Karatsuba pre-processing
135 ext v17.16b,v28.16b,v28.16b,#8
136 ext v18.16b,v22.16b,v22.16b,#8
137 eor v16.16b,v16.16b,v26.16b
138 eor v17.16b,v17.16b,v28.16b
139 eor v18.16b,v18.16b,v22.16b
140 ext v27.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-processed
151 ext v16.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
152 ext v17.16b,v5.16b,v7.16b,#8
153 eor v18.16b,v0.16b,v2.16b
154 eor v1.16b,v1.16b,v16.16b
155 eor v4.16b,v5.16b,v7.16b
156 eor v6.16b,v6.16b,v17.16b
157 eor v1.16b,v1.16b,v18.16b
159 eor v6.16b,v6.16b,v4.16b
166 eor v0.16b,v1.16b,v18.16b
167 eor v5.16b,v6.16b,v4.16b
169 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase
170 ext v4.16b,v5.16b,v5.16b,#8
173 eor v18.16b,v18.16b,v2.16b
174 eor v4.16b,v4.16b,v7.16b
175 eor v29.16b,v0.16b,v18.16b //H^7
176 eor v31.16b,v5.16b,v4.16b //H^8
178 ext v16.16b,v29.16b,v29.16b,#8 //Karatsuba pre-processing
179 ext v17.16b,v31.16b,v31.16b,#8
180 eor v16.16b,v16.16b,v29.16b
181 eor v17.16b,v17.16b,v31.16b
182 ext v30.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-processed
185 .size gcm_init_v8,.-gcm_init_v8
192 movi v19.16b,#0xe1
196 rev64 v17.16b,v17.16b
198 ext v3.16b,v17.16b,v17.16b,#8
201 eor v17.16b,v17.16b,v3.16b //Karatsuba pre-processing
205 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
206 eor v18.16b,v0.16b,v2.16b
207 eor v1.16b,v1.16b,v17.16b
208 eor v1.16b,v1.16b,v18.16b
213 eor v0.16b,v1.16b,v18.16b
215 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
217 eor v18.16b,v18.16b,v2.16b
218 eor v0.16b,v0.16b,v18.16b
221 rev64 v0.16b,v0.16b
223 ext v0.16b,v0.16b,v0.16b,#8
227 .size gcm_gmult_v8,.-gcm_gmult_v8
242 mov x12,#16 //x12 is used as post-
244 //as loop is modulo-scheduled
252 movi v19.16b,#0xe1
255 ext v0.16b,v0.16b,v0.16b,#8 //rotate Xi
256 ld1 {v16.2d},[x2],#16 //load [rotated] I[0]
259 rev64 v16.16b,v16.16b
260 rev64 v0.16b,v0.16b
262 ext v3.16b,v16.16b,v16.16b,#8 //rotate I[0]
266 rev64 v17.16b,v17.16b
268 ext v7.16b,v17.16b,v17.16b,#8
269 eor v3.16b,v3.16b,v0.16b //I[i]^=Xi
271 eor v17.16b,v17.16b,v7.16b //Karatsuba pre-processing
277 ext v18.16b,v3.16b,v3.16b,#8
283 eor v18.16b,v18.16b,v3.16b //Karatsuba pre-processing
285 eor v0.16b,v0.16b,v4.16b //accumulate
289 eor v2.16b,v2.16b,v6.16b
291 eor v1.16b,v1.16b,v5.16b
293 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
294 eor v18.16b,v0.16b,v2.16b
295 eor v1.16b,v1.16b,v17.16b
298 rev64 v16.16b,v16.16b
300 eor v1.16b,v1.16b,v18.16b
304 rev64 v17.16b,v17.16b
308 ext v7.16b,v17.16b,v17.16b,#8
309 ext v3.16b,v16.16b,v16.16b,#8
310 eor v0.16b,v1.16b,v18.16b
312 eor v3.16b,v3.16b,v2.16b //accumulate v3.16b early
314 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
316 eor v3.16b,v3.16b,v18.16b
317 eor v17.16b,v17.16b,v7.16b //Karatsuba pre-processing
318 eor v3.16b,v3.16b,v0.16b
322 eor v2.16b,v2.16b,v18.16b
323 ext v3.16b,v16.16b,v16.16b,#8 //re-construct v3.16b
324 adds x3,x3,#32 //re-construct x3
325 eor v0.16b,v0.16b,v2.16b //re-construct v0.16b
328 ext v18.16b,v0.16b,v0.16b,#8
329 eor v3.16b,v3.16b,v0.16b //inp^=Xi
330 eor v17.16b,v16.16b,v18.16b //v17.16b is rotated inp^Xi
333 eor v17.16b,v17.16b,v3.16b //Karatsuba pre-processing
337 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
338 eor v18.16b,v0.16b,v2.16b
339 eor v1.16b,v1.16b,v17.16b
340 eor v1.16b,v1.16b,v18.16b
345 eor v0.16b,v1.16b,v18.16b
347 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
349 eor v18.16b,v18.16b,v2.16b
350 eor v0.16b,v0.16b,v18.16b
354 rev64 v0.16b,v0.16b
356 ext v0.16b,v0.16b,v0.16b,#8
360 .size gcm_ghash_v8,.-gcm_ghash_v8
367 movi v19.16b,#0xe1
373 rev64 v0.16b,v0.16b
374 rev64 v5.16b,v5.16b
375 rev64 v6.16b,v6.16b
376 rev64 v7.16b,v7.16b
377 rev64 v4.16b,v4.16b
379 ext v25.16b,v7.16b,v7.16b,#8
380 ext v24.16b,v6.16b,v6.16b,#8
381 ext v23.16b,v5.16b,v5.16b,#8
384 eor v7.16b,v7.16b,v25.16b
389 eor v6.16b,v6.16b,v24.16b
393 eor v29.16b,v29.16b,v16.16b
394 eor v31.16b,v31.16b,v24.16b
395 eor v30.16b,v30.16b,v6.16b
398 eor v5.16b,v5.16b,v23.16b
402 eor v29.16b,v29.16b,v7.16b
403 eor v31.16b,v31.16b,v23.16b
404 eor v30.16b,v30.16b,v5.16b
413 eor v16.16b,v4.16b,v0.16b
415 ext v3.16b,v16.16b,v16.16b,#8
417 rev64 v5.16b,v5.16b
418 rev64 v6.16b,v6.16b
419 rev64 v7.16b,v7.16b
420 rev64 v4.16b,v4.16b
424 eor v16.16b,v16.16b,v3.16b
426 ext v25.16b,v7.16b,v7.16b,#8
429 eor v0.16b,v0.16b,v29.16b
430 eor v2.16b,v2.16b,v31.16b
431 ext v24.16b,v6.16b,v6.16b,#8
432 eor v1.16b,v1.16b,v30.16b
433 ext v23.16b,v5.16b,v5.16b,#8
435 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
436 eor v18.16b,v0.16b,v2.16b
438 eor v7.16b,v7.16b,v25.16b
439 eor v1.16b,v1.16b,v17.16b
441 eor v1.16b,v1.16b,v18.16b
448 eor v6.16b,v6.16b,v24.16b
450 eor v0.16b,v1.16b,v18.16b
453 eor v29.16b,v29.16b,v16.16b
454 eor v31.16b,v31.16b,v24.16b
455 eor v30.16b,v30.16b,v6.16b
457 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
460 eor v5.16b,v5.16b,v23.16b
461 eor v18.16b,v18.16b,v2.16b
465 eor v0.16b,v0.16b,v18.16b
466 eor v29.16b,v29.16b,v7.16b
467 eor v31.16b,v31.16b,v23.16b
468 ext v0.16b,v0.16b,v0.16b,#8
469 eor v30.16b,v30.16b,v5.16b
475 eor v16.16b,v4.16b,v0.16b
476 ext v3.16b,v16.16b,v16.16b,#8
479 eor v16.16b,v16.16b,v3.16b
483 eor v0.16b,v0.16b,v29.16b
484 eor v2.16b,v2.16b,v31.16b
485 eor v1.16b,v1.16b,v30.16b
494 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
495 eor v18.16b,v0.16b,v2.16b
496 eor v1.16b,v1.16b,v17.16b
498 eor v1.16b,v1.16b,v18.16b
500 rev64 v5.16b,v5.16b
501 rev64 v6.16b,v6.16b
502 rev64 v4.16b,v4.16b
508 ext v24.16b,v6.16b,v6.16b,#8
509 ext v23.16b,v5.16b,v5.16b,#8
510 eor v0.16b,v1.16b,v18.16b
513 eor v6.16b,v6.16b,v24.16b
515 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
517 eor v18.16b,v18.16b,v2.16b
520 eor v0.16b,v0.16b,v18.16b
522 eor v5.16b,v5.16b,v23.16b
523 ext v0.16b,v0.16b,v0.16b,#8
526 eor v16.16b,v4.16b,v0.16b
528 ext v3.16b,v16.16b,v16.16b,#8
530 eor v29.16b,v29.16b,v7.16b
531 eor v31.16b,v31.16b,v23.16b
532 eor v30.16b,v30.16b,v5.16b
535 eor v16.16b,v16.16b,v3.16b
539 eor v0.16b,v0.16b,v29.16b
540 eor v2.16b,v2.16b,v31.16b
541 eor v1.16b,v1.16b,v30.16b
546 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
547 eor v18.16b,v0.16b,v2.16b
548 eor v1.16b,v1.16b,v17.16b
550 eor v1.16b,v1.16b,v18.16b
552 rev64 v5.16b,v5.16b
553 rev64 v4.16b,v4.16b
559 ext v23.16b,v5.16b,v5.16b,#8
560 eor v0.16b,v1.16b,v18.16b
562 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
564 eor v18.16b,v18.16b,v2.16b
565 eor v0.16b,v0.16b,v18.16b
566 ext v0.16b,v0.16b,v0.16b,#8
569 eor v5.16b,v5.16b,v23.16b
571 eor v16.16b,v4.16b,v0.16b
572 ext v3.16b,v16.16b,v16.16b,#8
578 eor v16.16b,v16.16b,v3.16b
582 eor v0.16b,v0.16b,v29.16b
583 eor v2.16b,v2.16b,v31.16b
584 eor v1.16b,v1.16b,v30.16b
589 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
590 eor v18.16b,v0.16b,v2.16b
591 eor v1.16b,v1.16b,v17.16b
593 eor v1.16b,v1.16b,v18.16b
595 rev64 v4.16b,v4.16b
601 eor v0.16b,v1.16b,v18.16b
603 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
605 eor v18.16b,v18.16b,v2.16b
606 eor v0.16b,v0.16b,v18.16b
607 ext v0.16b,v0.16b,v0.16b,#8
609 eor v16.16b,v4.16b,v0.16b
610 ext v3.16b,v16.16b,v16.16b,#8
613 eor v16.16b,v16.16b,v3.16b
618 ext v17.16b,v0.16b,v2.16b,#8 //Karatsuba post-processing
619 eor v18.16b,v0.16b,v2.16b
620 eor v1.16b,v1.16b,v17.16b
621 eor v1.16b,v1.16b,v18.16b
626 eor v0.16b,v1.16b,v18.16b
628 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
630 eor v18.16b,v18.16b,v2.16b
631 eor v0.16b,v0.16b,v18.16b
632 ext v0.16b,v0.16b,v0.16b,#8
635 rev64 v0.16b,v0.16b
640 .size gcm_ghash_v8_4x,.-gcm_ghash_v8_4x