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

            Bug ID: 127304
           Summary: std::simd with -flto causes ICE
           Product: gcc
           Version: 16.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: invisparent at outlook dot com
  Target Milestone: ---

Consider this code piece:

#include <simd>
float f(const std::simd::vec<float, 16> &v) {
    return std::simd::reduce(v);
}

Compiling it with gcc-16.2.0 on Windows, it leads to an internal compiler
error:

====================[ Build | Cpp26QuickStart | Release
]=======================
"C:\Program Files\JetBrains\CLion\bin\cmake\win\x64\bin\cmake.exe" --build
C:\IVS\Proj\Cpp26QuickStart\cmake-build-release --target Cpp26QuickStart -j 30
[1/4] Scanning C:/IVS/Proj/Cpp26QuickStart/main.cpp for CXX dependencies
[2/4] Generating CXX dyndep file CMakeFiles/Cpp26QuickStart.dir/CXX.dd
[3/4] Building CXX object CMakeFiles/Cpp26QuickStart.dir/main.cpp.obj
FAILED: [code=1] CMakeFiles/Cpp26QuickStart.dir/main.cpp.obj 
V:\app\gcc-16.2\bin\c++.exe   -flto -std=gnu++26 -fdiagnostics-color=always -MD
-MT CMakeFiles/Cpp26QuickStart.dir/main.cpp.obj -MF
CMakeFiles\Cpp26QuickStart.dir\main.cpp.obj.d -fmodules-ts
-fmodule-mapper=CMakeFiles\Cpp26QuickStart.dir\main.cpp.obj.modmap -MD
-fdeps-format=p1689r5 -x c++ -o CMakeFiles/Cpp26QuickStart.dir/main.cpp.obj -c
C:/IVS/Proj/Cpp26QuickStart/main.cpp
during IPA pass: modref
C:/IVS/Proj/Cpp26QuickStart/main.cpp:5:1: internal compiler error: tree code
'decltype_type' is not supported in LTO streams
    5 | }
      | ^
0x41b49bbc internal_error(char const*, ...)
        ../../../../src/gcc/gcc/diagnostic-global-context.cc:787
0x40703766 lto_write_tree
        ../../../../src/gcc/gcc/lto-streamer-out.cc:560
0x40703766 lto_output_tree_1
        ../../../../src/gcc/gcc/lto-streamer-out.cc:598
0x4070adb7 DFS::DFS(output_block*, tree_node*, bool, bool, bool)
        ../../../../src/gcc/gcc/lto-streamer-out.cc:898
0x4070be99 lto_output_tree(output_block*, tree_node*, bool, bool)
        ../../../../src/gcc/gcc/lto-streamer-out.cc:1887
0x4070319d write_global_stream
        ../../../../src/gcc/gcc/lto-streamer-out.cc:2956
0x4070f199 lto_output_decl_state_streams(output_block*, lto_out_decl_state*)
        ../../../../src/gcc/gcc/lto-streamer-out.cc:3003
0x4070f199 produce_asm_for_decls()
        ../../../../src/gcc/gcc/lto-streamer-out.cc:3427
0x407a5e4a write_lto
        ../../../../src/gcc/gcc/passes.cc:2796
0x407a5e4a ipa_write_summaries_1
        ../../../../src/gcc/gcc/passes.cc:2859
0x407a5e4a ipa_write_summaries()
        ../../../../src/gcc/gcc/passes.cc:2919
0x403c2c84 ipa_passes
        ../../../../src/gcc/gcc/cgraphunit.cc:2292
0x403c2c84 symbol_table::compile()
        ../../../../src/gcc/gcc/cgraphunit.cc:2367
0x403c5215 symbol_table::compile()
        ../../../../src/gcc/gcc/cgraphunit.cc:2348
0x403c5215 symbol_table::finalize_compilation_unit()
        ../../../../src/gcc/gcc/cgraphunit.cc:2626
V:/app/gcc-16.2/bin/../libexec/gcc/x86_64-w64-mingw32/16.2.0/cc1plus.exe -quiet
-iprefix V:/app/gcc-16.2/bin/../lib/gcc/x86_64-w64-mingw32/16.2.0/ -MD
CMakeFiles/Cpp26QuickStart.dir/main.cpp.d -MF
CMakeFiles\Cpp26QuickStart.dir\main.cpp.obj.d -MT
CMakeFiles/Cpp26QuickStart.dir/main.cpp.obj -U_REENTRANT
C:/IVS/Proj/Cpp26QuickStart/main.cpp
-fdeps-file=CMakeFiles/Cpp26QuickStart.dir/main.cpp.ddi
-fdeps-target=CMakeFiles/Cpp26QuickStart.dir/main.cpp.o -quiet -dumpdir
CMakeFiles/Cpp26QuickStart.dir/ -dumpbase main.cpp.cpp -dumpbase-ext .cpp
-mtune=generic -march=x86-64 -std=gnu++26 -fdiagnostics-color=always -flto
-fmodules -fmodule-mapper=CMakeFiles\Cpp26QuickStart.dir\main.cpp.obj.modmap
-fdeps-format=p1689r5 -o C:\Users\INVISP~1\AppData\Local\Temp\ccBXSWsE.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
ninja: build stopped: subcommand failed.

Reply via email to