Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 83651 - media-sound/xmms-1.2.10-r13 doesn't use SIMD extension on amd64
Summary: media-sound/xmms-1.2.10-r13 doesn't use SIMD extension on amd64
Status: RESOLVED LATER
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High minor (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 84488
  Show dependency tree
 
Reported: 2005-03-01 02:37 UTC by Roland Bär
Modified: 2005-08-10 08:44 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
xmms-1.2.10-r13.ebuild.diff (xmms-1.2.10-r13.ebuild.diff,352 bytes, patch)
2005-03-01 02:38 UTC, Roland Bär
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roland Bär 2005-03-01 02:37:34 UTC
The SIMD extensions are hard disabled for amd64.


Reproducible: Always
Steps to Reproduce:





Portage 2.0.51-r15 (default-linux/amd64/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.10-gentoo-r6 x86_64 Mobile AMD Athlon 64 Processor 2800+
Gentoo Base System version 1.5.3
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  7 2005, 09:47:43)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.9.4, 1.8.5-r3, 1.4_p6, 1.6.3, 1.5, 1.7.9-r1
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="de_DE"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X aac aalib accessibility acpi alsa audiofile bash-completion berkdb
bitmap-fonts blender-game bluetooth bonobo bzlib c++ cairo cddb cdparanoia cdr
cgi cjk cross crypt cups curl directfb divx4linux doc dri dvd dvdr dvdread edl
emacs emacs-w3 encode esd ethereal ex f77 fam fbcon fftw flac flash flatfile
font-server fortran ftp gd gdbm gif ginac glx gmp gnome gphoto2 gpm gstreamer
gtk gtk2 gtkhtml imagemagick imap imlib insecure-drivers ipv6 java javascript
jp2 jpeg kde lcms leim libwww lirc lzw lzw-tiff mad mbox mikmod mime mng motif
mozilla mpi mule multilib mysql ncurses nls offensive oggvorbis opengl oss pam
pcntl pcre perl php png pnp ppds python qt readline recode samba scanner sdk sdl
sharedmem simplexml slang ssl svg sysvipc tcltk tcpd tetex theora tiff tokenizer
truetype truetype-fonts type1-fonts unicode usb userlocales v4l v4l2 vhosts
videos wmf xfs xine xinerama xml xml2 xmms xosd xpm xprint xrandr xv xvid xvmc
yv12 zlib video_cards_radeon linguas_en linguas_de"
Unset:  ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Comment 1 Roland Bär 2005-03-01 02:39:00 UTC
Created attachment 52364 [details, diff]
xmms-1.2.10-r13.ebuild.diff

Please apply attached patch to xmms-1.2.10-r13.ebuild
This works....
Comment 2 Danny van Dyk (RETIRED) gentoo-dev 2005-03-17 03:04:18 UTC
Hi Roland,

please have a look at [xmms-workdir]/Input/mpg123/Makefile.am:

if ARCH_X86
if USE_X86ASM
if USE_SIMD
EXTRA_SRC = decode_i386.c dct64_i386.c decode_i586.s \
            decode_3dnow.s dct64_3dnow.s dct36_3dnow.s getcpuflags.s \
            dct64_MMX.s decode_MMX.s
else
EXTRA_SRC = decode_i386.c dct64_i386.c decode_i586.s
endif

You see, even if you enable SIMD in that ebuild, it doesn't get used.

Now have a look at dct64_3dnow.s (fex). You will see plenty of x86 SIMD
assembler, but not one line of x86-64 SIMD assembler. If you overwrite
the tests, you'd get an assembler error.

I resolve this one as INVALID because I'm interested in rewriting x86 asm
to x86-64 asm. Assigning to AMD64 team...
Comment 3 Danny van Dyk (RETIRED) gentoo-dev 2005-03-17 06:13:57 UTC
s/I resolve/I don't resolve/ :-/ Should learn how to write...
Comment 4 Simon Stelling (RETIRED) gentoo-dev 2005-04-09 02:40:35 UTC
Comment on attachment 52364 [details, diff]
xmms-1.2.10-r13.ebuild.diff

see comment 2
Comment 5 Simon Stelling (RETIRED) gentoo-dev 2005-06-21 10:59:52 UTC
Danny, still interested in rewriting x86 asm to x86-64 asm? Otherwise I'd
suggest we close this one
Comment 6 Tres 'RiverRat' Melton 2005-07-10 20:24:02 UTC
This is not an entirely trivial process.  I did it for the image shading
routines in Eterm by porting
http://cvs.sourceforge.net/viewcvs.py/enlightenment/eterm/Eterm/src/mmx_cmod.S?rev=1.7&view=auto
to
http://cvs.sourceforge.net/viewcvs.py/enlightenment/eterm/Eterm/src/sse2_cmod.c?rev=1.1&view=auto

If you are interested may I suggest using this piece of code:
http://cvs.sourceforge.net/viewcvs.py/enlightenment/e17/libs/evas/src/lib/include/evas_mmx.h?rev=1.5&view=auto
Written by H. Dietz and R. Fisher and now part of E-17.  It appears that the
MMX/SSE code is now generic enough to be used on both x86 and x86-64 processors.
I would have used that code had I known it was there prior to my porting Eterm's
code.  Just a thought.
Comment 7 Simon Stelling (RETIRED) gentoo-dev 2005-08-10 08:44:54 UTC
looks like kugelfang has other things to do ;)
closing for now, everybody feel free to reopen with a patch