[Top][All Lists]

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

[Bug gas/6957] New: i386 NOPs must be derived from march not mtune

From: swanson at ukfsn dot org
Subject: [Bug gas/6957] New: i386 NOPs must be derived from march not mtune
Date: 11 Oct 2008 14:25:04 -0000

As recently discussed on the Linux kernel mailing list, in gas the semantics for
choosing the i386 NOP sequence are incorrect and will cause unexpected failures.
They should chosen depending on march where new instructions can be used and not
mtune where new instructions must not be used.


There is also another related issue with i686 class CPUs. Some do not actually
support the NOPL instruction. Examples include Via C3, Via Eden, AMD Geode LX
(as used in OLPC), Transmeta Crusoe and it appears broken on Virtual PC.
Changing i686 to use f32_patt instead alt_long_patt allows binaries created with
-march=i686 to run on all i686 class CPUs with only a minor optimization loss
versus the gain from CMOV optimisation.

The attached patch corrects both these issues.

           Summary: i386 NOPs must be derived from march not mtune
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: swanson at ukfsn dot org
                CC: bug-binutils at gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

reply via email to

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