| Index: tests_lit/llvm2ice_tests/arithmetic-chain.ll
|
| diff --git a/tests_lit/llvm2ice_tests/arithmetic-chain.ll b/tests_lit/llvm2ice_tests/arithmetic-chain.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3ca1ad08397e169a949a77c573a9a99dbea67d3c
|
| --- /dev/null
|
| +++ b/tests_lit/llvm2ice_tests/arithmetic-chain.ll
|
| @@ -0,0 +1,24 @@
|
| +; RUIN: %llvm2ice -verbose inst %s | FileCheck %s
|
| +; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s
|
| +; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s
|
| +
|
| +define i64 @arithmetic_chain(i64 %foo, i64 %bar) {
|
| +entry:
|
| + %r1 = add i64 %foo, %bar
|
| + %r2 = add i64 %foo, %r1
|
| + %r3 = mul i64 %bar, %r1
|
| + %r4 = shl i64 %r3, %r2
|
| + %r5 = add i64 %r4, 8
|
| + ret i64 %r5
|
| +
|
| +; CHECK: entry:
|
| +; CHECK-NEXT: %r1 = add i64 %foo, %bar
|
| +; CHECK-NEXT: %r2 = add i64 %foo, %r1
|
| +; CHECK-NEXT: %r3 = mul i64 %bar, %r1
|
| +; CHECK-NEXT: %r4 = shl i64 %r3, %r2
|
| +; CHECK-NEXT: %r5 = add i64 %r4, 8
|
| +; CHECK-NEXT: ret i64 %r5
|
| +}
|
| +
|
| +; ERRORS-NOT: ICE translation error
|
| +; DUMP-NOT: SZ
|
|
|