factor/vm/ffi_test.s

1164 lines
21 KiB
ArmAsm

.cstring
LC0:
.ascii "ffi_test_0()\0"
.text
.globl _ffi_test_0
_ffi_test_0:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L3
"L00000000001$pb":
L3:
popl %ebx
leal LC0-"L00000000001$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
addl $20, %esp
popl %ebx
leave
ret
.cstring
LC1:
.ascii "ffi_test_1()\0"
.text
.globl _ffi_test_1
_ffi_test_1:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L6
"L00000000002$pb":
L6:
popl %ebx
leal LC1-"L00000000002$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
movl $3, %eax
addl $20, %esp
popl %ebx
leave
ret
.cstring
LC2:
.ascii "ffi_test_2(%d,%d)\12\0"
.text
.globl _ffi_test_2
_ffi_test_2:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L9
"L00000000003$pb":
L9:
popl %ebx
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC2-"L00000000003$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
addl 8(%ebp), %eax
addl $20, %esp
popl %ebx
leave
ret
.cstring
LC3:
.ascii "ffi_test_3(%d,%d,%d,%d)\12\0"
.text
.globl _ffi_test_3
_ffi_test_3:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L12
"L00000000004$pb":
L12:
popl %ebx
movl 20(%ebp), %eax
movl %eax, 16(%esp)
movl 16(%ebp), %eax
movl %eax, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC3-"L00000000004$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
movl 8(%ebp), %edx
addl %eax, %edx
movl 16(%ebp), %eax
imull 20(%ebp), %eax
leal (%edx,%eax), %eax
addl $36, %esp
popl %ebx
leave
ret
.cstring
LC4:
.ascii "ffi_test_4()\0"
.literal4
.align 2
LC5:
.long 1069547520
.text
.globl _ffi_test_4
_ffi_test_4:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L15
"L00000000005$pb":
L15:
popl %ebx
leal LC4-"L00000000005$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
leal LC5-"L00000000005$pb"(%ebx), %eax
movl (%eax), %eax
movl %eax, -12(%ebp)
movss -12(%ebp), %xmm0
movss %xmm0, -12(%ebp)
flds -12(%ebp)
addl $36, %esp
popl %ebx
leave
ret
.cstring
LC6:
.ascii "ffi_test_5()\0"
.literal8
.align 3
LC7:
.long 0
.long 1073217536
.text
.globl _ffi_test_5
_ffi_test_5:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L18
"L00000000006$pb":
L18:
popl %ebx
leal LC6-"L00000000006$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
leal LC7-"L00000000006$pb"(%ebx), %eax
movsd (%eax), %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
addl $36, %esp
popl %ebx
leave
ret
.cstring
LC8:
.ascii "ffi_test_6(%f,%f)\12\0"
.text
.globl _ffi_test_6
_ffi_test_6:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $52, %esp
call L21
"L00000000007$pb":
L21:
popl %ebx
cvtss2sd 12(%ebp), %xmm0
cvtss2sd 8(%ebp), %xmm1
movsd %xmm0, 12(%esp)
movsd %xmm1, 4(%esp)
leal LC8-"L00000000007$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movss 8(%ebp), %xmm0
mulss 12(%ebp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
addl $52, %esp
popl %ebx
leave
ret
.cstring
LC9:
.ascii "ffi_test_7(%f,%f)\12\0"
.text
.globl _ffi_test_7
_ffi_test_7:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $68, %esp
call L24
"L00000000008$pb":
L24:
popl %ebx
movl 8(%ebp), %eax
movl %eax, -16(%ebp)
movl 12(%ebp), %eax
movl %eax, -12(%ebp)
movl 16(%ebp), %eax
movl %eax, -24(%ebp)
movl 20(%ebp), %eax
movl %eax, -20(%ebp)
movsd -24(%ebp), %xmm0
movsd %xmm0, 12(%esp)
movsd -16(%ebp), %xmm0
movsd %xmm0, 4(%esp)
leal LC9-"L00000000008$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movsd -16(%ebp), %xmm0
mulsd -24(%ebp), %xmm0
movsd %xmm0, -32(%ebp)
fldl -32(%ebp)
addl $68, %esp
popl %ebx
leave
ret
.cstring
LC10:
.ascii "ffi_test_8(%f,%f,%f,%f,%d)\12\0"
.text
.globl _ffi_test_8
_ffi_test_8:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $84, %esp
call L27
"L00000000009$pb":
L27:
popl %ebx
movl 8(%ebp), %eax
movl %eax, -16(%ebp)
movl 12(%ebp), %eax
movl %eax, -12(%ebp)
movl 20(%ebp), %eax
movl %eax, -24(%ebp)
movl 24(%ebp), %eax
movl %eax, -20(%ebp)
cvtss2sd 28(%ebp), %xmm0
cvtss2sd 16(%ebp), %xmm1
movl 32(%ebp), %eax
movl %eax, 36(%esp)
movsd %xmm0, 28(%esp)
movsd -24(%ebp), %xmm0
movsd %xmm0, 20(%esp)
movsd %xmm1, 12(%esp)
movsd -16(%ebp), %xmm0
movsd %xmm0, 4(%esp)
leal LC10-"L00000000009$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
cvtss2sd 16(%ebp), %xmm0
movapd %xmm0, %xmm1
mulsd -16(%ebp), %xmm1
cvtss2sd 28(%ebp), %xmm0
mulsd -24(%ebp), %xmm0
addsd %xmm0, %xmm1
cvtsi2sd 32(%ebp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -32(%ebp)
fldl -32(%ebp)
addl $84, %esp
popl %ebx
leave
ret
.cstring
.align 2
LC11:
.ascii "ffi_test_9(%d,%d,%d,%d,%d,%d,%d)\12\0"
.text
.globl _ffi_test_9
_ffi_test_9:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L30
"L00000000010$pb":
L30:
popl %ebx
movl 32(%ebp), %eax
movl %eax, 28(%esp)
movl 28(%ebp), %eax
movl %eax, 24(%esp)
movl 24(%ebp), %eax
movl %eax, 20(%esp)
movl 20(%ebp), %eax
movl %eax, 16(%esp)
movl 16(%ebp), %eax
movl %eax, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC11-"L00000000010$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
addl 8(%ebp), %eax
addl 16(%ebp), %eax
addl 20(%ebp), %eax
addl 24(%ebp), %eax
addl 28(%ebp), %eax
addl 32(%ebp), %eax
addl $36, %esp
popl %ebx
leave
ret
.cstring
.align 2
LC12:
.ascii "ffi_test_10(%d,%d,%f,%d,%f,%d,%d,%d)\12\0"
.text
.globl _ffi_test_10
_ffi_test_10:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $68, %esp
call L33
"L00000000011$pb":
L33:
popl %ebx
movl 16(%ebp), %eax
movl %eax, -16(%ebp)
movl 20(%ebp), %eax
movl %eax, -12(%ebp)
cvtss2sd 28(%ebp), %xmm0
movl 40(%ebp), %eax
movl %eax, 40(%esp)
movl 36(%ebp), %eax
movl %eax, 36(%esp)
movl 32(%ebp), %eax
movl %eax, 32(%esp)
movsd %xmm0, 24(%esp)
movl 24(%ebp), %eax
movl %eax, 20(%esp)
movsd -16(%ebp), %xmm0
movsd %xmm0, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC12-"L00000000011$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %edx
movl 8(%ebp), %eax
subl %edx, %eax
cvtsi2sd %eax, %xmm0
movapd %xmm0, %xmm1
subsd -16(%ebp), %xmm1
cvtsi2sd 24(%ebp), %xmm0
subsd %xmm0, %xmm1
cvtss2sd 28(%ebp), %xmm0
subsd %xmm0, %xmm1
cvtsi2sd 32(%ebp), %xmm0
subsd %xmm0, %xmm1
cvtsi2sd 36(%ebp), %xmm0
subsd %xmm0, %xmm1
cvtsi2sd 40(%ebp), %xmm0
movapd %xmm1, %xmm2
subsd %xmm0, %xmm2
movapd %xmm2, %xmm0
cvttsd2si %xmm0, %eax
addl $68, %esp
popl %ebx
leave
ret
.cstring
LC13:
.ascii "ffi_test_11(%d,{%d,%d},%d)\12\0"
.text
.globl _ffi_test_11
_ffi_test_11:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L36
"L00000000012$pb":
L36:
popl %ebx
movl 16(%ebp), %edx
movl 12(%ebp), %ecx
movl 20(%ebp), %eax
movl %eax, 16(%esp)
movl %edx, 12(%esp)
movl %ecx, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC13-"L00000000012$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
movl %eax, %edx
imull 8(%ebp), %edx
movl 16(%ebp), %eax
imull 20(%ebp), %eax
leal (%edx,%eax), %eax
addl $36, %esp
popl %ebx
leave
ret
.cstring
.align 2
LC14:
.ascii "ffi_test_12(%d,%d,{%f,%f,%f,%f},%d,%d,%d)\12\0"
.text
.globl _ffi_test_12
_ffi_test_12:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $68, %esp
call L39
"L00000000013$pb":
L39:
popl %ebx
movss 28(%ebp), %xmm0
cvtss2sd %xmm0, %xmm1
movss 24(%ebp), %xmm0
cvtss2sd %xmm0, %xmm2
movss 20(%ebp), %xmm0
cvtss2sd %xmm0, %xmm3
movss 16(%ebp), %xmm0
cvtss2sd %xmm0, %xmm0
movl 40(%ebp), %eax
movl %eax, 52(%esp)
movl 36(%ebp), %eax
movl %eax, 48(%esp)
movl 32(%ebp), %eax
movl %eax, 44(%esp)
movsd %xmm1, 36(%esp)
movsd %xmm2, 28(%esp)
movsd %xmm3, 20(%esp)
movsd %xmm0, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC14-"L00000000013$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
addl 8(%ebp), %eax
cvtsi2ss %eax, %xmm1
movss 16(%ebp), %xmm0
addss %xmm0, %xmm1
movss 20(%ebp), %xmm0
addss %xmm0, %xmm1
movss 24(%ebp), %xmm0
addss %xmm0, %xmm1
movss 28(%ebp), %xmm0
addss %xmm0, %xmm1
cvtsi2ss 32(%ebp), %xmm0
addss %xmm0, %xmm1
cvtsi2ss 36(%ebp), %xmm0
addss %xmm0, %xmm1
cvtsi2ss 40(%ebp), %xmm0
addss %xmm1, %xmm0
cvttss2si %xmm0, %eax
addl $68, %esp
popl %ebx
leave
ret
.cstring
.align 2
LC15:
.ascii "ffi_test_13(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)\12\0"
.text
.globl _ffi_test_13
_ffi_test_13:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $52, %esp
call L42
"L00000000014$pb":
L42:
popl %ebx
movl 48(%ebp), %eax
movl %eax, 44(%esp)
movl 44(%ebp), %eax
movl %eax, 40(%esp)
movl 40(%ebp), %eax
movl %eax, 36(%esp)
movl 36(%ebp), %eax
movl %eax, 32(%esp)
movl 32(%ebp), %eax
movl %eax, 28(%esp)
movl 28(%ebp), %eax
movl %eax, 24(%esp)
movl 24(%ebp), %eax
movl %eax, 20(%esp)
movl 20(%ebp), %eax
movl %eax, 16(%esp)
movl 16(%ebp), %eax
movl %eax, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC15-"L00000000014$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
addl 8(%ebp), %eax
addl 16(%ebp), %eax
addl 20(%ebp), %eax
addl 24(%ebp), %eax
addl 28(%ebp), %eax
addl 32(%ebp), %eax
addl 36(%ebp), %eax
addl 40(%ebp), %eax
addl 44(%ebp), %eax
addl 48(%ebp), %eax
addl $52, %esp
popl %ebx
leave
ret
.cstring
LC16:
.ascii "ffi_test_14(%d,%d)\12\0"
.text
.globl _ffi_test_14
_ffi_test_14:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L45
"L00000000015$pb":
L45:
popl %ebx
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC16-"L00000000015$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 8(%ebp), %eax
movl %eax, -16(%ebp)
movl 12(%ebp), %eax
movl %eax, -12(%ebp)
movl -16(%ebp), %eax
movl -12(%ebp), %edx
addl $36, %esp
popl %ebx
leave
ret
.cstring
LC17:
.ascii "foo\0"
LC18:
.ascii "bar\0"
.text
.globl _ffi_test_15
_ffi_test_15:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L51
"L00000000016$pb":
L51:
popl %ebx
movl 12(%ebp), %eax
movl %eax, 4(%esp)
movl 8(%ebp), %eax
movl %eax, (%esp)
call L_strcmp$stub
testl %eax, %eax
je L47
leal LC17-"L00000000016$pb"(%ebx), %eax
movl %eax, -12(%ebp)
jmp L49
L47:
leal LC18-"L00000000016$pb"(%ebx), %eax
movl %eax, -12(%ebp)
L49:
movl -12(%ebp), %eax
addl $36, %esp
popl %ebx
leave
ret
.globl _ffi_test_16
_ffi_test_16:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %edx
movl 12(%ebp), %eax
movl %eax, -20(%ebp)
movl 16(%ebp), %eax
movl %eax, -16(%ebp)
movl 20(%ebp), %eax
movl %eax, -12(%ebp)
movl -20(%ebp), %eax
movl %eax, (%edx)
movl -16(%ebp), %eax
movl %eax, 4(%edx)
movl -12(%ebp), %eax
movl %eax, 8(%edx)
movl %edx, %eax
leave
ret $4
.globl _ffi_test_17
_ffi_test_17:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movl %eax, -12(%ebp)
movl -12(%ebp), %eax
leave
ret
.cstring
LC19:
.ascii "ffi_test_18(%d,%d,%d,%d)\12\0"
.text
.globl _ffi_test_18
_ffi_test_18:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $36, %esp
call L58
"L00000000017$pb":
L58:
popl %ebx
movl 20(%ebp), %eax
movl %eax, 16(%esp)
movl 16(%ebp), %eax
movl %eax, 12(%esp)
movl 12(%ebp), %eax
movl %eax, 8(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC19-"L00000000017$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl 12(%ebp), %eax
movl 8(%ebp), %edx
addl %eax, %edx
movl 16(%ebp), %eax
imull 20(%ebp), %eax
leal (%edx,%eax), %eax
addl $36, %esp
popl %ebx
leave
ret $16
.globl _ffi_test_19
_ffi_test_19:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %edx
movl 12(%ebp), %eax
movl %eax, -20(%ebp)
movl 16(%ebp), %eax
movl %eax, -16(%ebp)
movl 20(%ebp), %eax
movl %eax, -12(%ebp)
movl -20(%ebp), %eax
movl %eax, (%edx)
movl -16(%ebp), %eax
movl %eax, 4(%edx)
movl -12(%ebp), %eax
movl %eax, 8(%edx)
movl %edx, %eax
leave
ret $16
.cstring
.align 2
LC20:
.ascii "ffi_test_20(%f,%f,%f,%f,%f,%f,%f,%f,%f)\12\0"
.text
.globl _ffi_test_20
_ffi_test_20:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $164, %esp
call L63
"L00000000018$pb":
L63:
popl %ebx
movl 8(%ebp), %eax
movl %eax, -16(%ebp)
movl 12(%ebp), %eax
movl %eax, -12(%ebp)
movl 16(%ebp), %eax
movl %eax, -24(%ebp)
movl 20(%ebp), %eax
movl %eax, -20(%ebp)
movl 24(%ebp), %eax
movl %eax, -32(%ebp)
movl 28(%ebp), %eax
movl %eax, -28(%ebp)
movl 32(%ebp), %eax
movl %eax, -40(%ebp)
movl 36(%ebp), %eax
movl %eax, -36(%ebp)
movl 40(%ebp), %eax
movl %eax, -48(%ebp)
movl 44(%ebp), %eax
movl %eax, -44(%ebp)
movl 48(%ebp), %eax
movl %eax, -56(%ebp)
movl 52(%ebp), %eax
movl %eax, -52(%ebp)
movl 56(%ebp), %eax
movl %eax, -64(%ebp)
movl 60(%ebp), %eax
movl %eax, -60(%ebp)
movl 64(%ebp), %eax
movl %eax, -72(%ebp)
movl 68(%ebp), %eax
movl %eax, -68(%ebp)
movl 72(%ebp), %eax
movl %eax, -80(%ebp)
movl 76(%ebp), %eax
movl %eax, -76(%ebp)
movsd -80(%ebp), %xmm0
movsd %xmm0, 68(%esp)
movsd -72(%ebp), %xmm0
movsd %xmm0, 60(%esp)
movsd -64(%ebp), %xmm0
movsd %xmm0, 52(%esp)
movsd -56(%ebp), %xmm0
movsd %xmm0, 44(%esp)
movsd -48(%ebp), %xmm0
movsd %xmm0, 36(%esp)
movsd -40(%ebp), %xmm0
movsd %xmm0, 28(%esp)
movsd -32(%ebp), %xmm0
movsd %xmm0, 20(%esp)
movsd -24(%ebp), %xmm0
movsd %xmm0, 12(%esp)
movsd -16(%ebp), %xmm0
movsd %xmm0, 4(%esp)
leal LC20-"L00000000018$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
addl $164, %esp
popl %ebx
leave
ret
.globl _ffi_test_21
_ffi_test_21:
pushl %ebp
movl %esp, %ebp
subl $56, %esp
movl 8(%ebp), %eax
movl %eax, -16(%ebp)
movl %eax, %edx
sarl $31, %edx
movl %edx, -12(%ebp)
movl 12(%ebp), %eax
movl %eax, -48(%ebp)
movl %eax, %edx
sarl $31, %edx
movl %edx, -44(%ebp)
movl -16(%ebp), %eax
mull -48(%ebp)
movl %eax, -24(%ebp)
movl %edx, -20(%ebp)
movl -16(%ebp), %edx
imull -44(%ebp), %edx
movl %edx, -28(%ebp)
movl -20(%ebp), %ecx
addl -28(%ebp), %ecx
movl -48(%ebp), %eax
imull -12(%ebp), %eax
addl %eax, %ecx
movl %ecx, -20(%ebp)
movl -24(%ebp), %eax
movl -20(%ebp), %edx
leave
ret
.cstring
LC21:
.ascii "ffi_test_22(%ld,%lld,%lld)\12\0"
.text
.globl _ffi_test_22
_ffi_test_22:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $52, %esp
call L68
"L00000000019$pb":
L68:
popl %ebx
movl 12(%ebp), %eax
movl %eax, -16(%ebp)
movl 16(%ebp), %eax
movl %eax, -12(%ebp)
movl 20(%ebp), %eax
movl %eax, -24(%ebp)
movl 24(%ebp), %eax
movl %eax, -20(%ebp)
movl -24(%ebp), %eax
movl -20(%ebp), %edx
movl %eax, 16(%esp)
movl %edx, 20(%esp)
movl -16(%ebp), %eax
movl -12(%ebp), %edx
movl %eax, 8(%esp)
movl %edx, 12(%esp)
movl 8(%ebp), %eax
movl %eax, 4(%esp)
leal LC21-"L00000000019$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
movl -24(%ebp), %eax
movl -20(%ebp), %edx
movl %eax, 8(%esp)
movl %edx, 12(%esp)
movl -16(%ebp), %eax
movl -12(%ebp), %edx
movl %eax, (%esp)
movl %edx, 4(%esp)
call L___divdi3$stub
addl 8(%ebp), %eax
addl $52, %esp
popl %ebx
leave
ret
.globl _ffi_test_23
_ffi_test_23:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movss (%eax), %xmm1
movl 12(%ebp), %eax
movss (%eax), %xmm0
movaps %xmm1, %xmm2
mulss %xmm0, %xmm2
movl 8(%ebp), %eax
addl $4, %eax
movss (%eax), %xmm1
movl 12(%ebp), %eax
addl $4, %eax
movss (%eax), %xmm0
mulss %xmm1, %xmm0
addss %xmm0, %xmm2
movl 8(%ebp), %eax
addl $8, %eax
movss (%eax), %xmm1
movl 12(%ebp), %eax
addl $8, %eax
movss (%eax), %xmm0
mulss %xmm1, %xmm0
addss %xmm2, %xmm0
movss %xmm0, -12(%ebp)
flds -12(%ebp)
leave
ret
.globl _ffi_test_24
_ffi_test_24:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movb $1, -9(%ebp)
movzbl -9(%ebp), %eax
leave
ret
.globl _ffi_test_25
_ffi_test_25:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movb $1, -10(%ebp)
movb $2, -9(%ebp)
movzwl -10(%ebp), %eax
leave
ret
.globl _ffi_test_26
_ffi_test_26:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movb $1, -11(%ebp)
movb $2, -10(%ebp)
movb $3, -9(%ebp)
movzwl -11(%ebp), %edx
movw %dx, (%eax)
movzbl -9(%ebp), %edx
movb %dl, 2(%eax)
leave
ret $4
.globl _ffi_test_27
_ffi_test_27:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movb $1, -12(%ebp)
movb $2, -11(%ebp)
movb $3, -10(%ebp)
movb $4, -9(%ebp)
movl -12(%ebp), %eax
leave
ret
.globl _ffi_test_28
_ffi_test_28:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movb $1, -13(%ebp)
movb $2, -12(%ebp)
movb $3, -11(%ebp)
movb $4, -10(%ebp)
movb $5, -9(%ebp)
movl -13(%ebp), %edx
movl %edx, (%eax)
movzbl -9(%ebp), %edx
movb %dl, 4(%eax)
leave
ret $4
.globl _ffi_test_29
_ffi_test_29:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movb $1, -14(%ebp)
movb $2, -13(%ebp)
movb $3, -12(%ebp)
movb $4, -11(%ebp)
movb $5, -10(%ebp)
movb $6, -9(%ebp)
movl -14(%ebp), %edx
movl %edx, (%eax)
movzwl -10(%ebp), %edx
movw %dx, 4(%eax)
leave
ret $4
.globl _ffi_test_30
_ffi_test_30:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %edx
movb $1, -15(%ebp)
movb $2, -14(%ebp)
movb $3, -13(%ebp)
movb $4, -12(%ebp)
movb $5, -11(%ebp)
movb $6, -10(%ebp)
movb $7, -9(%ebp)
movl -15(%ebp), %eax
movl %eax, (%edx)
movzwl -11(%ebp), %eax
movw %ax, 4(%edx)
movzbl -9(%ebp), %eax
movb %al, 6(%edx)
movl %edx, %eax
leave
ret $4
.globl _ffi_test_31
_ffi_test_31:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
leave
ret
.globl _ffi_test_32
_ffi_test_32:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movsd 8(%ebp), %xmm1
movsd 16(%ebp), %xmm0
addsd %xmm0, %xmm1
cvtsi2sd 24(%ebp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
leave
ret
.globl _ffi_test_33
_ffi_test_33:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movss 8(%ebp), %xmm1
movss 12(%ebp), %xmm0
addss %xmm0, %xmm1
cvtsi2ss 16(%ebp), %xmm0
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
leave
ret
.globl _ffi_test_34
_ffi_test_34:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movss 8(%ebp), %xmm1
movl 12(%ebp), %eax
cvtsi2ss %eax, %xmm0
addss %xmm0, %xmm1
cvtsi2ss 16(%ebp), %xmm0
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
leave
ret
.globl _ffi_test_35
_ffi_test_35:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %edx
movl 12(%ebp), %eax
leal (%edx,%eax), %eax
imull 16(%ebp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
leave
ret
.globl _ffi_test_36
_ffi_test_36:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movsd 12(%ebp), %xmm0
movsd %xmm0, -16(%ebp)
fldl -16(%ebp)
leave
ret
.lcomm _global_var.12587,4,2
.cstring
LC22:
.ascii "ffi_test_37\0"
LC23:
.ascii "global_var is %d\12\0"
.text
.globl _ffi_test_37
_ffi_test_37:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L99
"L00000000020$pb":
L99:
popl %ebx
leal LC22-"L00000000020$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl (%eax), %edx
movl %edx, %eax
addl %eax, %eax
leal (%eax,%edx), %ecx
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl (%eax), %eax
leal (%eax,%eax), %edx
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl (%eax), %eax
movl %ecx, 8(%esp)
movl %edx, 4(%esp)
movl %eax, (%esp)
movl 8(%ebp), %eax
call *%eax
movl %eax, %edx
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl %edx, (%eax)
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl (%eax), %eax
movl %eax, 4(%esp)
leal LC23-"L00000000020$pb"(%ebx), %eax
movl %eax, (%esp)
call L_printf$stub
leal _global_var.12587-"L00000000020$pb"(%ebx), %eax
movl (%eax), %eax
addl $20, %esp
popl %ebx
leave
ret
.comm _our_exception_port,4,2
.comm _userenv,256,5
.comm _T,4,2
.comm _stack_chain,4,2
.comm _ds_size,4,2
.comm _rs_size,4,2
.comm _stage2,1,0
.comm _profiling_p,1,0
.comm _signal_number,4,2
.comm _signal_fault_addr,4,2
.comm _signal_callstack_top,4,2
.comm _secure_gc,1,0
.comm _data_heap,4,2
.comm _cards_offset,4,2
.comm _newspace,4,2
.comm _nursery,4,2
.comm _gc_time,8,3
.comm _nursery_collections,4,2
.comm _aging_collections,4,2
.comm _cards_scanned,4,2
.comm _performing_gc,1,0
.comm _collecting_gen,4,2
.comm _collecting_aging_again,1,0
.comm _last_code_heap_scan,4,2
.comm _growing_data_heap,1,0
.comm _old_data_heap,4,2
.comm _gc_jmp,72,5
.comm _heap_scan_ptr,4,2
.comm _gc_off,1,0
.comm _gc_locals_region,4,2
.comm _gc_locals,4,2
.comm _extra_roots_region,4,2
.comm _extra_roots,4,2
.comm _bignum_zero,4,2
.comm _bignum_pos_one,4,2
.comm _bignum_neg_one,4,2
.comm _code_heap,8,2
.comm _data_relocation_base,4,2
.comm _code_relocation_base,4,2
.comm _posix_argc,4,2
.comm _posix_argv,4,2
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
L___divdi3$stub:
.indirect_symbol ___divdi3
hlt ; hlt ; hlt ; hlt ; hlt
L_printf$stub:
.indirect_symbol _printf
hlt ; hlt ; hlt ; hlt ; hlt
L_puts$stub:
.indirect_symbol _puts
hlt ; hlt ; hlt ; hlt ; hlt
L_strcmp$stub:
.indirect_symbol _strcmp
hlt ; hlt ; hlt ; hlt ; hlt
.subsections_via_symbols