https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88250

            Bug ID: 88250
           Summary: -flto doesn't preserve -Wa options
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

[hjl@gnu-cfl-1 pr23929]$ cat y.c
float
foo (float x, float y)
{
  return y;
}
[hjl@gnu-cfl-1 pr23929]$ gcc -c y.c -Wa,-msse2avx
[hjl@gnu-cfl-1 pr23929]$ gcc -shared y.o
[hjl@gnu-cfl-1 pr23929]$ objdump --disassemble=foo a.out 

a.out:     file format elf64-x86-64


Disassembly of section .init:

Disassembly of section .plt:

Disassembly of section .plt.got:

Disassembly of section .text:

00000000000010f9 <foo>:
    10f9:       55                      push   %rbp
    10fa:       48 89 e5                mov    %rsp,%rbp
    10fd:       c5 fa 11 45 fc          vmovss %xmm0,-0x4(%rbp)
    1102:       c5 fa 11 4d f8          vmovss %xmm1,-0x8(%rbp)
    1107:       c5 fa 10 45 f8          vmovss -0x8(%rbp),%xmm0
    110c:       5d                      pop    %rbp
    110d:       c3                      retq   

Disassembly of section .fini:
[hjl@gnu-cfl-1 pr23929]$ gcc -c y.c -Wa,-msse2avx -flto
[hjl@gnu-cfl-1 pr23929]$ gcc -shared y.o -Wa,-msse2avx
[hjl@gnu-cfl-1 pr23929]$ objdump --disassemble=foo a.out 

a.out:     file format elf64-x86-64


Disassembly of section .init:

Disassembly of section .plt:

Disassembly of section .plt.got:

Disassembly of section .text:

00000000000010f9 <foo>:
    10f9:       55                      push   %rbp
    10fa:       48 89 e5                mov    %rsp,%rbp
    10fd:       f3 0f 11 45 fc          movss  %xmm0,-0x4(%rbp)
    1102:       f3 0f 11 4d f8          movss  %xmm1,-0x8(%rbp)
    1107:       f3 0f 10 45 f8          movss  -0x8(%rbp),%xmm0
    110c:       5d                      pop    %rbp
    110d:       c3                      retq   

Disassembly of section .fini:
[hjl@gnu-cfl-1 pr23929]$ 

-msse2avx is never passed to assembler with -flto.

Reply via email to