Skip to content

Commit 77d8c38

Browse files
committed
[X86] 2008-08-31-EH_RETURN32.ll - regenerate with update_llc_test_checks.py
1 parent 7e4d16d commit 77d8c38

File tree

1 file changed

+41
-19
lines changed

1 file changed

+41
-19
lines changed

llvm/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,58 @@
1-
; Check that eh_return & unwind_init were properly lowered
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
22
; RUN: llc -mcpu=corei7 < %s -verify-machineinstrs | FileCheck %s
33

44
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
55
target triple = "i386-pc-linux"
66

7-
; CHECK: test1
8-
; CHECK: pushl %ebp
9-
define ptr @test1(i32 %a, ptr %b) {
7+
; Check that eh_return & unwind_init were properly lowered
8+
9+
define ptr @test1(i32 %a, ptr %b) nounwind {
10+
; CHECK-LABEL: test1:
11+
; CHECK: # %bb.0: # %entry
12+
; CHECK-NEXT: pushl %ebp
13+
; CHECK-NEXT: movl %esp, %ebp
14+
; CHECK-NEXT: pushl %ebx
15+
; CHECK-NEXT: pushl %edi
16+
; CHECK-NEXT: pushl %esi
17+
; CHECK-NEXT: pushl %edx
18+
; CHECK-NEXT: pushl %eax
19+
; CHECK-NEXT: pushl %eax
20+
; CHECK-NEXT: movl 12(%ebp), %ecx
21+
; CHECK-NEXT: movl 8(%ebp), %eax
22+
; CHECK-NEXT: movl %ecx, 4(%ebp,%eax)
23+
; CHECK-NEXT: leal 4(%ebp,%eax), %ecx
24+
; CHECK-NEXT: addl $4, %esp
25+
; CHECK-NEXT: popl %eax
26+
; CHECK-NEXT: popl %edx
27+
; CHECK-NEXT: popl %esi
28+
; CHECK-NEXT: popl %edi
29+
; CHECK-NEXT: popl %ebx
30+
; CHECK-NEXT: popl %ebp
31+
; CHECK-NEXT: movl %ecx, %esp
32+
; CHECK-NEXT: retl # eh_return, addr: %ecx
1033
entry:
1134
call void @llvm.eh.unwind.init()
1235
%foo = alloca i32
1336
call void @llvm.eh.return.i32(i32 %a, ptr %b)
14-
; CHECK: movl 12(%ebp), %[[ECX:e..]]
15-
; CHECK: movl 8(%ebp), %[[EAX:e..]]
16-
; CHECK: movl %[[ECX]], 4(%ebp,%[[EAX]])
17-
; CHECK: leal 4(%ebp,%[[EAX]]), %[[ECX2:e..]]
18-
; CHECK: movl %[[ECX2]], %esp
19-
; CHECK: ret
2037
unreachable
2138
}
2239

23-
; CHECK: test2
24-
; CHECK: pushl %ebp
25-
define ptr @test2(i32 %a, ptr %b) {
40+
define ptr @test2(i32 %a, ptr %b) nounwind {
41+
; CHECK-LABEL: test2:
42+
; CHECK: # %bb.0: # %entry
43+
; CHECK-NEXT: pushl %ebp
44+
; CHECK-NEXT: movl %esp, %ebp
45+
; CHECK-NEXT: pushl %eax
46+
; CHECK-NEXT: movl 12(%ebp), %ecx
47+
; CHECK-NEXT: movl 8(%ebp), %eax
48+
; CHECK-NEXT: movl %ecx, 4(%ebp,%eax)
49+
; CHECK-NEXT: leal 4(%ebp,%eax), %ecx
50+
; CHECK-NEXT: popl %eax
51+
; CHECK-NEXT: popl %ebp
52+
; CHECK-NEXT: movl %ecx, %esp
53+
; CHECK-NEXT: retl # eh_return, addr: %ecx
2654
entry:
2755
call void @llvm.eh.return.i32(i32 %a, ptr %b)
28-
; CHECK: movl 12(%ebp), %[[ECX:e..]]
29-
; CHECK: movl 8(%ebp), %[[EAX:e..]]
30-
; CHECK: movl %[[ECX]], 4(%ebp,%[[EAX]])
31-
; CHECK: leal 4(%ebp,%[[EAX]]), %[[ECX2:e..]]
32-
; CHECK: movl %[[ECX2]], %esp
33-
; CHECK: ret
3456
unreachable
3557
}
3658

0 commit comments

Comments
 (0)