autoconf-archive-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch #8514] AX_GCC_ARCHFLAG: rewrite x86 support


From: Tsukasa Oi
Subject: [patch #8514] AX_GCC_ARCHFLAG: rewrite x86 support
Date: Fri, 15 Aug 2014 09:41:47 +0000
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

URL:
  <http://savannah.gnu.org/patch/?8514>

                 Summary: AX_GCC_ARCHFLAG: rewrite x86 support
                 Project: GNU Autoconf Archive
            Submitted by: a4lg
            Submitted on: 2014年08月15日 18時41分46秒
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

`case' patterns and CPUID identification patterns on AX_GCC_ARCHFLAG are quite
old and not robust enough to support future processors.
I decided to rewrite x86 support to make them robust. I used a Python script
to generate robust patterns and verified all processor identification patterns
are "genuine".

Originally, I *planned* to submit this patch by multiple patches (to do the
separate "change" one by one) but I found several fixes have cross
dependencies and "intermediate" versions of macro were nearly unusable
(partially because of "incomplete" fixes and partially because of known issue
on Clang). If this is inappropriate, please comment that.

Anyway, this patch includes several kinds of fixes and additions.
There are following changes.

[CPUID ROBUSTNESS]
* Rewritten CPUID identification (constructed by a script).
* Check EDX/ECX (not only EBX) on vendor identification.

[SIMPLIFICATION]
* Simplify some Intel/AMD processor support (because most compilers merge
support for same/similar microarchitecture, even if they have different brand
names).

[BUG FIXES (except possible issues fixed in CPUID ROBUSTNESS section)]
* Fix 64-bit FreeBSD support.
* Fix support for AMD K6-2+/K6-III+ (because they are K6-3 based, not K6-2
based)
* Fix support for AMD family 11h (some mobile processors based on K8 but
misunderstood as amdfam10)

[PROCESSOR SUPPORT]
* Make all CPUID patterns "evidence-based" (to never mix fallbacks and actual
processors)
* Remove all CPU support which existence of processor could not be confirmed
by official documents.
* Add AMD Piledriver/Steamroller/Jaguar support
* Add Intel Atom (Bonnell/Silvermont) support
* Add Intel Ivy Bridge/Haswell/Broadwell support
* Add support for some Centaur-based processors (some Cyrix III models, some
WinChip models, some VIA C3 models, VIA C7 and later)

[COMPILER SUPPORT]
* Add further compiler support for GCC 4.9/LLVM Clang.

[KNOWN ISSUE]
Clang does not fail if -mtune=[UNKNOWN_PROCESSOR] and/or
-mcpu=[UNKNOWN_PROCESSOR] are specified. We need to fix Clang support later
(by change order of option checking).



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: 2014年08月15日 18時41分46秒  Name:
0001-AX_GCC_ARCHFLAG-rewrite-x86-support.patch  Size: 8kB   By: a4lg

<http://savannah.gnu.org/patch/download.php?file_id=31903>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/patch/?8514>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]