Lines Matching +full:1 +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
17 dup v17.4s,v17.s[1]
18 ext v16.16b,v18.16b,v19.16b,#8 //t0=0xc2....01
21 and v18.16b,v18.16b,v16.16b
22 shl v3.2d,v3.2d,#1
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
31 pmull v0.1q,v20.1d,v20.1d
32 eor v16.16b,v16.16b,v20.16b
33 pmull2 v2.1q,v20.2d,v20.2d
34 pmull v1.1q,v16.1d,v16.1d
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
40 pmull v18.1q,v0.1d,v19.1d //1st phase
42 ins v2.d[0],v1.d[1]
43 ins v1.d[1],v0.d[0]
44 eor v0.16b,v1.16b,v18.16b
46 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase
47 pmull v0.1q,v0.1d,v19.1d
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
54 st1 {v21.2d,v22.2d},[x0],#32 //store Htable[1..2]
56 pmull v0.1q,v20.1d, v22.1d
57 pmull v5.1q,v22.1d,v22.1d
58 pmull2 v2.1q,v20.2d, v22.2d
59 pmull2 v7.1q,v22.2d,v22.2d
60 pmull v1.1q,v16.1d,v17.1d
61 pmull v6.1q,v17.1d,v17.1d
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
70 pmull v18.1q,v0.1d,v19.1d //1st phase
71 eor v6.16b,v6.16b,v4.16b
72 pmull v4.1q,v5.1d,v19.1d
74 ins v2.d[0],v1.d[1]
75 ins v7.d[0],v6.d[1]
76 ins v1.d[1],v0.d[0]
77 ins v6.d[1],v5.d[0]
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
83 pmull v0.1q,v0.1d,v19.1d
84 pmull v5.1q,v5.1d,v19.1d
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
100 pmull v0.1q,v22.1d, v23.1d
101 pmull v5.1q,v23.1d,v23.1d
102 pmull2 v2.1q,v22.2d, v23.2d
103 pmull2 v7.1q,v23.2d,v23.2d
104 pmull v1.1q,v16.1d,v18.1d
105 pmull v6.1q,v16.1d,v16.1d
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
114 pmull v18.1q,v0.1d,v19.1d //1st phase
115 eor v6.16b,v6.16b,v4.16b
116 pmull v4.1q,v5.1d,v19.1d
118 ins v2.d[0],v1.d[1]
119 ins v7.d[0],v6.d[1]
120 ins v1.d[1],v0.d[0]
121 ins v6.d[1],v5.d[0]
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
127 pmull v0.1q,v0.1d,v19.1d
128 pmull v5.1q,v5.1d,v19.1d
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
144 pmull v0.1q,v22.1d,v26.1d
145 pmull v5.1q,v22.1d,v28.1d
146 pmull2 v2.1q,v22.2d,v26.2d
147 pmull2 v7.1q,v22.2d,v28.2d
148 pmull v1.1q,v16.1d,v18.1d
149 pmull v6.1q,v17.1d,v18.1d
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
158 pmull v18.1q,v0.1d,v19.1d //1st phase
159 eor v6.16b,v6.16b,v4.16b
160 pmull v4.1q,v5.1d,v19.1d
162 ins v2.d[0],v1.d[1]
163 ins v7.d[0],v6.d[1]
164 ins v1.d[1],v0.d[0]
165 ins v6.d[1],v5.d[0]
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
171 pmull v0.1q,v0.1d,v19.1d
172 pmull v5.1q,v5.1d,v19.1d
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
200 pmull v0.1q,v20.1d,v3.1d //H.lo·Xi.lo
201 eor v17.16b,v17.16b,v3.16b //Karatsuba pre-processing
202 pmull2 v2.1q,v20.2d,v3.2d //H.hi·Xi.hi
203 pmull v1.1q,v21.1d,v17.1d //(H.lo+H.hi)·(Xi.lo+Xi.hi)
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
209 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
211 ins v2.d[0],v1.d[1]
212 ins v1.d[1],v0.d[0]
213 eor v0.16b,v1.16b,v18.16b
215 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
216 pmull v0.1q,v0.1d,v19.1d
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]
264 ld1 {v17.2d},[x2],x12 //load [rotated] I[1]
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
270 pmull v4.1q,v20.1d,v7.1d //H·Ii+1
271 eor v17.16b,v17.16b,v7.16b //Karatsuba pre-processing
272 pmull2 v6.1q,v20.2d,v7.2d
277 ext v18.16b,v3.16b,v3.16b,#8
279 pmull v0.1q,v22.1d,v3.1d //H^2.lo·Xi.lo
282 pmull v5.1q,v21.1d,v17.1d
283 eor v18.16b,v18.16b,v3.16b //Karatsuba pre-processing
284 pmull2 v2.1q,v22.2d,v3.2d //H^2.hi·Xi.hi
285 eor v0.16b,v0.16b,v4.16b //accumulate
286 pmull2 v1.1q,v21.2d,v18.2d //(H^2.lo+H^2.hi)·(Xi.lo+Xi.hi)
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
301 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
304 rev64 v17.16b,v17.16b
306 ins v2.d[0],v1.d[1]
307 ins v1.d[1],v0.d[0]
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
311 pmull v4.1q,v20.1d,v7.1d //H·Ii+1
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
315 pmull v0.1q,v0.1d,v19.1d
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
319 pmull2 v6.1q,v20.2d,v7.2d
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
332 pmull v0.1q,v20.1d,v3.1d //H.lo·Xi.lo
333 eor v17.16b,v17.16b,v3.16b //Karatsuba pre-processing
334 pmull2 v2.1q,v20.2d,v3.2d //H.hi·Xi.hi
335 pmull v1.1q,v21.1d,v17.1d //(H.lo+H.hi)·(Xi.lo+Xi.hi)
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
341 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
343 ins v2.d[0],v1.d[1]
344 ins v1.d[1],v0.d[0]
345 eor v0.16b,v1.16b,v18.16b
347 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
348 pmull v0.1q,v0.1d,v19.1d
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
383 pmull v29.1q,v20.1d,v25.1d //H·Ii+3
384 eor v7.16b,v7.16b,v25.16b
385 pmull2 v31.1q,v20.2d,v25.2d
386 pmull v30.1q,v21.1d,v7.1d
388 pmull v16.1q,v22.1d,v24.1d //H^2·Ii+2
389 eor v6.16b,v6.16b,v24.16b
390 pmull2 v24.1q,v22.2d,v24.2d
391 pmull2 v6.1q,v21.2d,v6.2d
393 eor v29.16b,v29.16b,v16.16b
394 eor v31.16b,v31.16b,v24.16b
395 eor v30.16b,v30.16b,v6.16b
397 pmull v7.1q,v26.1d,v23.1d //H^3·Ii+1
398 eor v5.16b,v5.16b,v23.16b
399 pmull2 v23.1q,v26.2d,v23.2d
400 pmull v5.1q,v27.1d,v5.1d
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
423 pmull v0.1q,v28.1d,v3.1d //H^4·(Xi+Ii)
424 eor v16.16b,v16.16b,v3.16b
425 pmull2 v2.1q,v28.2d,v3.2d
426 ext v25.16b,v7.16b,v7.16b,#8
427 pmull2 v1.1q,v27.2d,v16.2d
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
437 pmull v29.1q,v20.1d,v25.1d //H·Ii+3
438 eor v7.16b,v7.16b,v25.16b
439 eor v1.16b,v1.16b,v17.16b
440 pmull2 v31.1q,v20.2d,v25.2d
441 eor v1.16b,v1.16b,v18.16b
442 pmull v30.1q,v21.1d,v7.1d
444 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
445 ins v2.d[0],v1.d[1]
446 ins v1.d[1],v0.d[0]
447 pmull v16.1q,v22.1d,v24.1d //H^2·Ii+2
448 eor v6.16b,v6.16b,v24.16b
449 pmull2 v24.1q,v22.2d,v24.2d
450 eor v0.16b,v1.16b,v18.16b
451 pmull2 v6.1q,v21.2d,v6.2d
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
458 pmull v0.1q,v0.1d,v19.1d
459 pmull v7.1q,v26.1d,v23.1d //H^3·Ii+1
460 eor v5.16b,v5.16b,v23.16b
461 eor v18.16b,v18.16b,v2.16b
462 pmull2 v23.1q,v26.2d,v23.2d
463 pmull v5.1q,v27.1d,v5.1d
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
478 pmull v0.1q,v28.1d,v3.1d //H^4·(Xi+Ii)
479 eor v16.16b,v16.16b,v3.16b
480 pmull2 v2.1q,v28.2d,v3.2d
481 pmull2 v1.1q,v27.2d,v16.2d
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
505 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
506 ins v2.d[0],v1.d[1]
507 ins v1.d[1],v0.d[0]
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
512 pmull v29.1q,v20.1d,v24.1d //H·Ii+2
513 eor v6.16b,v6.16b,v24.16b
515 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
516 pmull v0.1q,v0.1d,v19.1d
517 eor v18.16b,v18.16b,v2.16b
518 pmull2 v31.1q,v20.2d,v24.2d
519 pmull v30.1q,v21.1d,v6.1d
520 eor v0.16b,v0.16b,v18.16b
521 pmull v7.1q,v22.1d,v23.1d //H^2·Ii+1
522 eor v5.16b,v5.16b,v23.16b
523 ext v0.16b,v0.16b,v0.16b,#8
525 pmull2 v23.1q,v22.2d,v23.2d
526 eor v16.16b,v4.16b,v0.16b
527 pmull2 v5.1q,v21.2d,v5.2d
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
534 pmull v0.1q,v26.1d,v3.1d //H^3·(Xi+Ii)
535 eor v16.16b,v16.16b,v3.16b
536 pmull2 v2.1q,v26.2d,v3.2d
537 pmull v1.1q,v27.1d,v16.1d
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
556 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
557 ins v2.d[0],v1.d[1]
558 ins v1.d[1],v0.d[0]
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
563 pmull v0.1q,v0.1d,v19.1d
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
568 pmull v29.1q,v20.1d,v23.1d //H·Ii+1
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
574 pmull2 v31.1q,v20.2d,v23.2d
575 pmull v30.1q,v21.1d,v5.1d
577 pmull v0.1q,v22.1d,v3.1d //H^2·(Xi+Ii)
578 eor v16.16b,v16.16b,v3.16b
579 pmull2 v2.1q,v22.2d,v3.2d
580 pmull2 v1.1q,v21.2d,v16.2d
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
598 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
599 ins v2.d[0],v1.d[1]
600 ins v1.d[1],v0.d[0]
601 eor v0.16b,v1.16b,v18.16b
603 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
604 pmull v0.1q,v0.1d,v19.1d
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
612 pmull v0.1q,v20.1d,v3.1d
613 eor v16.16b,v16.16b,v3.16b
614 pmull2 v2.1q,v20.2d,v3.2d
615 pmull v1.1q,v21.1d,v16.1d
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
623 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
624 ins v2.d[0],v1.d[1]
625 ins v1.d[1],v0.d[0]
626 eor v0.16b,v1.16b,v18.16b
628 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
629 pmull v0.1q,v0.1d,v19.1d
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