Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: test/NaCl/Bitcode/pnacl-bcdis/select.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/NaCl/Bitcode/pnacl-bcdis/ret.ll ('k') | test/NaCl/Bitcode/pnacl-bcdis/store.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; Test the select instruction.
2
3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bccompress --remove-abbreviations \
4 ; RUN: | pnacl-bcdis | FileCheck %s
5
6 ; Test selecting integer types.
7 define void @TestIntTypes() {
8
9 ; CHECK: | | %b0:
10
11 %v0 = select i1 0, i1 0, i1 0
12 %v1 = select i1 %v0, i8 1, i8 1
13 %v2 = select i1 %v0, i16 2, i16 2
14 %v3 = select i1 %v0, i32 3, i32 3
15 %v4 = select i1 %v0, i64 4, i64 4
16
17 ; CHECK-NEXT: {{.*}}| 3: <29, 5, 5, 5> | %v0 = select i1 %c0, i 1 %c0,
18 ; CHECK-NEXT: | | i1 %c0;
19 ; CHECK-NEXT: {{.*}}| 3: <29, 4, 4, 1> | %v1 = select i1 %v0, i 8 %c2,
20 ; CHECK-NEXT: | | i8 %c2;
21 ; CHECK-NEXT: {{.*}}| 3: <29, 4, 4, 2> | %v2 = select i1 %v0, i 16 %c3,
22 ; CHECK-NEXT: | | i16 %c3;
23 ; CHECK-NEXT: {{.*}}| 3: <29, 7, 7, 3> | %v3 = select i1 %v0, i 32 %c1,
24 ; CHECK-NEXT: | | i32 %c1;
25 ; CHECK-NEXT: {{.*}}| 3: <29, 5, 5, 4> | %v4 = select i1 %v0, i 64 %c4,
26 ; CHECK-NEXT: | | i64 %c4;
27
28 ; Verify computed results of right size.
29 %v5 = and i1 %v0, %v0
30 %v6 = add i8 %v1, %v1
31 %v7 = add i16 %v2, %v2
32 %v8 = add i32 %v3, %v3
33 %v9 = add i64 %v4, %v4
34 ret void
35
36 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 5, 10> | %v5 = and i1 %v0, %v0;
37 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 5, 0> | %v6 = add i8 %v1, %v1;
38 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 5, 0> | %v7 = add i16 %v2, %v2 ;
39 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 5, 0> | %v8 = add i32 %v3, %v3 ;
40 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 5, 0> | %v9 = add i64 %v4, %v4 ;
41 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
42
43 }
44
45 ; Test selecting floating types.
46 define void @TestFloatTypes(float %p0, double %p1) {
47
48 ; CHECK: | | %b0:
49
50 %v0 = select i1 0, float %p0, float %p0
51 %v1 = select i1 0, double %p1, double %p1
52
53 ; CHECK-NEXT: {{.*}}| 3: <29, 3, 3, 1> | %v0 = select i1 %c0, f loat %p0,
54 ; CHECK-NEXT: | | float %p0;
55 ; CHECK-NEXT: {{.*}}| 3: <29, 3, 3, 2> | %v1 = select i1 %c0, d ouble %p1,
56 ; CHECK-NEXT: | | double %p1;
57
58 ; Verify computed results are of right size.
59 %v2 = fadd float %v0, %v0
60 %v3 = fadd double %v1, %v1
61 ret void
62
63 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 2, 0> | %v2 = fadd float %v0, %v0;
64 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 2, 0> | %v3 = fadd double %v1, %v1;
65 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
66
67 }
68
69 ; Test select on integer vectors
70 define void @TestVecIntTypes(i32 %p0, <16 x i8> %p1, <8 x i16> %p2, <4 x i32> %p 3) {
71
72 %v0 = trunc i32 %p0 to i1;
73 %v1 = select i1 %v0, <16 x i8> %p1, <16 x i8> %p1
74 %v2 = select i1 %v0, <8 x i16> %p2, <8 x i16> %p2
75 %v3 = select i1 %v0, <4 x i32> %p3, <4 x i32> %p3
76
77 ; CHECK: {{.*}}| {{.*}} | {{.*}} trunc
78
79 ; CHECK-NEXT: {{.*}}| 3: <29, 4, 4, 1> | %v1 = select i1 %v0, < 16 x i8> %p1,
80 ; CHECK-NEXT: | | <16 x i8> %p1;
81 ; CHECK-NEXT: {{.*}}| 3: <29, 4, 4, 2> | %v2 = select i1 %v0, < 8 x i16> %p2,
82 ; CHECK-NEXT: | | <8 x i16> %p2;
83 ; CHECK-NEXT: {{.*}}| 3: <29, 4, 4, 3> | %v3 = select i1 %v0, < 4 x i32> %p3,
84 ; CHECK-NEXT: | | <4 x i32> %p3;
85
86 ; Verify computed results are of right type.
87 %v4 = and <16 x i8> %v1, %v1
88 %v5 = add <8 x i16> %v2, %v2
89 %v6 = add <4 x i32> %v3, %v3
90 ret void
91
92 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 3, 10> | %v4 = and <16 x i8> %v 1, %v1;
93 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 3, 0> | %v5 = add <8 x i16> %v 2, %v2;
94 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 3, 0> | %v6 = add <4 x i32> %v 3, %v3;
95 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
96
97 }
98
99
100 ; Test select on floating vectors
101 define void @TestVecFloatTypes(i32 %p0, <4 x float> %p1) {
102
103 %v0 = trunc i32 %p0 to i1;
104 %v1 = select i1 %v0, <4 x float> %p1, <4 x float> %p1
105
106 ; CHECK: {{.*}}| {{.*}} | {{.*}} trunc
107 ; CHECK-NEXT: {{.*}}| 3: <29, 2, 2, 1> | %v1 = select i1 %v0,
108 ; CHECK-NEXT: | | <4 x float> %p1,
109 ; CHECK-NEXT: | | <4 x float> %p1;
110
111 ; Verify computed results are of right type.
112 %v2 = fadd <4 x float> %v1, %v1
113 ret void
114
115 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v2 = fadd <4 x float> %v1, %v1;
116 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
117
118 }
OLDNEW
« no previous file with comments | « test/NaCl/Bitcode/pnacl-bcdis/ret.ll ('k') | test/NaCl/Bitcode/pnacl-bcdis/store.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698