| OLD | NEW |
| 1 ; Simple test of non-fused compare/branch. | 1 ; Simple test of non-fused compare/branch. |
| 2 | 2 |
| 3 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ | 3 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ |
| 4 ; RUN: -allow-externally-defined-symbols | FileCheck %s | 4 ; RUN: -allow-externally-defined-symbols | FileCheck %s |
| 5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ | 5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ |
| 6 ; RUN: -allow-externally-defined-symbols | FileCheck --check-prefix=OPTM1 %s | 6 ; RUN: -allow-externally-defined-symbols | FileCheck --check-prefix=OPTM1 %s |
| 7 | 7 |
| 8 define internal void @icmpEqZero64() { | 8 define internal void @icmpEqZero64() { |
| 9 entry: | 9 entry: |
| 10 %cmp = icmp eq i64 123, 0 | 10 %cmp = icmp eq i64 123, 0 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 br label %if.end | 142 br label %if.end |
| 143 | 143 |
| 144 if.end: ; preds = %if.then, %if.end | 144 if.end: ; preds = %if.then, %if.end |
| 145 ret void | 145 ret void |
| 146 } | 146 } |
| 147 ; The following checks are not strictly necessary since one of the RUN | 147 ; The following checks are not strictly necessary since one of the RUN |
| 148 ; lines actually runs the output through the assembler. | 148 ; lines actually runs the output through the assembler. |
| 149 ; CHECK-LABEL: icmpUltZero32 | 149 ; CHECK-LABEL: icmpUltZero32 |
| 150 ; CHECK: mov [[RESULT:.*]],0x0 | 150 ; CHECK: mov [[RESULT:.*]],0x0 |
| 151 ; CHECK-NEXT: cmp [[RESULT]],0x0 | 151 ; CHECK-NEXT: cmp [[RESULT]],0x0 |
| 152 ; OPTM1: icmpUltZero32 | 152 ; OPTM1-LABEL: icmpUltZero32 |
| 153 ; OPTM1 [[RESULT:.*]],0x0 | 153 ; OPTM1: mov [[RESULT:.*]],0x0 |
| 154 ; OPTM1: cmp [[RESULT]],0x0 | 154 ; OPTM1: cmp [[RESULT]],0x0 |
| 155 | 155 |
| 156 define internal void @icmpUgeZero32() { | 156 define internal void @icmpUgeZero32() { |
| 157 entry: | 157 entry: |
| 158 %cmp = icmp uge i32 123, 0 | 158 %cmp = icmp uge i32 123, 0 |
| 159 br i1 %cmp, label %if.then, label %if.end | 159 br i1 %cmp, label %if.then, label %if.end |
| 160 | 160 |
| 161 if.then: ; preds = %entry | 161 if.then: ; preds = %entry |
| 162 %cmp_ext = zext i1 %cmp to i32 | 162 %cmp_ext = zext i1 %cmp to i32 |
| 163 call void @use(i32 %cmp_ext) | 163 call void @use(i32 %cmp_ext) |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 ; lines actually runs the output through the assembler. | 258 ; lines actually runs the output through the assembler. |
| 259 ; CHECK-LABEL: icmpUgeZero8 | 259 ; CHECK-LABEL: icmpUgeZero8 |
| 260 ; CHECK: mov [[RESULT:.*]],0x1 | 260 ; CHECK: mov [[RESULT:.*]],0x1 |
| 261 ; CHECK-NEXT: cmp [[RESULT]],0x0 | 261 ; CHECK-NEXT: cmp [[RESULT]],0x0 |
| 262 ; OPTM1-LABEL: icmpUgeZero8 | 262 ; OPTM1-LABEL: icmpUgeZero8 |
| 263 ; OPTM1: mov [[RESULT:.*]],0x1 | 263 ; OPTM1: mov [[RESULT:.*]],0x1 |
| 264 ; OPTM1-NEXT: cmp [[RESULT]],0x0 | 264 ; OPTM1-NEXT: cmp [[RESULT]],0x0 |
| 265 | 265 |
| 266 declare void @func() | 266 declare void @func() |
| 267 declare void @use(i32) | 267 declare void @use(i32) |
| OLD | NEW |