llvm-for-llvmta/test/CodeGen/MSP430/BranchSelector.ll

589 lines
24 KiB
LLVM
Raw Normal View History

2022-04-25 10:02:23 +02:00
; 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
}