| OLD | NEW | 
|   1 ; Tests the branch optimizations under O2 (against a lack of |   1 ; Tests the branch optimizations under O2 (against a lack of | 
|   2 ; optimizations under Om1). |   2 ; optimizations under Om1). | 
|   3  |   3  | 
|   4 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ |   4 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ | 
|   5 ; RUN:   | FileCheck --check-prefix=O2 %s |   5 ; RUN:   | FileCheck --check-prefix=O2 %s | 
|   6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ |   6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ | 
|   7 ; RUN:   | FileCheck --check-prefix=OM1 %s |   7 ; RUN:   | FileCheck --check-prefix=OM1 %s | 
|   8  |   8  | 
|   9 declare void @dummy() |   9 declare void @dummy() | 
|  10  |  10  | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  46 ; O2: cmp {{.*}},0x7b |  46 ; O2: cmp {{.*}},0x7b | 
|  47 ; O2-NEXT: jge |  47 ; O2-NEXT: jge | 
|  48 ; O2-NOT: j |  48 ; O2-NOT: j | 
|  49 ; O2: call |  49 ; O2: call | 
|  50 ; O2: ret |  50 ; O2: ret | 
|  51 ; O2: call |  51 ; O2: call | 
|  52 ; O2: ret |  52 ; O2: ret | 
|  53  |  53  | 
|  54 ; OM1-LABEL: testCondFallthroughToNextBlock |  54 ; OM1-LABEL: testCondFallthroughToNextBlock | 
|  55 ; OM1: cmp {{.*}},0x7b |  55 ; OM1: cmp {{.*}},0x7b | 
|  56 ; OM1: jge |  56 ; OM1: setge | 
|  57 ; OM1: cmp |  57 ; OM1: cmp | 
|  58 ; OM1: jne |  58 ; OM1: jne | 
|  59 ; OM1: jmp |  59 ; OM1: jmp | 
|  60 ; OM1: call |  60 ; OM1: call | 
|  61 ; OM1: ret |  61 ; OM1: ret | 
|  62 ; OM1: call |  62 ; OM1: call | 
|  63 ; OM1: ret |  63 ; OM1: ret | 
|  64  |  64  | 
|  65 ; For a conditional branch with the next block as the target and a |  65 ; For a conditional branch with the next block as the target and a | 
|  66 ; different block as the fallthrough, the branch condition should be |  66 ; different block as the fallthrough, the branch condition should be | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
|  81 ; O2: cmp {{.*}},0x7b |  81 ; O2: cmp {{.*}},0x7b | 
|  82 ; O2-NEXT: jl |  82 ; O2-NEXT: jl | 
|  83 ; O2-NOT: j |  83 ; O2-NOT: j | 
|  84 ; O2: call |  84 ; O2: call | 
|  85 ; O2: ret |  85 ; O2: ret | 
|  86 ; O2: call |  86 ; O2: call | 
|  87 ; O2: ret |  87 ; O2: ret | 
|  88  |  88  | 
|  89 ; OM1-LABEL: testCondTargetNextBlock |  89 ; OM1-LABEL: testCondTargetNextBlock | 
|  90 ; OM1: cmp {{.*}},0x7b |  90 ; OM1: cmp {{.*}},0x7b | 
|  91 ; OM1: jge |  91 ; OM1: setge | 
|  92 ; OM1: cmp |  92 ; OM1: cmp | 
|  93 ; OM1: jne |  93 ; OM1: jne | 
|  94 ; OM1: jmp |  94 ; OM1: jmp | 
|  95 ; OM1: call |  95 ; OM1: call | 
|  96 ; OM1: ret |  96 ; OM1: ret | 
|  97 ; OM1: call |  97 ; OM1: call | 
|  98 ; OM1: ret |  98 ; OM1: ret | 
| OLD | NEW |