xref: /llvm-project/llvm/test/CodeGen/PowerPC/2008-03-26-CoalescerBug.ll (revision 427fb35192f1f7bb694a5910b05abc5925a798b2)
1; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | FileCheck %s
2
3; CHECK: @t
4; CHECK: blr
5define i32 @t(i64 %byteStart, i32 %activeIndex) nounwind  {
6entry:
7	%tmp50 = load i32, ptr null, align 4		; <i32> [#uses=1]
8	%tmp5051 = zext i32 %tmp50 to i64		; <i64> [#uses=3]
9	%tmp53 = udiv i64 %byteStart, %tmp5051		; <i64> [#uses=1]
10	%tmp5354 = trunc i64 %tmp53 to i32		; <i32> [#uses=1]
11	%tmp62 = urem i64 %byteStart, %tmp5051		; <i64> [#uses=1]
12	%tmp94 = add i32 0, 1		; <i32> [#uses=1]
13	%tmp100 = urem i32 %tmp94, 0		; <i32> [#uses=2]
14	%tmp108 = add i32 0, %activeIndex		; <i32> [#uses=1]
15	%tmp110 = sub i32 %tmp108, 0		; <i32> [#uses=1]
16	%tmp112 = urem i32 %tmp110, 0		; <i32> [#uses=2]
17	%tmp122 = icmp ult i32 %tmp112, %tmp100		; <i1> [#uses=1]
18	%iftmp.175.0 = select i1 %tmp122, i32 %tmp112, i32 %tmp100		; <i32> [#uses=1]
19	%tmp119 = add i32 %tmp5354, 0		; <i32> [#uses=1]
20	%tmp131 = add i32 %tmp119, %iftmp.175.0		; <i32> [#uses=1]
21	%tmp131132 = zext i32 %tmp131 to i64		; <i64> [#uses=1]
22	%tmp147 = mul i64 %tmp131132, %tmp5051		; <i64> [#uses=1]
23	br i1 false, label %bb164, label %bb190
24bb164:		; preds = %entry
25	%tmp171172 = and i64 %tmp62, 4294967295		; <i64> [#uses=1]
26	%tmp173 = add i64 %tmp171172, %tmp147		; <i64> [#uses=0]
27	ret i32 0
28bb190:		; preds = %entry
29	ret i32 0
30}
31