Lines Matching +full:0 +full:d

64 	pmull		\rd\().1q, \rn\().1d, \rm\().1d
68 pmull2 \rd\().1q, \rn\().2d, \rm\().2d
107 pmull\t \rq\().8h, \ad, \bd // D = A*B
113 uzp1 t4.2d, t3.2d, t5.2d
114 uzp2 t3.2d, t3.2d, t5.2d
115 uzp1 t6.2d, t7.2d, t9.2d
116 uzp2 t7.2d, t7.2d, t9.2d
131 zip2 t5.2d, t4.2d, t3.2d
132 zip1 t3.2d, t4.2d, t3.2d
133 zip2 t9.2d, t6.2d, t7.2d
134 zip1 t7.2d, t6.2d, t7.2d
149 ld1 {HH.2d-HH4.2d}, [x8]
151 trn1 SHASH2.2d, SHASH.2d, HH.2d
152 trn2 T1.2d, SHASH.2d, HH.2d
155 trn1 HH34.2d, HH3.2d, HH4.2d
156 trn2 T1.2d, HH3.2d, HH4.2d
159 movi MASK.16b, #0xe1
160 shl MASK.2d, MASK.2d, #57
167 // k00_16 := 0x0000000000000000_000000000000ffff
168 // k32_48 := 0x00000000ffffffff_0000ffffffffffff
169 movi k32_48.2d, #0xffffffff
170 mov k32_48.h[2], k32_48.h[0]
171 ushr k00_16.2d, k32_48.2d, #32
174 mov_q x5, 0x080f0e0d0c0b0a09
176 dup perm1.2d, x5
178 ushr perm2.2d, perm1.2d, #8
179 ushr perm3.2d, perm1.2d, #16
180 ushr T1.2d, perm1.2d, #24
181 sli perm2.2d, perm1.2d, #56
182 sli perm3.2d, perm1.2d, #48
183 sli T1.2d, perm1.2d, #40
201 pmull T2.1q, XL.1d, MASK.1d
204 mov XH.d[0], XM.d[1]
205 mov XM.d[1], XL.d[0]
209 pmull XL.1q, XL.1d, MASK.1d
219 mov XL.d[1], XM.d[0]
220 mov XH.d[0], XM.d[1]
222 shl T1.2d, XL.2d, #57
223 shl T2.2d, XL.2d, #62
225 shl T1.2d, XL.2d, #63
230 mov XL.d[1], T2.d[0]
231 mov XH.d[0], T2.d[1]
233 ushr T2.2d, XL.2d, #1
236 ushr T2.2d, T2.2d, #6
237 ushr XL.2d, XL.2d, #1
241 ld1 {SHASH.2d}, [x3]
242 ld1 {XL.2d}, [x1]
247 cbz x4, 0f
248 ld1 {T1.2d}, [x4]
252 0: .ifc \pn, p64
253 tbnz w0, #0, 2f // skip until #blocks is a
269 pmull2 XH2.1q, SHASH.2d, IN1.2d // a1 * b1
270 pmull XL2.1q, SHASH.1d, IN1.1d // a0 * b0
271 pmull XM2.1q, SHASH2.1d, TT4.1d // (a1 + a0)(b1 + b0)
274 pmull2 XH3.1q, HH.2d, XL3.2d // a1 * b1
275 pmull XL3.1q, HH.1d, XL3.1d // a0 * b0
276 pmull2 XM3.1q, SHASH2.2d, TT3.2d // (a1 + a0)(b1 + b0)
284 pmull2 XH3.1q, HH3.2d, IN1.2d // a1 * b1
285 pmull XL3.1q, HH3.1d, IN1.1d // a0 * b0
286 pmull XM3.1q, HH34.1d, T2.1d // (a1 + a0)(b1 + b0)
297 pmull2 XH.1q, HH4.2d, XL.2d // a1 * b1
299 pmull XL.1q, HH4.1d, XL.1d // a0 * b0
300 pmull2 XM.1q, HH34.2d, T1.2d // (a1 + a0)(b1 + b0)
319 2: ld1 {T1.2d}, [x2], #16
344 cbnz w0, 0b
346 5: st1 {XL.2d}, [x1]
443 ld1 {SHASH.2d}, [x3], #16
444 ld1 {HH.2d-HH4.2d}, [x3]
446 trn1 SHASH2.2d, SHASH.2d, HH.2d
447 trn2 T1.2d, SHASH.2d, HH.2d
450 trn1 HH34.2d, HH3.2d, HH4.2d
451 trn2 T1.2d, HH3.2d, HH4.2d
454 ld1 {XL.2d}, [x4]
461 0: mov w9, #4 // max blocks per round
462 add x10, x0, #0xf
489 ands x19, x0, #0xf
517 2: .if \enc == 0
528 bne 0b
537 mov w11, #(0x1 << 24) // BE '1U'
557 mvn XL.16b, XL.16b // -1 for fail, 0 for pass
560 smov w0, v0.b[0] // return b0
569 st1 {XL.2d}, [x4]
614 pmull_gcm_do_crypt 0
618 movi MASK.16b, #0xe1
619 shl MASK.2d, MASK.2d, #57
628 tbz w9, #2, 0f // <4 blocks?
630 0: movi XH2.16b, #0
631 movi XM2.16b, #0
632 movi XL2.16b, #0
634 tbz w9, #0, 1f // 2 blocks?
653 pmull2 XH2.1q, HH4.2d, IN1.2d // a1 * b1
655 pmull XL2.1q, HH4.1d, IN1.1d // a0 * b0
656 pmull2 XM2.1q, HH34.2d, T1.2d // (a1 + a0)(b1 + b0)
660 pmull2 XH.1q, HH3.2d, T1.2d // a1 * b1
661 pmull XL.1q, HH3.1d, T1.1d // a0 * b0
662 pmull XM.1q, HH34.1d, T2.1d // (a1 + a0)(b1 + b0)
670 pmull2 XH.1q, HH.2d, T2.2d // a1 * b1
671 pmull XL.1q, HH.1d, T2.1d // a0 * b0
672 pmull2 XM.1q, SHASH2.2d, TT3.2d // (a1 + a0)(b1 + b0)
680 pmull XL.1q, SHASH.1d, IN1.1d // a0 * b0
681 pmull2 XH.1q, SHASH.2d, IN1.2d // a1 * b1
682 pmull XM.1q, SHASH2.1d, TT4.1d // (a1 + a0)(b1 + b0)
768 .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
769 .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
770 .byte 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
771 .byte 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf
772 .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
773 .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
774 .byte 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7
775 .byte 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf