; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2 ; RUN: opt < %s -S -passes=loop-unroll | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" define x86_mmx @f() #0 { ; CHECK-LABEL: define x86_mmx @f ; CHECK-SAME: () #[[ATTR0:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: br label [[FOR_BODY:%.*]] ; CHECK: for.body: ; CHECK-NEXT: [[PHI:%.*]] = phi i32 [ 1, [[ENTRY:%.*]] ], [ [[ADD_7:%.*]], [[FOR_BODY]] ] ; CHECK-NEXT: [[ADD_6:%.*]] = add i32 [[PHI]], 7 ; CHECK-NEXT: [[ADD_7]] = add i32 [[PHI]], 8 ; CHECK-NEXT: [[CMP_7:%.*]] = icmp eq i32 [[ADD_6]], 0 ; CHECK-NEXT: br i1 [[CMP_7]], label [[EXIT:%.*]], label [[FOR_BODY]] ; CHECK: exit: ; CHECK-NEXT: [[RET:%.*]] = phi x86_mmx [ undef, [[FOR_BODY]] ] ; CHECK-NEXT: ret x86_mmx [[RET]] ; entry: br label %for.body for.body: ; preds = %for.body, %entry %phi = phi i32 [ 1, %entry ], [ %add, %for.body ] %add = add i32 %phi, 1 %cmp = icmp eq i32 %phi, 0 br i1 %cmp, label %exit, label %for.body exit: ; preds = %for.body %ret = phi x86_mmx [ undef, %for.body ] ret x86_mmx %ret } attributes #0 = { "target-cpu"="x86-64" }