diff --git a/.gitignore b/.gitignore index f2cf3de119..290f075aae 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ _darcs *.obj *.o +*.s *.exe Factor/factor *.a diff --git a/vm/ffi_test.s b/vm/ffi_test.s deleted file mode 100644 index ad02e0e74f..0000000000 --- a/vm/ffi_test.s +++ /dev/null @@ -1,1163 +0,0 @@ - .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