Lines Matching refs:SSE2

2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2,-avx | FileCheck %s --check-prefix=SSE2
8 ; SSE2-LABEL: veccond128:
9 ; SSE2: # %bb.0: # %entry
10 ; SSE2-NEXT: pxor %xmm1, %xmm1
11 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
12 ; SSE2-NEXT: pmovmskb %xmm1, %eax
13 ; SSE2-NEXT: cmpl $65535, %eax # imm = 0xFFFF
14 ; SSE2-NEXT: je .LBB0_2
15 ; SSE2-NEXT: # %bb.1: # %if-true-block
16 ; SSE2-NEXT: xorl %eax, %eax
17 ; SSE2-NEXT: retq
18 ; SSE2-NEXT: .LBB0_2: # %endif-block
19 ; SSE2-NEXT: movl $1, %eax
20 ; SSE2-NEXT: retq
54 ; SSE2-LABEL: veccond256:
55 ; SSE2: # %bb.0: # %entry
56 ; SSE2-NEXT: por %xmm1, %xmm0
57 ; SSE2-NEXT: pxor %xmm1, %xmm1
58 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
59 ; SSE2-NEXT: pmovmskb %xmm1, %eax
60 ; SSE2-NEXT: cmpl $65535, %eax # imm = 0xFFFF
61 ; SSE2-NEXT: je .LBB1_2
62 ; SSE2-NEXT: # %bb.1: # %if-true-block
63 ; SSE2-NEXT: xorl %eax, %eax
64 ; SSE2-NEXT: retq
65 ; SSE2-NEXT: .LBB1_2: # %endif-block
66 ; SSE2-NEXT: movl $1, %eax
67 ; SSE2-NEXT: retq
104 ; SSE2-LABEL: veccond512:
105 ; SSE2: # %bb.0: # %entry
106 ; SSE2-NEXT: por %xmm3, %xmm1
107 ; SSE2-NEXT: por %xmm2, %xmm1
108 ; SSE2-NEXT: por %xmm0, %xmm1
109 ; SSE2-NEXT: pxor %xmm0, %xmm0
110 ; SSE2-NEXT: pcmpeqb %xmm1, %xmm0
111 ; SSE2-NEXT: pmovmskb %xmm0, %eax
112 ; SSE2-NEXT: cmpl $65535, %eax # imm = 0xFFFF
113 ; SSE2-NEXT: je .LBB2_2
114 ; SSE2-NEXT: # %bb.1: # %if-true-block
115 ; SSE2-NEXT: xorl %eax, %eax
116 ; SSE2-NEXT: retq
117 ; SSE2-NEXT: .LBB2_2: # %endif-block
118 ; SSE2-NEXT: movl $1, %eax
119 ; SSE2-NEXT: retq
174 ; SSE2-LABEL: vectest128:
175 ; SSE2: # %bb.0:
176 ; SSE2-NEXT: pxor %xmm1, %xmm1
177 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
178 ; SSE2-NEXT: pmovmskb %xmm1, %ecx
179 ; SSE2-NEXT: xorl %eax, %eax
180 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
181 ; SSE2-NEXT: setne %al
182 ; SSE2-NEXT: retq
204 ; SSE2-LABEL: vectest256:
205 ; SSE2: # %bb.0:
206 ; SSE2-NEXT: por %xmm1, %xmm0
207 ; SSE2-NEXT: pxor %xmm1, %xmm1
208 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
209 ; SSE2-NEXT: pmovmskb %xmm1, %ecx
210 ; SSE2-NEXT: xorl %eax, %eax
211 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
212 ; SSE2-NEXT: setne %al
213 ; SSE2-NEXT: retq
237 ; SSE2-LABEL: vectest512:
238 ; SSE2: # %bb.0:
239 ; SSE2-NEXT: por %xmm3, %xmm1
240 ; SSE2-NEXT: por %xmm2, %xmm1
241 ; SSE2-NEXT: por %xmm0, %xmm1
242 ; SSE2-NEXT: pxor %xmm0, %xmm0
243 ; SSE2-NEXT: pcmpeqb %xmm1, %xmm0
244 ; SSE2-NEXT: pmovmskb %xmm0, %ecx
245 ; SSE2-NEXT: xorl %eax, %eax
246 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
247 ; SSE2-NEXT: setne %al
248 ; SSE2-NEXT: retq
285 ; SSE2-LABEL: vecsel128:
286 ; SSE2: # %bb.0:
287 ; SSE2-NEXT: movl %edi, %eax
288 ; SSE2-NEXT: pxor %xmm1, %xmm1
289 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
290 ; SSE2-NEXT: pmovmskb %xmm1, %ecx
291 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
292 ; SSE2-NEXT: cmovel %esi, %eax
293 ; SSE2-NEXT: retq
315 ; SSE2-LABEL: vecsel256:
316 ; SSE2: # %bb.0:
317 ; SSE2-NEXT: movl %edi, %eax
318 ; SSE2-NEXT: por %xmm1, %xmm0
319 ; SSE2-NEXT: pxor %xmm1, %xmm1
320 ; SSE2-NEXT: pcmpeqb %xmm0, %xmm1
321 ; SSE2-NEXT: pmovmskb %xmm1, %ecx
322 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
323 ; SSE2-NEXT: cmovel %esi, %eax
324 ; SSE2-NEXT: retq
348 ; SSE2-LABEL: vecsel512:
349 ; SSE2: # %bb.0:
350 ; SSE2-NEXT: movl %edi, %eax
351 ; SSE2-NEXT: por %xmm3, %xmm1
352 ; SSE2-NEXT: por %xmm2, %xmm1
353 ; SSE2-NEXT: por %xmm0, %xmm1
354 ; SSE2-NEXT: pxor %xmm0, %xmm0
355 ; SSE2-NEXT: pcmpeqb %xmm1, %xmm0
356 ; SSE2-NEXT: pmovmskb %xmm0, %ecx
357 ; SSE2-NEXT: cmpl $65535, %ecx # imm = 0xFFFF
358 ; SSE2-NEXT: cmovel %esi, %eax
359 ; SSE2-NEXT: retq