News:CPU FLAGS X86

From Funtoo
Revision as of 08:58, January 31, 2015 by Mgorny (talk | contribs) (publish)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

CPU FLAGS X86

Hello, everyone.

The USE flags corresponding to the instruction sets and other features specific to the x86 (including x86-64) architecture are being moved into a separate USE flag group called CPU_FLAGS_X86.

In order not to lose CPU-specific optimizations, users will be required to update their make.conf (and package.use) file. For example, if the following USE flags were present:

   /etc/portage/make.conf - The original make.conf flags
USE="mmx mmxext sse sse2 sse3"

Those flags need to be copied into:

   /etc/portage/make.conf - The new make.conf flags
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"

Please note that the same CPU_FLAGS_X86 variable is used both on 32-bit and 64-bit x86 (amd64) systems.

When in doubt, you can consult the flag descriptions using one of the commonly available tools, e.g. equery uses from gentoolkit:

user $ equery uses media-video/ffmpeg

Most of the flag names match /proc/cpuinfo names, with the notable exception of SSE3 which is called 'pni' in /proc/cpuinfo (please also do not confuse it with distinct SSSE3).

To help users enable the correct USE flags, we are providing a Python script that generates the correct value using /proc/cpuinfo. It can be found in the No results package:

root # emerge -1v app-portage/cpuinfo2cpuflags
user $ cpuinfo2cpuflags-x86

In order to ensure safe migration and maintain compatibility with external repositories, it is recommended to preserve the old USE settings for a period of one year or until no package of interest is still using them.