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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*, i?86-*-*
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |lto
   Last reconfirmed|                            |2016-10-05
          Component|lto                         |target
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org,
                   |                            |uros at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |5.4.0, 6.2.0

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
the lto_opts section still contains -mavx and -msse2 for the respective objects
which are passed down at link time.  It looks like the
DECL_FUNCTION_SPECIFIC_TARGET node free-lang-data (is supposed to) installs
doesn't "undo" -mavx fully.  I suppose the ix86_sse2avx flag is to handle this.

Confirmed for GCC 5 and GCC 6.

Breakpoint 1, ix86_function_specific_restore (opts=0x2440b80 <global_options>, 
    ptr=0x7ffff6a6cbd0)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/config/i386/i386.c:5748
warning: Source file is more recent than executable.
5748      int i;
Missing separate debuginfos, use: zypper install
libgmp10-debuginfo-6.0.0-71.1.x86_64 libisl15-debuginfo-0.16.1-0.x86_64
libmpc3-debuginfo-1.0.2-38.2.x86_64 libmpfr4-debuginfo-3.1.2-3.1.2.x86_64
(gdb) p opts->x_ix86_sse2avx
$1 = 0
(gdb) p ptr->x_ix86_sse2avx
$2 = 0
(gdb) p cfun
$3 = (function *) 0x7ffff6a702a0
(gdb) p debug_generic_expr (cfun->decl)
my_simd_func_avx

so I may be mistaken.  Not sure how saving/restoring of flags like -mavx or
-msse2 is supposed to work.

Reply via email to