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: %p2i -i %s --args --verbose inst | FileCheck %s | 4 ; RUN: %p2i -i %s --args --verbose inst | FileCheck %s |
5 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
6 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s | |
7 | 5 |
8 define i32 @Add(i32 %a, i32 %b) { | 6 define i32 @Add(i32 %a, i32 %b) { |
9 ; CHECK: define i32 @Add | 7 ; CHECK: define i32 @Add |
10 entry: | 8 entry: |
11 %add = add i32 %b, %a | 9 %add = add i32 %b, %a |
12 ; CHECK: add | 10 ; CHECK: add |
13 tail call void @Use(i32 %add) | 11 tail call void @Use(i32 %add) |
14 ; CHECK: call Use | 12 ; CHECK: call Use |
15 ret i32 %add | 13 ret i32 %add |
16 } | 14 } |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 | 109 |
112 ; Check for a valid addressing mode in the x86-32 mul instruction when | 110 ; Check for a valid addressing mode in the x86-32 mul instruction when |
113 ; the second source operand is an immediate. | 111 ; the second source operand is an immediate. |
114 define i64 @MulImm() { | 112 define i64 @MulImm() { |
115 entry: | 113 entry: |
116 %mul = mul i64 3, 4 | 114 %mul = mul i64 3, 4 |
117 ret i64 %mul | 115 ret i64 %mul |
118 } | 116 } |
119 ; CHECK-LABEL: MulImm | 117 ; CHECK-LABEL: MulImm |
120 ; CHECK-NOT: mul {{[0-9]+}} | 118 ; CHECK-NOT: mul {{[0-9]+}} |
121 | |
122 ; ERRORS-NOT: ICE translation error | |
123 ; DUMP-NOT: SZ | |
OLD | NEW |