http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45359
--- Comment #3 from Dzianis Kahanovich <mahatma at eu dot by> 2010-11-01 13:21:40 UTC --- Created attachment 22220 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22220 native VIA/CentaurHauls (In reply to comment #1) > Why do you think it's a poor choice? This is regression after PR target/44046. Previous behaviour was: sse3 -> "-march=prescott -mtune=generic", now: sse3 -> "-march=pentium-m -mtune=generic". This regression lose sse3 support for C-7 CPU. But in other point, "prescott" as family-15 member, may be (or not) else scheduled, then family-6 clone... Other source of problem - VIA/Centaur CPUs detecting as "Intel" vendor. I believe, Intel support have own reason to make choice sse3 -> pentium-m and lose this sse3, then I suggest to forget this behaviour and add native VIA/CentaurHauls support code. There are 3 point of detection: 1) vendor signature; 2) cache detection: according to Linux kernel code, "detect_caches_amd" behaviour is not vendor-specific and used in kernel also for any x86_64, VIA/Centaur, Transmeta and Cyrix family-5/model-5, but I have no exotic CPUs exclude VIA C-7 in my notebook to test other vendors; 3) model detection - C-7 will be "-march=prescott -mtune=core2" (FIXME if pure "prescott" is better!), also may be fixed c3-2 -mtune=c3 selection (Gentoo Wiki suggest -mtune=generic or -march=c3 to avoid NOPL for some models, but I try to not use variable "generic").