|
1 |
| -; RUN: llc -o - -mtriple=x86_64-linux-gnu %s | FileCheck %s |
2 |
| - |
3 |
| -target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
4 |
| -target triple = "x86_64-unknown-linux-gnu" |
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| 2 | +; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s |
5 | 3 |
|
6 | 4 | ; We should be able to bypass the load values to their corresponding
|
7 | 5 | ; stores here.
|
8 | 6 |
|
9 |
| -; CHECK-LABEL: foo |
10 |
| -; CHECK-DAG: movl %esi, -8(%rsp) |
11 |
| -; CHECK-DAG: movl %ecx, -16(%rsp) |
12 |
| -; CHECK-DAG: movl %edi, -4(%rsp) |
13 |
| -; CHECK-DAG: movl %edx, -12(%rsp) |
14 |
| -; CHECK: leal |
15 |
| -; CHECK: addl |
16 |
| -; CHECK: addl |
17 |
| -; CHECK: retq |
18 |
| - |
19 | 7 | define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) {
|
| 8 | +; CHECK-LABEL: foo: |
| 9 | +; CHECK: # %bb.0: # %entry |
| 10 | +; CHECK-NEXT: # kill: def $esi killed $esi def $rsi |
| 11 | +; CHECK-NEXT: # kill: def $edi killed $edi def $rdi |
| 12 | +; CHECK-NEXT: movl %esi, -8(%rsp) |
| 13 | +; CHECK-NEXT: movl %ecx, -16(%rsp) |
| 14 | +; CHECK-NEXT: movl %edi, -4(%rsp) |
| 15 | +; CHECK-NEXT: movl %edx, -12(%rsp) |
| 16 | +; CHECK-NEXT: leal (%rdi,%rsi), %eax |
| 17 | +; CHECK-NEXT: addl %edx, %eax |
| 18 | +; CHECK-NEXT: addl %ecx, %eax |
| 19 | +; CHECK-NEXT: retq |
20 | 20 | entry:
|
21 | 21 | %a0 = alloca i32
|
22 | 22 | %a1 = alloca i32
|
|
0 commit comments