| ; RUN: opt -S -indvars < %s | FileCheck %s | |
| target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
| target triple = "x86_64-unknown-linux-gnu" | |
| declare i16 @fn1(i16 returned, i64) | |
| define void @fn2() { | |
| ; CHECK-LABEL: @fn2( | |
| entry: | |
| br label %for.cond | |
| for.cond: | |
| %f.0 = phi i64 [ undef, %entry ], [ %inc, %for.cond ] | |
| %conv = trunc i64 %f.0 to i16 | |
| %call = tail call i16 @fn1(i16 %conv, i64 %f.0) | |
| %conv2 = zext i16 %call to i32 | |
| %inc = add nsw i64 %f.0, 1 | |
| br label %for.cond | |
| } |