Opened 20 years ago

Closed 20 years ago

Last modified 20 years ago

#32 closed defect (fixed)

popl/pop on amd64 with gcc-3.34

Reported by: ocordes@… Owned by: alex@…
Priority: normal Component: core
Version: unspecified Severity: minor
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Hi!

In preparation to port the i386 assembler code to amd64 I found some compile
errors. popl is not working on amd64 gcc-3.3.4. Instead of popl pop is working
on i386 as well.

I added a patch which correct this for cputest.c.

Are ther any plans to port the code to amd64. If not I want to spend some time
on porting this code. mplayer without an assmebler speedups is very slow on
amd64 machines :-(

Oliver

---snipp ----

diff -ur mplayer-1.0-pre5.orig/libavcodec/i386/cputest.c
mplayer-1.0-pre5/libavcodec/i386/cputest.c
--- mplayer-1.0-pre5.orig/libavcodec/i386/cputest.c 2004-07-20
11:54:30.402057934 +0200
+++ mplayer-1.0-pre5/libavcodec/i386/cputest.c 2004-07-20 11:55:19.770849905 +0200
@@ -24,7 +24,7 @@

/* See if CPUID instruction is supported ... */
/* ... Get copies of EFLAGS into eax and ecx */
"pushf\n\t"

  • "popl %0\n\t"

+ "pop %0\n\t"

"movl %0, %1\n\t"

/* ... Toggle the ID bit in one copy and store */

@@ -35,7 +35,7 @@

/* ... Get the (hopefully modified) EFLAGS */
"pushf\n\t"

  • "popl %0\n\t"

+ "pop %0\n\t"

: "=a" (eax), "=c" (ecx)
:
: "cc"

Change History (2)

comment:1 by Dominik 'Rathann' Mierzejewski, 20 years ago

I might do it someday. For now I have a patch in my local tree that makes
MPlayer compile as 32bit app, so all assembler parts get compiled as usual. I
still have linking problems with X11 libs, but this is minor.

comment:2 by reimar, 20 years ago

Resolution: fixed
Status: newclosed

MPlayer should compile on AMD64 now (at least most parts).

Note: See TracTickets for help on using tickets.