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 |