[Bug target/43153] New: Pass -mtune=i686 for -march=i686 or higher

hjl dot tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Feb 23 17:22:00 GMT 2010


i686 or newer processors support multi-byte NOPs, which
is preferred for aligning code:

[hjl@gnu-6 tmp]$ cat a.s
        jmp bar
        mov %eax,%ebx
        mov %eax,%ebx

        .p2align 4
bar:
        mov %eax,%ebx
[hjl@gnu-6 tmp]$ as --32 -o old.o a.s
[hjl@gnu-6 tmp]$ as --32 -mtune=i686 -o new.o a.s
[hjl@gnu-6 tmp]$ objdump -dw old.o

old.o:     file format elf32-i386


Disassembly of section .text:

00000000 <bar-0x10>:
   0:   eb 0e                   jmp    10 <bar>
   2:   89 c3                   mov    %eax,%ebx
   4:   89 c3                   mov    %eax,%ebx
   6:   8d 76 00                lea    0x0(%esi),%esi
   9:   8d bc 27 00 00 00 00    lea    0x0(%edi,%eiz,1),%edi

00000010 <bar>:
  10:   89 c3                   mov    %eax,%ebx
[hjl@gnu-6 tmp]$ objdump -dw new.o

new.o:     file format elf32-i386


Disassembly of section .text:

00000000 <bar-0x10>:
   0:   eb 0e                   jmp    10 <bar>
   2:   89 c3                   mov    %eax,%ebx
   4:   89 c3                   mov    %eax,%ebx
   6:   66 2e 0f 1f 84 00 00 00 00 00   nopw   %cs:0x0(%eax,%eax,1)

00000010 <bar>:
  10:   89 c3                   mov    %eax,%ebx
[hjl@gnu-6 tmp]$ 

-march=i686 or higher should pass -mtune=i686 to assembler
if it is supported.


-- 
           Summary: Pass -mtune=i686 for -march=i686 or higher
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com
GCC target triplet: ii686-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43153



More information about the Gcc-bugs mailing list