24 lines · plain
1; RUN: opt < %s -passes=loop-vectorize -force-vector-width=4 -S | FileCheck %s2 3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"4 5; CHECK-LABEL: @lshr_exact(6; CHECK: lshr exact <4 x i32>7define void @lshr_exact(ptr %x) {8entry:9 br label %for.body10 11for.body:12 %iv = phi i64 [ 0, %entry ], [ %iv.next, %for.body ]13 %arrayidx = getelementptr inbounds i32, ptr %x, i64 %iv14 %0 = load i32, ptr %arrayidx, align 415 %conv1 = lshr exact i32 %0, 116 store i32 %conv1, ptr %arrayidx, align 417 %iv.next = add nuw nsw i64 %iv, 118 %exitcond = icmp eq i64 %iv.next, 25619 br i1 %exitcond, label %for.end, label %for.body20 21for.end:22 ret void23}24