Bug 180385 - sci-libs/blas-goto emerge fails - No such instruction
Bug#: 180385 Product:  Gentoo Linux Version: unspecified Platform: AMD64
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: sci@gentoo.org Reported By: cshei@cs.indiana.edu
Component: Library
URL: 
Summary: sci-libs/blas-goto emerge fails - No such instruction
Keywords:  
Status Whiteboard: 
Opened: 2007-05-30 19:42 0000
Description:   Opened: 2007-05-30 19:42 0000
assembler lacks "palignr" instruction that blas-goto requires on Core2-based
systems

Reproducible: Always

Actual Results:  
zcopy_sse_core2.S: Assembler messages:
zcopy_sse_core2.S:242: Error: no such instruction: `palignr $4,%xmm0,%xmm1'
zcopy_sse_core2.S:247: Error: no such instruction: `palignr $4,%xmm9,%xmm2'
zcopy_sse_core2.S:252: Error: no such instruction: `palignr $4,%xmm10,%xmm3'
zcopy_sse_core2.S:257: Error: no such instruction: `palignr $4,%xmm11,%xmm4'


Expected Results:  
Correct compilation

------- Comment #1 From Jakub Moc (RETIRED) 2007-05-31 10:53:11 0000 -------
sci-libs/blas-goto version and emerge --info please.

------- Comment #2 From cshei@cs.indiana.edu 2007-05-31 12:49:49 0000 -------
Portage 2.1.2.7 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r2,
2.6.20-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.20-gentoo-r8 x86_64 Intel(R) Xeon(R) CPU           X5365  @
3.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 30 May 2007 13:30:01 +0000
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -msse3 -fomit-frame-pointer -march=nocona -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild
/etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -msse3 -fomit-frame-pointer -march=nocona -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac aalib acl alsa amd64 audiofile bash-completion berkdb bitmap-fonts
bzip2 cairo cdr cjk cli cracklib crypt cups dri dvd dvdr firefox flac fortran
gdbm gnome gpm gstreamer gtk gtkhtml iconv ipv6 isdnlog java jpeg libg++ midi
mmx mng mudflap musepack ncurses nls nptl nptlonly nsplugin opengl openmp pam
pcre perl pppd python readline reflection samba session sndfile spell spl sse
sse2 ssl tcpd tetex threads tiff truetype-fonts type1-fonts unicode xine xorg
xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix
dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter
mulaw multi null plug rate route share shm softvol" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz
cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU"
VIDEO_CARDS="nv nvidia vesa"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS,
LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #3 From cshei@cs.indiana.edu 2007-05-31 12:51:17 0000 -------
(In reply to comment #1)
> sci-libs/blas-goto version and emerge --info please.
> 

blas-goto-1.14, although the same problem occurs with 1.15 when installing it
outside of portage

------- Comment #4 From cshei@cs.indiana.edu 2007-05-31 19:57:24 0000 -------
Added needed info

------- Comment #5 From Markus Dittrich 2007-06-01 13:08:42 0000 -------
Please correct me if I am wrong but AFAIK "palignr" is part of
SSSE3 (note the additional "S") which is not supported
by either gcc-4.1 or gcc-4.2. I believe SSSE3 support will 
be part of gcc-4.3. That said, I am not sure if this piece
of code will compile using gcc in the near future.

cheers,
Markus 

------- Comment #6 From Markus Dittrich 2007-06-01 18:16:31 0000 -------
I thought about this some more and what really matters here I guess
is not gcc but rather gas. That said, I believe that the gas version that 
ships with binutils-2.17 should be able to do these ssse3 instructions. Could
you give this a try (you're currently at binutils-2.16).

Markus

------- Comment #7 From cshei@cs.indiana.edu 2007-06-01 20:27:40 0000 -------
Excellent, success!  binutils-2.17 does indeed work.  Thanks Markus!

------- Comment #8 From Markus Dittrich 2007-06-01 22:36:42 0000 -------
Great! I guess we better put this requirement into DEPEND.

best,
Markus

------- Comment #9 From Markus Dittrich 2007-06-06 13:33:58 0000 -------
I've just added this dependence on binutils-2.17 to the 
blas-goto-1.14 ebuild.


cheers,
Markus