notaz.gp2x.de
/
ia32rtools.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
translate: improve call arg collection
[ia32rtools.git]
/
tests
/
reg_call7.expect.c
1
int __fastcall sub_test(int a1)
2
{
3
u32 ecx = (u32)a1;
4
u32 eax;
5
u32 ebx;
6
u32 s_a1;
7
u32 s1_a1;
8
u32 s1_a2;
9
u32 s1_a3;
10
u32 s1_a4;
11
u32 s1_a5;
12
13
ecx += 1;
14
s1_a5 = ecx;
15
ebx = ecx;
16
s1_a4 = ebx;
17
ebx += 1;
18
if (ebx == 0)
19
goto l4;
20
if ((s32)ebx >= 0)
21
goto l2;
22
sub_test1(s1_a4);
23
s1_a4 = ebx;
24
ebx += 1;
25
26
l2:
27
sub_test2(s1_a4);
28
s1_a5 = ebx;
29
ebx += 1;
30
31
back:
32
s1_a4 = ebx;
33
ebx += 1;
34
if (ebx == 0)
35
goto l4;
36
s1_a3 = ebx;
37
ebx += 1;
38
if (ebx != 0)
39
goto l5;
40
sub_test3(s1_a3, s1_a4, s1_a5);
41
s1_a5 = ebx;
42
ebx += 1;
43
if (ebx == 0)
44
goto back;
45
s1_a4 = ebx;
46
ebx += 1;
47
48
l4:
49
s1_a1 = ebx;
50
ebx += 1;
51
sub_test4(s1_a1, s1_a4, s1_a5);
52
s1_a4 = ebx;
53
ebx += 1;
54
s1_a3 = ebx;
55
ebx += 1;
56
57
l5:
58
s1_a2 = ebx;
59
ebx += 1;
60
s1_a1 = ebx;
61
ebx += 1;
62
s_a1 = ebx;
63
ebx += 1;
64
sub_test6(s_a1);
65
sub_test5(s1_a1, s1_a2, s1_a3, s1_a4);
66
eax = ebx;
67
return eax;
68
}
69