Lines Matching full:dot
4 ; RUN: llc < %s -mtriple=aarch64-unknown-unknown -mattr=+neon,+dotprod | FileCheck %s --check-prefixes=CHECK,DOT
9 ; RUN: llc < %s -global-isel -mtriple=aarch64-unknown-unknown -mattr=+neon,+dotprod | FileCheck %s --check-prefixes=GISEL,DOT-GISEL
252 ; DOT-LABEL: popcount2x64:
253 ; DOT: // %bb.0: // %Entry
254 ; DOT-NEXT: movi v1.16b, #1
255 ; DOT-NEXT: cnt v0.16b, v0.16b
256 ; DOT-NEXT: movi v2.2d, #0000000000000000
257 ; DOT-NEXT: udot v2.4s, v1.16b, v0.16b
258 ; DOT-NEXT: uaddlp v0.2d, v2.4s
259 ; DOT-NEXT: ret
285 ; DOT-GISEL-LABEL: popcount2x64:
286 ; DOT-GISEL: // %bb.0: // %Entry
287 ; DOT-GISEL-NEXT: movi v1.2d, #0000000000000000
288 ; DOT-GISEL-NEXT: cnt v0.16b, v0.16b
289 ; DOT-GISEL-NEXT: movi v2.16b, #1
290 ; DOT-GISEL-NEXT: udot v1.4s, v2.16b, v0.16b
291 ; DOT-GISEL-NEXT: uaddlp v0.2d, v1.4s
292 ; DOT-GISEL-NEXT: ret
370 ; DOT-LABEL: popcount4x32:
371 ; DOT: // %bb.0: // %Entry
372 ; DOT-NEXT: movi v1.16b, #1
373 ; DOT-NEXT: cnt v2.16b, v0.16b
374 ; DOT-NEXT: movi v0.2d, #0000000000000000
375 ; DOT-NEXT: udot v0.4s, v1.16b, v2.16b
376 ; DOT-NEXT: ret
399 ; DOT-GISEL-LABEL: popcount4x32:
400 ; DOT-GISEL: // %bb.0: // %Entry
401 ; DOT-GISEL-NEXT: movi v1.2d, #0000000000000000
402 ; DOT-GISEL-NEXT: cnt v0.16b, v0.16b
403 ; DOT-GISEL-NEXT: movi v2.16b, #1
404 ; DOT-GISEL-NEXT: udot v1.4s, v2.16b, v0.16b
405 ; DOT-GISEL-NEXT: mov v0.16b, v1.16b
406 ; DOT-GISEL-NEXT: ret
436 ; DOT-LABEL: popcount2x32:
437 ; DOT: // %bb.0: // %Entry
438 ; DOT-NEXT: movi v1.2d, #0000000000000000
439 ; DOT-NEXT: cnt v0.8b, v0.8b
440 ; DOT-NEXT: movi v2.8b, #1
441 ; DOT-NEXT: udot v1.2s, v2.8b, v0.8b
442 ; DOT-NEXT: fmov d0, d1
443 ; DOT-NEXT: ret
466 ; DOT-GISEL-LABEL: popcount2x32:
467 ; DOT-GISEL: // %bb.0: // %Entry
468 ; DOT-GISEL-NEXT: movi v1.2d, #0000000000000000
469 ; DOT-GISEL-NEXT: cnt v0.8b, v0.8b
470 ; DOT-GISEL-NEXT: movi v2.8b, #1
471 ; DOT-GISEL-NEXT: udot v1.2s, v2.8b, v0.8b
472 ; DOT-GISEL-NEXT: fmov d0, d1
473 ; DOT-GISEL-NEXT: ret