llvm.org GIT mirror llvm / 3e63428
Consolidate the eqv.ll and nor.ll files together. Add a missed eqv case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23493 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 14 years ago
3 changed file(s) with 58 addition(s) and 51 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: llvm-as < %s | llc -march=ppc32 | grep eqv | wc -l | grep 3 &&
1 ; RUN: llvm-as < %s | llc -march=ppc32 | grep andc | wc -l | grep 2 &&
2 ; RUN: llvm-as < %s | llc -march=ppc32 | grep orc | wc -l | grep 2 &&
3 ; RUN: llvm-as < %s | llc -march=ppc32 | grep nor | wc -l | grep 2
4
5 int %EQV1(int %X, int %Y) {
6 %A = xor int %X, %Y
7 %B = xor int %A, -1
8 ret int %B
9 }
10
11 int %EQV2(int %X, int %Y) {
12 %A = xor int %X, -1
13 %B = xor int %A, %Y
14 ret int %B
15 }
16
17 int %EQV3(int %X, int %Y) {
18 %A = xor int %X, -1
19 %B = xor int %Y, %A
20 ret int %B
21 }
22
23 int %ANDC1(int %X, int %Y) {
24 %A = xor int %Y, -1
25 %B = and int %X, %A
26 ret int %B
27 }
28
29 int %ANDC2(int %X, int %Y) {
30 %A = xor int %X, -1
31 %B = and int %A, %Y
32 ret int %B
33 }
34
35 int %ORC1(int %X, int %Y) {
36 %A = xor int %Y, -1
37 %B = or int %X, %A
38 ret int %B
39 }
40
41 int %ORC2(int %X, int %Y) {
42 %A = xor int %X, -1
43 %B = or int %A, %Y
44 ret int %B
45 }
46
47 int %NOR1(int %X) {
48 %Y = xor int %X, -1
49 ret int %Y
50 }
51
52 int %NOR2(int %X, int %Y) {
53 %Z = or int %X, %Y
54 %R = xor int %Z, -1
55 ret int %R
56 }
57
+0
-39
test/CodeGen/PowerPC/eqv.ll less more
None ; RUN: llvm-as < %s | llc -march=ppc32 | grep eqv | wc -l | grep 2 &&
1 ; RUN: llvm-as < %s | llc -march=ppc32 | grep andc | wc -l | grep 2 &&
2 ; RUN: llvm-as < %s | llc -march=ppc32 | grep orc | wc -l | grep 2
3
4 int %test1(int %X, int %Y) {
5 %A = xor int %X, %Y
6 %B = xor int %A, -1
7 ret int %B
8 }
9
10 int %test2(int %X, int %Y) {
11 %A = xor int %X, %Y
12 %B = xor int %A, -1
13 ret int %B
14 }
15
16 int %test3(int %X, int %Y) {
17 %A = xor int %Y, -1
18 %B = and int %X, %A
19 ret int %B
20 }
21
22 int %test4(int %X, int %Y) {
23 %A = xor int %Y, -1
24 %B = or int %X, %A
25 ret int %B
26 }
27
28 int %test5(int %X, int %Y) {
29 %A = xor int %X, -1
30 %B = and int %A, %Y
31 ret int %B
32 }
33
34 int %test6(int %X, int %Y) {
35 %A = xor int %X, -1
36 %B = or int %A, %Y
37 ret int %B
38 }
+0
-12
test/CodeGen/PowerPC/nor.ll less more
None ; RUN: llvm-as < %s | llc -march=ppc32 | grep nor | wc -l | grep 2
1
2 int %test1(int %X) {
3 %Y = xor int %X, -1
4 ret int %Y
5 }
6
7 int %test2(int %X, int %Y) {
8 %Z = or int %X, %Y
9 %R = xor int %Z, -1
10 ret int %R
11 }