The mmx, mmx2, sse, sse2, 3dnow and 3dnowext flags are masked in /usr/portage/profiles/default-linux/use.mask, but never unmasked in amd64 profiles even though the processor supports the instruction sets. I have unmasked the flags manually and have used the 3dnow, sse and mmx for xorg-x11 and rss-glx with no problems so far. And since unmasking them doesn't enable them by default, it would seem to be fairly safe. Reproducible: Always Steps to Reproduce: 1. egrep '(mmx|sse|3dnow)' /usr/portage/profiles/default-linux/amd64/use.mask 2. egrep '(mmx|sse|3dnow)' /usr/portage/profiles/default-linux/amd64/2005.1/use.mask Actual Results: null0 ~ # egrep '(mmx|sse|3dnow)' /usr/portage/profiles/default-linux/amd64/use.mask null0 ~ # egrep '(mmx|sse|3dnow)' /usr/portage/profiles/default-linux/amd64/2005.1/use.mask null0 ~ # Expected Results: use.mask for amd64 profiles should include: -mmx -mmx2 -sse -sse2 -3dnow -3dnowext null0 ~ # emerge info Portage 2.0.51.22-r2 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r9 x86_64) ================================================================= System uname: 2.6.12-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O3 -pipe -ffast-math -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O3 -pipe -ffast-math -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.osuosl.org/" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl alsa amd64 avi bash-completion berkdb bitmap-fonts bzip2 crypt dri eds encode esd fam foomaticdb fortran gif gstreamer gtk gtk2 imagemagick imlib java jpeg lm_sensors lzw lzw-tiff mp3 mpeg ncurses nls opengl pam pcre pdflib perl png python qt quicktime readline sdl spell ssl tiff truetype truetype-fonts type1-fonts usb userlocales xinerama xml2 xpm xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
the use flags are enabling x86 assembler optimizations, therefore they're masked. however, assembler optimizations are hard-enabled on amd64, since all cpus support the same flags and there's no good reason for disabling them