2 / synth_1to1 works the same way as the c version of this
3 / file. only two types of changes have been made:
4 / - reordered floating point instructions to
5 / prevent pipline stalls
6 / - made WRITE_SAMPLE use integer instead of
7 / (slower) floating point
8 / all kinds of x86 processors should benefit from these
11 / useful sources of information on optimizing x86 code include:
13 / Intel Architecture Optimization Manual
14 / http://www.intel.com/design/pentium/manuals/242816.htm
16 / Cyrix 6x86 Instruction Set Summary
17 / ftp://ftp.cyrix.com/6x86/6x-dbch6.pdf
19 / AMD-K5 Processor Software Development
20 / http://www.amd.com/products/cpg/techdocs/appnotes/20007e.pdf
22 / Stefan Bieschewski <stb@acm.org>
24 / $Id: decode_i586_.s,v 1.1 1998/10/30 03:11:52 mycroft Exp $
41 .globl _synth_1to1_pent
69 leal (%ebx,%edx,4),%eax
74 leal 1088(,%eax,4),%eax
82 leal 1092(%ecx,%ebp,4),%eax
84 leal (%ecx,%ebp,4),%eax
168 1: movw $32767,(%esi)
170 2: movw $-32768,(%esi)
218 1: movw $32767,(%esi)
220 2: movw $-32768,(%esi)
227 leal -128(%ecx,%edx,8),%ecx
303 1: movw $32767,(%esi)
305 2: movw $-32768,(%esi)