diff options
author | Anton Korobeynikov <anton@korobeynikov.info> | 2016-11-08 17:19:59 +0000 |
---|---|---|
committer | Anton Korobeynikov <anton@korobeynikov.info> | 2016-11-08 17:19:59 +0000 |
commit | 243a4700cee5228602059d434e763627aa429344 (patch) | |
tree | 15f773768f0b2e2192969d0df9f34c4958076ea4 /llvm/test/CodeGen/MSP430/BranchSelector.ll | |
parent | c244349b85cc4c1213812889e8eafe063efe9dd4 (diff) | |
download | bcm5719-llvm-243a4700cee5228602059d434e763627aa429344.tar.gz bcm5719-llvm-243a4700cee5228602059d434e763627aa429344.zip |
Fix PR27500: on MSP430 the branch destination offset is measured in words, not bytes.
Summary: In addition, the branch instructions will have proper BB destinations, not offsets, like before.
Reviewers: asl
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D23718
llvm-svn: 286252
Diffstat (limited to 'llvm/test/CodeGen/MSP430/BranchSelector.ll')
-rw-r--r-- | llvm/test/CodeGen/MSP430/BranchSelector.ll | 588 |
1 files changed, 588 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/MSP430/BranchSelector.ll b/llvm/test/CodeGen/MSP430/BranchSelector.ll new file mode 100644 index 00000000000..4dfd95bf41a --- /dev/null +++ b/llvm/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 +} |