Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mcpu=corei7 -mattr=+avx
      2 ; PR13352
      3 
      4 declare <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float>, <8 x float>, <8 x float>) nounwind readnone
      5 
      6 define void @f_f() nounwind {
      7 allocas:
      8   br label %for_loop29
      9 
     10 for_loop29:                                       ; preds = %safe_if_after_true, %allocas
     11   %indvars.iv596 = phi i64 [ %indvars.iv.next597, %safe_if_after_true ], [ 0, %allocas ]
     12   %0 = trunc i64 %indvars.iv596 to i32
     13   %smear.15 = insertelement <16 x i32> undef, i32 %0, i32 15
     14   %bitop = lshr <16 x i32> zeroinitializer, %smear.15
     15   %bitop35 = and <16 x i32> %bitop, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
     16   %bitop35_to_bool = icmp ne <16 x i32> %bitop35, zeroinitializer
     17   %val_to_boolvec32 = sext <16 x i1> %bitop35_to_bool to <16 x i32>
     18   %floatmask.i526 = bitcast <16 x i32> %val_to_boolvec32 to <16 x float>
     19   %mask1.i529 = shufflevector <16 x float> %floatmask.i526, <16 x float> undef, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
     20   %"internal_mask&function_mask41_any" = icmp eq i32 undef, 0
     21   br i1 %"internal_mask&function_mask41_any", label %safe_if_after_true, label %safe_if_run_true
     22 
     23 safe_if_after_true:                               ; preds = %for_loop29
     24   %indvars.iv.next597 = add i64 %indvars.iv596, 1
     25   br label %for_loop29
     26 
     27 safe_if_run_true:                                 ; preds = %for_loop29
     28   %blend1.i583 = call <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float> undef, <8 x float> undef, <8 x float> %mask1.i529) nounwind
     29   unreachable
     30 }
     31 
     32