| OLD | NEW |
| 1 ; This is a very early test that just checks the representation of i32 | 1 ; This is a very early test that just checks the representation of i32 |
| 2 ; arithmetic instructions. No assembly tests are done. | 2 ; arithmetic instructions. No assembly tests are done. |
| 3 | 3 |
| 4 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s | 4 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s |
| 5 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 5 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 6 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 6 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 7 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 7 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
| 8 ; RUN: | FileCheck --check-prefix=DUMP %s | 8 ; RUN: | FileCheck --check-prefix=DUMP %s |
| 9 | 9 |
| 10 define i32 @Add(i32 %a, i32 %b) { | 10 define i32 @Add(i32 %a, i32 %b) { |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 define i32 @Urem(i32 %a, i32 %b) { | 104 define i32 @Urem(i32 %a, i32 %b) { |
| 105 ; CHECK: define i32 @Urem | 105 ; CHECK: define i32 @Urem |
| 106 entry: | 106 entry: |
| 107 %rem = urem i32 %a, %b | 107 %rem = urem i32 %a, %b |
| 108 ; CHECK: div | 108 ; CHECK: div |
| 109 tail call void @Use(i32 %rem) | 109 tail call void @Use(i32 %rem) |
| 110 ; CHECK: call Use | 110 ; CHECK: call Use |
| 111 ret i32 %rem | 111 ret i32 %rem |
| 112 } | 112 } |
| 113 | 113 |
| 114 ; Check for a valid addressing mode in the x86-32 mul instruction when |
| 115 ; the second source operand is an immediate. |
| 116 define i64 @MulImm() { |
| 117 entry: |
| 118 %mul = mul i64 3, 4 |
| 119 ret i64 %mul |
| 120 } |
| 121 ; CHECK-LABEL: MulImm |
| 122 ; CHECK-NOT: mul {{[0-9]+}} |
| 123 |
| 114 ; ERRORS-NOT: ICE translation error | 124 ; ERRORS-NOT: ICE translation error |
| 115 ; DUMP-NOT: SZ | 125 ; DUMP-NOT: SZ |
| OLD | NEW |