Lines Matching +full:- +full:- +full:bin
1 ; RUN: llc -march=aarch64 -aarch64-neon-syntax=generic < %s | FileCheck %s
4 ; CHECK-LABEL: add_B
5 ; CHECK: addv {{b[0-9]+}}, {{v[0-9]+}}.16b
6 %bin.rdx = load <16 x i8>, <16 x i8>* %arr
7 …%rdx.shuf0 = shufflevector <16 x i8> %bin.rdx, <16 x i8> undef, <16 x i32> <i32 8, i32 9, i32 10, …
8 %bin.rdx0 = add <16 x i8> %bin.rdx, %rdx.shuf0
9 …%rdx.shuf = shufflevector <16 x i8> %bin.rdx0, <16 x i8> undef, <16 x i32> <i32 4, i32 5, i32 6, i…
10 %bin.rdx11 = add <16 x i8> %bin.rdx0, %rdx.shuf
11 …%rdx.shuf12 = shufflevector <16 x i8> %bin.rdx11, <16 x i8> undef, <16 x i32> <i32 2, i32 3, i32 u…
12 %bin.rdx13 = add <16 x i8> %bin.rdx11, %rdx.shuf12
13 …%rdx.shuf13 = shufflevector <16 x i8> %bin.rdx13, <16 x i8> undef, <16 x i32> <i32 1, i32 undef, i…
14 %bin.rdx14 = add <16 x i8> %bin.rdx13, %rdx.shuf13
15 %r = extractelement <16 x i8> %bin.rdx14, i32 0
20 ; CHECK-LABEL: add_H
21 ; CHECK: addv {{h[0-9]+}}, {{v[0-9]+}}.8h
22 %bin.rdx = load <8 x i16>, <8 x i16>* %arr
23 …%rdx.shuf = shufflevector <8 x i16> %bin.rdx, <8 x i16> undef, <8 x i32> <i32 4, i32 5, i32 6, i32…
24 %bin.rdx11 = add <8 x i16> %bin.rdx, %rdx.shuf
25 …%rdx.shuf12 = shufflevector <8 x i16> %bin.rdx11, <8 x i16> undef, <8 x i32> <i32 2, i32 3, i32 un…
26 %bin.rdx13 = add <8 x i16> %bin.rdx11, %rdx.shuf12
27 …%rdx.shuf13 = shufflevector <8 x i16> %bin.rdx13, <8 x i16> undef, <8 x i32> <i32 1, i32 undef, i3…
28 %bin.rdx14 = add <8 x i16> %bin.rdx13, %rdx.shuf13
29 %r = extractelement <8 x i16> %bin.rdx14, i32 0
34 ; CHECK-LABEL: add_S
35 ; CHECK: addv {{s[0-9]+}}, {{v[0-9]+}}.4s
36 %bin.rdx = load <4 x i32>, <4 x i32>* %arr
37 …%rdx.shuf = shufflevector <4 x i32> %bin.rdx, <4 x i32> undef, <4 x i32> <i32 2, i32 3, i32 undef,…
38 %bin.rdx11 = add <4 x i32> %bin.rdx, %rdx.shuf
39 …%rdx.shuf12 = shufflevector <4 x i32> %bin.rdx11, <4 x i32> undef, <4 x i32> <i32 1, i32 undef, i3…
40 %bin.rdx13 = add <4 x i32> %bin.rdx11, %rdx.shuf12
41 %r = extractelement <4 x i32> %bin.rdx13, i32 0
46 ; CHECK-LABEL: add_D
47 ; CHECK-NOT: addv
48 %bin.rdx = load <2 x i64>, <2 x i64>* %arr
49 %rdx.shuf0 = shufflevector <2 x i64> %bin.rdx, <2 x i64> undef, <2 x i32> <i32 1, i32 undef>
50 %bin.rdx0 = add <2 x i64> %bin.rdx, %rdx.shuf0
51 %r = extractelement <2 x i64> %bin.rdx0, i32 0
56 ; CHECK-LABEL: oversized_ADDV_256
57 ; CHECK: addv {{s[0-9]+}}, {{v[0-9]+}}.4s
70 %bin.rdx = add <8 x i32> %9, %rdx.shuf
71 …%rdx.shuf1 = shufflevector <8 x i32> %bin.rdx, <8 x i32> undef, <8 x i32> <i32 2, i32 3, i32 undef…
72 %bin.rdx2 = add <8 x i32> %bin.rdx, %rdx.shuf1
73 …%rdx.shuf3 = shufflevector <8 x i32> %bin.rdx2, <8 x i32> undef, <8 x i32> <i32 1, i32 undef, i32 …
74 %bin.rdx4 = add <8 x i32> %bin.rdx2, %rdx.shuf3
75 %10 = extractelement <8 x i32> %bin.rdx4, i32 0
80 ; CHECK-LABEL: oversized_ADDV_512
81 ; CHECK: addv {{s[0-9]+}}, {{v[0-9]+}}.4s
82 %bin.rdx = load <16 x i32>, <16 x i32>* %arr
84 …%rdx.shuf0 = shufflevector <16 x i32> %bin.rdx, <16 x i32> undef, <16 x i32> <i32 8, i32 9, i32 10…
85 %bin.rdx0 = add <16 x i32> %bin.rdx, %rdx.shuf0
87 …%rdx.shuf = shufflevector <16 x i32> %bin.rdx0, <16 x i32> undef, <16 x i32> <i32 4, i32 5, i32 6,…
88 %bin.rdx11 = add <16 x i32> %bin.rdx0, %rdx.shuf
90 …%rdx.shuf12 = shufflevector <16 x i32> %bin.rdx11, <16 x i32> undef, <16 x i32> <i32 2, i32 3, i32…
91 %bin.rdx13 = add <16 x i32> %bin.rdx11, %rdx.shuf12
93 …%rdx.shuf13 = shufflevector <16 x i32> %bin.rdx13, <16 x i32> undef, <16 x i32> <i32 1, i32 undef,…
94 %bin.rdx14 = add <16 x i32> %bin.rdx13, %rdx.shuf13
96 %r = extractelement <16 x i32> %bin.rdx14, i32 0