summaryrefslogtreecommitdiff
path: root/test/CodeGen/MSP430
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/MSP430')
-rw-r--r--test/CodeGen/MSP430/BranchSelector.ll588
1 files changed, 588 insertions, 0 deletions
diff --git a/test/CodeGen/MSP430/BranchSelector.ll b/test/CodeGen/MSP430/BranchSelector.ll
new file mode 100644
index 00000000000..4dfd95bf41a
--- /dev/null
+++ b/test/CodeGen/MSP430/BranchSelector.ll
@@ -0,0 +1,588 @@
+; RUN: llc < %s -march=msp430 | FileCheck %s
+target datalayout = "e-m:e-p:16:16-i32:16:32-a:16-n8:16"
+target triple = "msp430"
+
+@reg = common global i16 0, align 2
+
+define void @WriteBurstPATable(i16 %count) #0 {
+entry:
+ br label %while.cond
+
+while.cond:
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ %v0 = load volatile i16, i16* @reg, align 2
+ %lnot = icmp eq i16 %v0, 0
+
+; This BB should be split and all branches should be expanded.
+; CHECK-LABEL: .LBB0_1:
+; CHECK: jne .LBB0_2
+; CHECK: br #.LBB0_1
+; CHECK: .LBB0_2:
+; CHECK: br #.LBB0_4
+; CHECK: .LBB0_3:
+
+ br i1 %lnot, label %while.cond, label %while.end
+
+while.end:
+ %i.0.i.0.1822 = load volatile i16, i16* @reg, align 1
+ %cmp23 = icmp ult i16 %i.0.i.0.1822, %count
+ br i1 %cmp23, label %for.body, label %for.end
+
+for.body:
+ br label %while.cond6
+
+while.cond6:
+ %0 = load volatile i16, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 19, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ br label %for.inc
+
+for.inc:
+ %1 = load volatile i16, i16* @reg, align 2
+ %cmp = icmp ult i16 %1, %count
+
+; This branch should be expanded.
+; CHECK-LABEL: .LBB0_4:
+; CHECK: jhs .LBB0_5
+; CHECK: br #.LBB0_3
+; CHECK: .LBB0_5:
+
+ br i1 %cmp, label %for.body, label %for.end
+
+for.end:
+ ret void
+}
+
+define void @WriteSinglePATable() #0 {
+entry:
+ br label %begin
+begin:
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ store volatile i16 13, i16* @reg, align 2
+ store volatile i16 17, i16* @reg, align 2
+ store volatile i16 11, i16* @reg, align 2
+ %v2 = load volatile i16, i16* @reg, align 2
+ %lnot = icmp eq i16 %v2, 0
+
+; This branch should not be expanded
+; CHECK-LABEL: .LBB1_1:
+; CHECK: jeq .LBB1_1
+; CHECK: BB#2:
+; CHECK: ret
+ br i1 %lnot, label %begin, label %end
+
+end:
+ ret void
+}