Kernel not recognizing your hardware? Problems with power management or PCMCIA? What hardware is compatible with Gentoo? See here. (Only for kernels supported by Gentoo.)
When I compare the kernel flags to the list of USE flags to see where I might be able to tweak the builds, etc., sometimes I see flags that have similar characteristics such as sse3, sse4, and others like that sort. If I want to enable whatever USE flags would match my kernel flags, if possible, should I put both sse2 and sse3 flags into the '/etc/portage/make.conf' file, or would if be better to put only the highest one of these, like only sse3?
I admit that I'm not expert on the internals; I don't know whether, e.g., SSE3 is intended to mean "the entire SSE3 instruction set" or "the 13 instructions in SSE3 that are not in SSE2," but I'm not sure it matters; keep reading. The standard practice seems to be to use the flags for all of the instruction sets supported by one's CPU in make.conf.
An important note is that these sorts of USE flags are distinct from any related CFLAGS. The latter determines the instructions that GCC will output when building your code. The practice of using USE flags in an ebuild to affect the CFLAGS for a particular package is typically discouraged. These flags are supposed to be used, e.g., when a package can streamline itself by using assembly code to produce particularly fast binaries for some operations. If you have them disabled at build, the package should still run, but just be slower.
Recommended practices aside, it's really sort of up to the package what to do with combinations of these flags. Assuming that the intent is that SSE3 indicates all of SSE3, including the SSE2 subset, one would hope that packages that see the SSE3 USE flag would implement SSE2 code; their authors, after all, are the ones that included both flags. However, a package that might build code using SSE2 might have the SSE2 flag but not the SSE3, in which case it would not realize that your USE="SSE3" is supposed to mean that it should build the SSE2 code.
So, we can see on this system that if I set the sse3 use flag AND NOT the sse2 use flag then only libvpx will be tweaked.
If I want the packages from the first list to make use of the sse2 instruction set, I must explicitly set the sse2 use flag, irrespective of the sse3 use flag settings.
aCOSwt, hello. Your technique is excellent. I like how you can get to the crux of the issue promptly. The 'hasuse' equery is not something I have used much, until now. Thank you for the slick demo too.