Commit Graph

30 Commits

Author SHA1 Message Date
Erik de Castro Lopo
c2747bec1c lpc_asm.nasm : More 'mov cl' -> 'mov ecx' fixes.
According to Agner Fog in optimizing_assembly.pdf:

  "... write to a partial register may result in false dependencies
   between instructions, so it is better to avoid it."

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-01-18 07:55:19 +11:00
Erik de Castro Lopo
7e9278934e libFLAC : Add asm versions for two _wide() functions.
GCC generates slow ia32 code for FLAC__lpc_restore_signal_wide() and
FLAC__lpc_compute_residual_from_qlp_coefficients_wide() so 24-bit
encoding/decoding is slower for GCC compile than for MSVS or ICC
compile. This patch adds ia32 asm versions of these functions.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-01-07 21:35:08 +11:00
Erik de Castro Lopo
8e4a45ac86 libFLAC/ia32/lpc_asm.nasm : Match calls and returns.
According to Agner Fog, "...you must make sure that all calls
are matched with returns. Never jump out of a subroutine without
a return and never use a return as an indirect jump."

(see paragraph 3.15 in microarchitecture.pdf and
examples 3.5a and 3.5b in optimizing_assembly.pdf)

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-01-07 21:27:09 +11:00
Erik de Castro Lopo
deb209906c Add ASM function FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16.
For the 32 bit x86 ASM functions there were already versions of this
function for lags (N = 4, 8, 12). They require lpc_order less than N.
The best compression preset (flac -8) uses lpc_order up to 12; it
means that during encoding FLAC also uses unaccelerated C function.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-08-31 13:53:37 +10:00
Erik de Castro Lopo
3cea079a2f Fix a couple of NASM warnings.
Suggested by Ozkan Sezer <sezeroz@gmail.com>.
2013-08-13 19:30:24 +10:00
Erik de Castro Lopo
b1982fbc5f Set version to 1.3.0 and update coyprights throughout. 2013-05-26 19:17:53 +10:00
Miroslav Lichvar
7edf67769f Remove old GNU-stack sections from nasm files.
They are not needed since the section is defined in nasm.h.
2012-12-04 17:43:49 +11:00
Josh Coalson
dea0f5a044 add 2009 copyright 2009-01-07 07:31:28 +00:00
Josh Coalson
82b128050e update copyright for 2008 2008-02-28 05:34:21 +00:00
Josh Coalson
be5e19b964 minor comments 2007-03-22 03:13:11 +00:00
Josh Coalson
1b44f7ecfa minor comments 2007-03-13 06:35:03 +00:00
Josh Coalson
e74bd9516c add 2007 copyright 2007-02-02 06:58:19 +00:00
Josh Coalson
089566719c patch sf#1580550 noexec stack: http://sourceforge.net/tracker/index.php?func=detail&aid=1580550&group_id=13478&atid=313478 2006-11-10 07:20:15 +00:00
Josh Coalson
0395dac13f add 2206 to copyright notice 2006-04-25 06:59:33 +00:00
Josh Coalson
7446e18663 fix ANSI C violation w.r.t. const arrays 2005-01-26 04:04:38 +00:00
Josh Coalson
a78fac662c add 2005 to copyright notices 2005-01-25 04:17:55 +00:00
Josh Coalson
9564390fb9 update copyright to 2004 2004-01-17 04:14:43 +00:00
Josh Coalson
afd8107872 change license verbiage to Xiph's 2003-01-31 23:34:56 +00:00
Josh Coalson
afae69f0e3 Add 2003 to copyright notice 2003-01-02 07:03:16 +00:00
Josh Coalson
59d8450290 patch from Miroslav 2002-12-30 02:33:19 +00:00
Josh Coalson
1152f9fe26 update copyright date to include 2002 2002-01-26 18:05:12 +00:00
Josh Coalson
651d6de93a check in Miroslav's PIC patch 2001-12-04 05:36:09 +00:00
Josh Coalson
a52270e0eb fix bug in SSE routines 2001-07-18 00:23:40 +00:00
Josh Coalson
f5925df599 add 3DNOW stuff from Miroslav 2001-07-16 21:13:19 +00:00
Josh Coalson
f01dadd386 add comments 2001-07-16 18:03:16 +00:00
Josh Coalson
e0a0668347 add warnings about implicit assumptions in some routines 2001-07-12 21:23:31 +00:00
Josh Coalson
77e3f319a5 revamp the ordinal types 2001-06-23 03:03:24 +00:00
Josh Coalson
cd66fc0786 minor formatting changes 2001-06-18 02:34:09 +00:00
Josh Coalson
e6499bdf18 rename i386 to ia32 everywhere 2001-06-13 18:11:25 +00:00
Josh Coalson
9a7b5e2d80 move from ../i386 2001-06-13 18:03:09 +00:00