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

Side by Side Diff: test/CodeGen/X86/vec_compare.ll

Issue 183273009: Prep for merging 3.4: Undo changes from 3.3 branch (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Retry Created 6 years, 9 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
OLDNEW
1 ; RUN: llc < %s -march=x86 -mcpu=yonah -mtriple=i386-apple-darwin | FileCheck %s 1 ; RUN: llc < %s -march=x86 -mcpu=yonah -mtriple=i386-apple-darwin | FileCheck %s
2 2
3 3
4 define <4 x i32> @test1(<4 x i32> %A, <4 x i32> %B) nounwind { 4 define <4 x i32> @test1(<4 x i32> %A, <4 x i32> %B) nounwind {
5 ; CHECK: test1: 5 ; CHECK: test1:
6 ; CHECK: pcmpgtd 6 ; CHECK: pcmpgtd
7 ; CHECK: ret 7 ; CHECK: ret
8 8
9 %C = icmp sgt <4 x i32> %A, %B 9 %C = icmp sgt <4 x i32> %A, %B
10 %D = sext <4 x i1> %C to <4 x i32> 10 %D = sext <4 x i1> %C to <4 x i32>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 ; CHECK: pand 60 ; CHECK: pand
61 ; CHECK: pcmpeqd 61 ; CHECK: pcmpeqd
62 ; CHECK: pxor 62 ; CHECK: pxor
63 ; CHECK: ret 63 ; CHECK: ret
64 %C = icmp ne <2 x i64> %A, %B 64 %C = icmp ne <2 x i64> %A, %B
65 %D = sext <2 x i1> %C to <2 x i64> 65 %D = sext <2 x i1> %C to <2 x i64>
66 ret <2 x i64> %D 66 ret <2 x i64> %D
67 } 67 }
68 68
69 define <2 x i64> @test7(<2 x i64> %A, <2 x i64> %B) nounwind { 69 define <2 x i64> @test7(<2 x i64> %A, <2 x i64> %B) nounwind {
70 ; CHECK: [[CONSTSEG:[A-Z0-9_]*]]:
71 ; CHECK: .long 2147483648
72 ; CHECK-NEXT: .long 0
73 ; CHECK-NEXT: .long 2147483648
74 ; CHECK-NEXT: .long 0
75 ; CHECK: test7: 70 ; CHECK: test7:
76 ; CHECK: movdqa [[CONSTSEG]], [[CONSTREG:%xmm[0-9]*]]
77 ; CHECK: pxor [[CONSTREG]]
78 ; CHECK: pxor [[CONSTREG]]
79 ; CHECK: pcmpgtd %xmm1 71 ; CHECK: pcmpgtd %xmm1
80 ; CHECK: pshufd $-96 72 ; CHECK: pshufd $-96
81 ; CHECK: pcmpeqd 73 ; CHECK: pcmpeqd
82 ; CHECK: pshufd $-11 74 ; CHECK: pshufd $-11
83 ; CHECK: pand 75 ; CHECK: pand
84 ; CHECK: pshufd $-11 76 ; CHECK: pshufd $-11
85 ; CHECK: por 77 ; CHECK: por
86 ; CHECK: ret 78 ; CHECK: ret
87 %C = icmp sgt <2 x i64> %A, %B 79 %C = icmp sgt <2 x i64> %A, %B
88 %D = sext <2 x i1> %C to <2 x i64> 80 %D = sext <2 x i1> %C to <2 x i64>
89 ret <2 x i64> %D 81 ret <2 x i64> %D
90 } 82 }
91 83
92 define <2 x i64> @test8(<2 x i64> %A, <2 x i64> %B) nounwind { 84 define <2 x i64> @test8(<2 x i64> %A, <2 x i64> %B) nounwind {
93 ; CHECK: test8: 85 ; CHECK: test8:
94 ; CHECK: pxor
95 ; CHECK: pxor
96 ; CHECK: pcmpgtd %xmm0 86 ; CHECK: pcmpgtd %xmm0
97 ; CHECK: pshufd $-96 87 ; CHECK: pshufd $-96
98 ; CHECK: pcmpeqd 88 ; CHECK: pcmpeqd
99 ; CHECK: pshufd $-11 89 ; CHECK: pshufd $-11
100 ; CHECK: pand 90 ; CHECK: pand
101 ; CHECK: pshufd $-11 91 ; CHECK: pshufd $-11
102 ; CHECK: por 92 ; CHECK: por
103 ; CHECK: ret 93 ; CHECK: ret
104 %C = icmp slt <2 x i64> %A, %B 94 %C = icmp slt <2 x i64> %A, %B
105 %D = sext <2 x i1> %C to <2 x i64> 95 %D = sext <2 x i1> %C to <2 x i64>
106 ret <2 x i64> %D 96 ret <2 x i64> %D
107 } 97 }
108 98
109 define <2 x i64> @test9(<2 x i64> %A, <2 x i64> %B) nounwind { 99 define <2 x i64> @test9(<2 x i64> %A, <2 x i64> %B) nounwind {
110 ; CHECK: test9: 100 ; CHECK: test9:
111 ; CHECK: pxor
112 ; CHECK: pxor
113 ; CHECK: pcmpgtd %xmm0 101 ; CHECK: pcmpgtd %xmm0
114 ; CHECK: pshufd $-96 102 ; CHECK: pshufd $-96
115 ; CHECK: pcmpeqd 103 ; CHECK: pcmpeqd
116 ; CHECK: pshufd $-11 104 ; CHECK: pshufd $-11
117 ; CHECK: pand 105 ; CHECK: pand
118 ; CHECK: pshufd $-11 106 ; CHECK: pshufd $-11
119 ; CHECK: por 107 ; CHECK: por
120 ; CHECK: pcmpeqd 108 ; CHECK: pcmpeqd
121 ; CHECK: pxor 109 ; CHECK: pxor
122 ; CHECK: ret 110 ; CHECK: ret
123 %C = icmp sge <2 x i64> %A, %B 111 %C = icmp sge <2 x i64> %A, %B
124 %D = sext <2 x i1> %C to <2 x i64> 112 %D = sext <2 x i1> %C to <2 x i64>
125 ret <2 x i64> %D 113 ret <2 x i64> %D
126 } 114 }
127 115
128 define <2 x i64> @test10(<2 x i64> %A, <2 x i64> %B) nounwind { 116 define <2 x i64> @test10(<2 x i64> %A, <2 x i64> %B) nounwind {
129 ; CHECK: test10: 117 ; CHECK: test10:
130 ; CHECK: pxor
131 ; CHECK: pxor
132 ; CHECK: pcmpgtd %xmm1 118 ; CHECK: pcmpgtd %xmm1
133 ; CHECK: pshufd $-96 119 ; CHECK: pshufd $-96
134 ; CHECK: pcmpeqd 120 ; CHECK: pcmpeqd
135 ; CHECK: pshufd $-11 121 ; CHECK: pshufd $-11
136 ; CHECK: pand 122 ; CHECK: pand
137 ; CHECK: pshufd $-11 123 ; CHECK: pshufd $-11
138 ; CHECK: por 124 ; CHECK: por
139 ; CHECK: pcmpeqd 125 ; CHECK: pcmpeqd
140 ; CHECK: pxor 126 ; CHECK: pxor
141 ; CHECK: ret 127 ; CHECK: ret
142 %C = icmp sle <2 x i64> %A, %B 128 %C = icmp sle <2 x i64> %A, %B
143 %D = sext <2 x i1> %C to <2 x i64> 129 %D = sext <2 x i1> %C to <2 x i64>
144 ret <2 x i64> %D 130 ret <2 x i64> %D
145 } 131 }
146 132
147 define <2 x i64> @test11(<2 x i64> %A, <2 x i64> %B) nounwind { 133 define <2 x i64> @test11(<2 x i64> %A, <2 x i64> %B) nounwind {
148 ; CHECK: [[CONSTSEG:[A-Z0-9_]*]]:
149 ; CHECK: .long 2147483648
150 ; CHECK-NEXT: .long 2147483648
151 ; CHECK-NEXT: .long 2147483648
152 ; CHECK-NEXT: .long 2147483648
153 ; CHECK: test11: 134 ; CHECK: test11:
154 ; CHECK: movdqa [[CONSTSEG]], [[CONSTREG:%xmm[0-9]*]] 135 ; CHECK: pxor
155 ; CHECK: pxor [[CONSTREG]] 136 ; CHECK: pxor
156 ; CHECK: pxor [[CONSTREG]]
157 ; CHECK: pcmpgtd %xmm1 137 ; CHECK: pcmpgtd %xmm1
158 ; CHECK: pshufd $-96 138 ; CHECK: pshufd $-96
159 ; CHECK: pcmpeqd 139 ; CHECK: pcmpeqd
160 ; CHECK: pshufd $-11 140 ; CHECK: pshufd $-11
161 ; CHECK: pand 141 ; CHECK: pand
162 ; CHECK: pshufd $-11 142 ; CHECK: pshufd $-11
163 ; CHECK: por 143 ; CHECK: por
164 ; CHECK: ret 144 ; CHECK: ret
165 %C = icmp ugt <2 x i64> %A, %B 145 %C = icmp ugt <2 x i64> %A, %B
166 %D = sext <2 x i1> %C to <2 x i64> 146 %D = sext <2 x i1> %C to <2 x i64>
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 ; CHECK: pand 194 ; CHECK: pand
215 ; CHECK: pshufd $-11 195 ; CHECK: pshufd $-11
216 ; CHECK: por 196 ; CHECK: por
217 ; CHECK: pcmpeqd 197 ; CHECK: pcmpeqd
218 ; CHECK: pxor 198 ; CHECK: pxor
219 ; CHECK: ret 199 ; CHECK: ret
220 %C = icmp ule <2 x i64> %A, %B 200 %C = icmp ule <2 x i64> %A, %B
221 %D = sext <2 x i1> %C to <2 x i64> 201 %D = sext <2 x i1> %C to <2 x i64>
222 ret <2 x i64> %D 202 ret <2 x i64> %D
223 } 203 }
OLDNEW
« no previous file with comments | « test/CodeGen/X86/compact-unwind.ll ('k') | test/DebugInfo/X86/stmt-list-multiple-compile-units.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698