xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=x86-64 < %s -o - | grep "cmpl	\$[1], %"
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@.str = internal constant [4 x i8] c"%d\0A\00"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdeclare i32 @printf(i8* noalias , ...) nounwind
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine i32 @main() nounwind {
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker        br label %forbody
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerforbody:
12*9880d681SAndroid Build Coastguard Worker        %i.0 = phi i32 [ 0, %entry ], [ %inc, %forbody ]                ; <i32>[#uses=3]
13*9880d681SAndroid Build Coastguard Worker        %sub14 = sub i32 1027, %i.0             ; <i32> [#uses=1]
14*9880d681SAndroid Build Coastguard Worker        %mul15 = mul i32 %sub14, 10             ; <i32> [#uses=1]
15*9880d681SAndroid Build Coastguard Worker        %add166 = or i32 %mul15, 1              ; <i32> [#uses=1] *
16*9880d681SAndroid Build Coastguard Worker        call i32 (i8*, ...) @printf( i8* noalias  getelementptr ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %add166 ) nounwind
17*9880d681SAndroid Build Coastguard Worker        %inc = add i32 %i.0, 1          ; <i32> [#uses=3]
18*9880d681SAndroid Build Coastguard Worker        %cmp = icmp ne i32 %inc, 1027          ; <i1> [#uses=1]
19*9880d681SAndroid Build Coastguard Worker        br i1 %cmp, label %forbody, label %afterfor
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerafterfor:               ; preds = %forcond
22*9880d681SAndroid Build Coastguard Worker        ret i32 0
23*9880d681SAndroid Build Coastguard Worker}
24