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").

Reply via email to