1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "tests/asm.h"
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	.file	"oneparam.c"
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	.version	"01.01"
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browngcc2_compiled.:
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.text
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	.align 4
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.globl VG_SYM_ASM(get_cpuid0)
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownVG_SYM_ASM(get_cpuid0):
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ebp
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%esp, %ebp
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	8(%ebp), %eax
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%edi
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%eax
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ebx
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ecx
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%edx
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%eax, %edi
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	$0, %eax
23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	cpuid
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%eax, (%edi)
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%ebx, 4(%edi)
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%ecx, 8(%edi)
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%edx, 12(%edi)
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%edx
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ecx
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ebx
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%eax
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%edi
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ebp
36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	ret
37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.globl VG_SYM_ASM(get_cpuid1)
40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownVG_SYM_ASM(get_cpuid1):
41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ebp
42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%esp, %ebp
43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	8(%ebp), %eax
44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%edi
46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%eax
47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ebx
48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%ecx
49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	pushl	%edx
50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%eax, %edi
52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	$1, %eax
53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	cpuid
54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%eax, (%edi)
55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%ebx, 4(%edi)
56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%ecx, 8(%edi)
57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	movl	%edx, 12(%edi)
58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%edx
60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ecx
61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ebx
62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%eax
63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%edi
64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	popl	%ebp
66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	ret
67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown	.ident	"GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
72