| ; RUN:  llvm-dis < %s.bc| FileCheck %s | 
 |  | 
 | ; TerminatorOperations.3.2.ll.bc was generated by passing this file to llvm-as-3.2. | 
 | ; The test checks that LLVM does not misread terminator instructions from | 
 | ; older bitcode files. | 
 |  | 
 | define i32 @condbr(i1 %cond){ | 
 | entry: | 
 | ; CHECK: br i1 %cond, label %TrueLabel, label %FalseLabel | 
 |   br i1 %cond, label %TrueLabel, label %FalseLabel | 
 |    | 
 |   TrueLabel: | 
 |   ret i32 1 | 
 |    | 
 |   FalseLabel: | 
 |   ret i32 0 | 
 | } | 
 |  | 
 | define i32 @uncondbr(){ | 
 | entry: | 
 | ; CHECK: br label %uncondLabel | 
 |   br label %uncondLabel | 
 |    | 
 |   uncondLabel: | 
 |   ret i32 1 | 
 | } | 
 |  | 
 | define i32 @indirectbr(i8* %Addr){ | 
 | entry: | 
 | ; CHECK: indirectbr i8* %Addr, [label %bb1, label %bb2] | 
 |   indirectbr i8* %Addr, [ label %bb1, label %bb2 ] | 
 |    | 
 |   bb1: | 
 |   ret i32 1 | 
 |    | 
 |   bb2: | 
 |   ret i32 0 | 
 | } | 
 |  | 
 | define void @unreachable(){ | 
 | entry: | 
 | ; CHECK: unreachable | 
 |   unreachable | 
 |    | 
 |   ret void | 
 | } | 
 |  | 
 | define i32 @retInstr(){ | 
 | entry: | 
 | ; CHECK: ret i32 1  | 
 |   ret i32 1  | 
 | } | 
 |  | 
 | define void @retInstr2(){ | 
 | entry: | 
 | ; CHECK: ret void  | 
 |   ret void | 
 | } | 
 |  | 
 | define i32 @switchInstr(i32 %x){ | 
 | entry: | 
 | ; CHECK: switch i32 %x, label %label3 [ | 
 |   switch i32 %x, label %label3 [ | 
 | ; CHECK-NEXT: i32 1, label %label1    | 
 |   i32 1, label %label1 | 
 | ; CHECK-NEXT: i32 2, label %label2   | 
 |   i32 2, label %label2 | 
 |   ] | 
 | label1: | 
 |   ret i32 1 | 
 | label2: | 
 |   ret i32 2 | 
 | label3: | 
 |   ret i32 0 | 
 | } | 
 |  |