News:CPU FLAGS X86

Revision as of 08:59, January 31, 2015 by Mgorny (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

CPU FLAGS X86

CPU_FLAGS_X86 are being introduced to group together USE flags managing CPU instruction sets.

By Mgorny / January 31, 2015

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:

$ 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:

# emerge -1v app-portage/cpuinfo2cpuflags
$ 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.

blog comments powered by Disqus