| ; Simple test of non-fused compare/branch. | 
 |  | 
 | ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ | 
 | ; RUN:   | FileCheck %s | 
 | ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ | 
 | ; RUN:   | FileCheck --check-prefix=OPTM1 %s | 
 |  | 
 | define void @testBool(i32 %a, i32 %b) { | 
 | entry: | 
 |   %cmp = icmp slt i32 %a, %b | 
 |   %cmp1 = icmp sgt i32 %a, %b | 
 |   br i1 %cmp, label %if.then, label %if.end | 
 |  | 
 | if.then:                                          ; preds = %entry | 
 |   %cmp_ext = zext i1 %cmp to i32 | 
 |   tail call void @use(i32 %cmp_ext) | 
 |   br label %if.end | 
 |  | 
 | if.end:                                           ; preds = %if.then, %entry | 
 |   br i1 %cmp1, label %if.then5, label %if.end7 | 
 |  | 
 | if.then5:                                         ; preds = %if.end | 
 |   %cmp1_ext = zext i1 %cmp1 to i32 | 
 |   tail call void @use(i32 %cmp1_ext) | 
 |   br label %if.end7 | 
 |  | 
 | if.end7:                                          ; preds = %if.then5, %if.end | 
 |   ret void | 
 | } | 
 |  | 
 | declare void @use(i32) | 
 |  | 
 | ; CHECK-LABEL: testBool | 
 | ; Two bool computations | 
 | ; CHECK:      cmp | 
 | ; CHECK:      cmp | 
 | ; Test first bool | 
 | ; CHECK:      cmp | 
 | ; CHECK:      call | 
 | ; Test second bool | 
 | ; CHECK:      cmp | 
 | ; CHECK:      call | 
 | ; CHECK:      ret | 
 | ; | 
 | ; OPTM1-LABEL: testBool | 
 | ; Two bool computations | 
 | ; OPTM1:      cmp | 
 | ; OPTM1:      cmp | 
 | ; Test first bool | 
 | ; OPTM1:      cmp | 
 | ; OPTM1:      call | 
 | ; Test second bool | 
 | ; OPTM1:      cmp | 
 | ; OPTM1:      call | 
 | ; OPTM1:      ret |