[MPlayer-dev-eng] [PATCH] x86_64 mmx/sse/3dnow optimisation support

Aurelien Jacobs aurel at gnuage.org
Tue Oct 12 00:38:34 CEST 2004


Hi,

I've just ported most of the i386 asm optimizations to the x86_64 arch.
In fact, all the mmx/sse/3dnow instructions ar fully compatible.
The only thing to take care of is the 64 bits addressing.

Summary of the changes I made :
- Replace lots of eax with REG_a which is defined as eax in 32 bits
  mode and as rax in 64 bits mode.
- Replace lots of addl/movl/... by add/mov/... so that 'as' get the
  right operand length itself.
- Cast many int to long, to have 64 bits registers on x86_64.
- Add a better check for x86_64 target in configure (`uname -m`=x86_64
  don't mean that the compiler will produce 64 bits code !)

The code is tested on x86 and x86_64, with gcc 3.3.4 and 2.95.4.
It requires a fresh libavcodec CVS version.

I will work on external libs (libmpeg2, libfaad2...) optization later.

Aurel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPlayer-x86_64.diff.bz2
Type: application/octet-stream
Size: 18343 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20041012/040db573/attachment.obj>


More information about the MPlayer-dev-eng mailing list