[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / CodeGen / ARM / 2011-09-28-CMovCombineBug.ll
blob53e3bed5383139c9311d03815f7fecc140fd0d77
1 ; RUN: llc -mtriple=thumbv7-apple-ios -mcpu=cortex-a8 < %s
3 ; rdar://10196296
4 ; ARM target specific dag combine created a cycle in DAG.
6 define void @t() nounwind ssp {
7   %1 = load i64, i64* undef, align 4
8   %2 = shl i32 5, 0
9   %3 = zext i32 %2 to i64
10   %4 = and i64 %1, %3
11   %5 = lshr i64 %4, undef
12   switch i64 %5, label %8 [
13     i64 0, label %9
14     i64 1, label %6
15     i64 4, label %9
16     i64 5, label %7
17   ]
19 ; <label>:6                                       ; preds = %0
20   unreachable
22 ; <label>:7                                       ; preds = %0
23   unreachable
25 ; <label>:8                                       ; preds = %0
26   unreachable
28 ; <label>:9                                       ; preds = %0, %0
29   ret void