When I try to emerge mythtv I get errors gcc -c -pipe -w -march=athlon-xp -O3 -pipe -msse -mmmx -m3dnow -momit-leaf-frame- pointer -fomit-frame-pointer -ftracer -ffast-math -fprefetch-loop-arrays -finline -limit=600 -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSE T_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_GNU_SOURCE -D_FILE_O FFSET_BITS=64 -DPREFIX=\"/usr\" -DCONFIG_VIDEO4LINUX -DUSING_IVTV -DUSING_OSS -DU SING_OPENGL_VSYNC -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o bit_allocate.o liba52/bit_allocate.c libpostproc/postprocess_template.c: In function `postProcess_MMX': libpostproc/postprocess_template.c:3169: error: can't find a register in class `G ENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3169: error: can't find a register in class `G ENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3252: error: can't find a register in class `G ENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3252: error: can't find a register in class `G ENERAL_REGS' while reloading `asm' make: *** [postprocess.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/var/tmp/portage/mythtv-0.16/work/mythtv-0.16/libs/libav codec' Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r9 i686) ================================================================= System uname: 2.6.9-gentoo-r9 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.6.6 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 2 2004, 06:38:44)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r5 sys-devel/automake: 1.8.5-r1 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.2-r7 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -msse -mmmx -m3dnow -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -ffast-math -fprefetch-loop-arrays -finline-limit=600" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -msse -mmmx -m3dnow -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -ffast-math -fprefetch-loop-arrays -finline-limit=600" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X aalib acpi alsa apache2 apm audiofile avi berkdb bitmap-fonts bzlib cdr cpdflib crypt divx4linux dvd dvdr encode esd f77 fam fbcon flac foomaticdb fortran gd gd-external gdbm gif gpm gtk gtk2 guile icq imlib java jpeg libg++ libwww mad maildir memlimit mikmod mime motif mozilla mpeg mysql ncurses nls nptl oggvorbis openal opengl oss pam pdflib perl php png posix pygtk python qt quicktime readline samba sdl slang spell ssl svga tcltk tcpd tiff truetype unicode usb x86 xface xml2 xmms xosd xpm xv xvid zlib"
Could you try to omit the -msse option and perhaps other optimize-flags given to gcc?
Try -O2 rather then -O3. Lemme know if that works cause then its an issue on athlon XPs too. There's problems with optimizations in libavcodec's code.
Isaac (mythtv author) told me that code has some very carefully hand-crafted mmx code that will break in anything higher than -O2. Overoptimise at your own risk...
I'm closing this out to because it's 100% a -O3 issue. I've seen this over and over and over again as an -O3 issue that as soon as its dropped to -O2 it goes away.