|
5 | 5 | ; to minimize live-range.
|
6 | 6 |
|
7 | 7 | define i64 @test(i1 %a, i64 %r1, i64 %r2, i64 %s1, i64 %s2, i64 %t1, i64 %t2) {
|
| 8 | +; CHECK-LABEL: test: |
| 9 | +; CHECK: # %bb.0: # %entry |
| 10 | +; CHECK-NEXT: pushq %r15 |
| 11 | +; CHECK-NEXT: .cfi_def_cfa_offset 16 |
| 12 | +; CHECK-NEXT: pushq %r14 |
| 13 | +; CHECK-NEXT: .cfi_def_cfa_offset 24 |
| 14 | +; CHECK-NEXT: pushq %rbx |
| 15 | +; CHECK-NEXT: .cfi_def_cfa_offset 32 |
| 16 | +; CHECK-NEXT: .cfi_offset %rbx, -32 |
| 17 | +; CHECK-NEXT: .cfi_offset %r14, -24 |
| 18 | +; CHECK-NEXT: .cfi_offset %r15, -16 |
| 19 | +; CHECK-NEXT: movq %rcx, %r14 |
| 20 | +; CHECK-NEXT: movl $4, %r15d |
| 21 | +; CHECK-NEXT: testb $1, %dil |
| 22 | +; CHECK-NEXT: je .LBB0_2 |
| 23 | +; CHECK-NEXT: # %bb.1: # %then |
| 24 | +; CHECK-NEXT: movq {{[0-9]+}}(%rsp), %r9 |
| 25 | +; CHECK-NEXT: movl $10, %r15d |
| 26 | +; CHECK-NEXT: movq %rdx, %rsi |
| 27 | +; CHECK-NEXT: movq %r8, %r14 |
| 28 | +; CHECK-NEXT: .LBB0_2: # %else |
| 29 | +; CHECK-NEXT: addq %r9, %r14 |
| 30 | +; CHECK-NEXT: addq %rsi, %r15 |
| 31 | +; CHECK-NEXT: callq _Z3foov |
| 32 | +; CHECK-NEXT: movl %eax, %ebx |
| 33 | +; CHECK-NEXT: addq %r15, %rbx |
| 34 | +; CHECK-NEXT: callq _Z3foov |
| 35 | +; CHECK-NEXT: movl %eax, %r15d |
| 36 | +; CHECK-NEXT: addq %rbx, %r15 |
| 37 | +; CHECK-NEXT: callq _Z3foov |
| 38 | +; CHECK-NEXT: movl %eax, %eax |
| 39 | +; CHECK-NEXT: addq %r15, %rax |
| 40 | +; CHECK-NEXT: addq %r14, %rax |
| 41 | +; CHECK-NEXT: popq %rbx |
| 42 | +; CHECK-NEXT: .cfi_def_cfa_offset 24 |
| 43 | +; CHECK-NEXT: popq %r14 |
| 44 | +; CHECK-NEXT: .cfi_def_cfa_offset 16 |
| 45 | +; CHECK-NEXT: popq %r15 |
| 46 | +; CHECK-NEXT: .cfi_def_cfa_offset 8 |
| 47 | +; CHECK-NEXT: retq |
8 | 48 | entry:
|
9 | 49 | br i1 %a, label %then, label %else
|
10 | 50 |
|
|
16 | 56 | %r = phi i64 [ %r1, %entry ], [ %r2, %then ]
|
17 | 57 | %s = phi i64 [ %s1, %entry ], [ %s2, %then ]
|
18 | 58 | %t = phi i64 [ %t1, %entry ], [ %t2, %then ]
|
19 |
| -; CHECK-LABEL: test: |
20 |
| -; CHECK: add |
21 |
| -; CHECK: add |
22 |
| -; CHECK: call |
23 |
| -; CHECK: add |
24 |
| -; CHECK: call |
25 |
| -; CHECK: add |
26 |
| -; CHECK: call |
27 |
| -; CHECK: add |
28 | 59 | %1 = tail call i32 @_Z3foov()
|
29 | 60 | %2 = zext i32 %1 to i64
|
30 | 61 | %3 = tail call i32 @_Z3foov()
|
|
0 commit comments