mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
[X86] Replace undef value in flaky test
D33311 exposes the flakiness in this test. Replacing the undef placed by bugpoint, makes it more interesting and robust. llvm-svn: 304168
This commit is contained in:
parent
f0294393d2
commit
a15dfd3593
@ -41,14 +41,67 @@ entry:
|
||||
ret <8 x i16> %3
|
||||
}
|
||||
|
||||
define void @pr26232(i64 %a) {
|
||||
define void @pr26232(i64 %a, <16 x i1> %b) {
|
||||
; AVX-LABEL: pr26232:
|
||||
; AVX: # BB#0: # %for_loop599.preheader
|
||||
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
|
||||
; AVX-NEXT: .p2align 4, 0x90
|
||||
; AVX-NEXT: .LBB1_1: # %for_loop599
|
||||
; AVX-NEXT: # =>This Inner Loop Header: Depth=1
|
||||
; AVX-NEXT: xorl %eax, %eax
|
||||
; AVX-NEXT: cmpq $65536, %rdi # imm = 0x10000
|
||||
; AVX-NEXT: setl -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: setl %al
|
||||
; AVX-NEXT: vmovd %eax, %xmm2
|
||||
; AVX-NEXT: vpshufb %xmm1, %xmm2, %xmm2
|
||||
; AVX-NEXT: vpand %xmm0, %xmm2, %xmm2
|
||||
; AVX-NEXT: vpextrb $15, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $14, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $13, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $12, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $11, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $10, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $9, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $8, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $7, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $6, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $5, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $4, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $3, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $2, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $1, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: vpextrb $0, %xmm2, %eax
|
||||
; AVX-NEXT: andb $1, %al
|
||||
; AVX-NEXT: movb %al, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: cmpw $0, -{{[0-9]+}}(%rsp)
|
||||
; AVX-NEXT: jne .LBB1_1
|
||||
; AVX-NEXT: # BB#2: # %for_exit600
|
||||
@ -61,6 +114,9 @@ define void @pr26232(i64 %a) {
|
||||
; KNL-32-NEXT: .cfi_def_cfa_offset 8
|
||||
; KNL-32-NEXT: .Lcfi1:
|
||||
; KNL-32-NEXT: .cfi_offset %esi, -8
|
||||
; KNL-32-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||
; KNL-32-NEXT: vpslld $31, %zmm0, %zmm0
|
||||
; KNL-32-NEXT: vptestmd %zmm0, %zmm0, %k0
|
||||
; KNL-32-NEXT: movl {{[0-9]+}}(%esp), %eax
|
||||
; KNL-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
|
||||
; KNL-32-NEXT: movw $-1, %dx
|
||||
@ -72,6 +128,9 @@ define void @pr26232(i64 %a) {
|
||||
; KNL-32-NEXT: sbbl $0, %esi
|
||||
; KNL-32-NEXT: movl $0, %esi
|
||||
; KNL-32-NEXT: cmovlw %dx, %si
|
||||
; KNL-32-NEXT: kmovw %esi, %k1
|
||||
; KNL-32-NEXT: kandw %k0, %k1, %k1
|
||||
; KNL-32-NEXT: kmovw %k1, %esi
|
||||
; KNL-32-NEXT: testw %si, %si
|
||||
; KNL-32-NEXT: jne .LBB1_1
|
||||
; KNL-32-NEXT: # BB#2: # %for_exit600
|
||||
@ -87,7 +146,7 @@ for_loop599: ; preds = %for_loop599, %for_t
|
||||
%less_i_load605_ = icmp slt i64 %a, 65536
|
||||
%less_i_load605__broadcast_init = insertelement <16 x i1> undef, i1 %less_i_load605_, i32 0
|
||||
%less_i_load605__broadcast = shufflevector <16 x i1> %less_i_load605__broadcast_init, <16 x i1> undef, <16 x i32> zeroinitializer
|
||||
%"oldMask&test607" = and <16 x i1> %less_i_load605__broadcast, undef
|
||||
%"oldMask&test607" = and <16 x i1> %less_i_load605__broadcast, %b
|
||||
%intmask.i894 = bitcast <16 x i1> %"oldMask&test607" to i16
|
||||
%res.i895 = icmp eq i16 %intmask.i894, 0
|
||||
br i1 %res.i895, label %for_exit600, label %for_loop599
|
||||
|
Loading…
Reference in New Issue
Block a user