[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