Home | History | Annotate | Download | only in LoopVectorize
      1 ; RUN: opt -S -loop-vectorize < %s | FileCheck %s
      2 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
      3 target triple = "x86_64-unknown-linux-gnu"
      4 
      5 ; CHECK-LABEL: @fn1
      6 define void @fn1() {
      7 entry:
      8   br label %for.body
      9 
     10 for.body:
     11   %b.05 = phi i32 (...)* [ undef, %entry ], [ %1, %for.body ]
     12   %a.04 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
     13   %0 = bitcast i32 (...)* %b.05 to i8*
     14   %add.ptr = getelementptr i8, i8* %0, i64 1
     15   %1 = bitcast i8* %add.ptr to i32 (...)*
     16 ; CHECK:      %[[cst:.*]] = bitcast i32 (...)* {{.*}} to i8*
     17 ; CHECK-NEXT: %[[gep:.*]] = getelementptr i8, i8* %[[cst]], i64 1
     18   %inc = add nsw i32 %a.04, 1
     19   %exitcond = icmp eq i32 %a.04, 63
     20   br i1 %exitcond, label %for.end, label %for.body
     21 
     22 for.end:
     23   ret void
     24 }
     25