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

            Bug ID: 117319
           Summary: ICE: in copy_to_mode_reg, at explow.cc:657 with -msm4
                    -mno-xsave and __builtin_ia32_vsm4key4256()
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 59462
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59462&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -msm4 -mno-xsave testcase.c
testcase.c: In function 'foo':
testcase.c:5:1: warning: AVX vector return without AVX enabled changes the ABI
[-Wpsabi]
    5 | {
      | ^
testcase.c:4:1: note: the ABI for passing parameters with 32-byte alignment has
changed in GCC 4.6
    4 | foo(V v)
      | ^~~
testcase.c:4:1: warning: AVX vector argument without AVX enabled changes the
ABI [-Wpsabi]
during RTL pass: expand
testcase.c:6:10: internal compiler error: in copy_to_mode_reg, at explow.cc:657
    6 |   return __builtin_ia32_vsm4key4256(v, v);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x2da44be internal_error(char const*, ...)
        /repo/gcc-trunk/gcc/diagnostic-global-context.cc:518
0xe81f93 fancy_abort(char const*, int, char const*)
        /repo/gcc-trunk/gcc/diagnostic.cc:1580
0x786dbc copy_to_mode_reg(machine_mode, rtx_def*)
        /repo/gcc-trunk/gcc/explow.cc:657
0x1b51eda ix86_expand_binop_builtin
        /repo/gcc-trunk/gcc/config/i386/i386-expand.cc:10434
0x118aad0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /repo/gcc-trunk/gcc/expr.cc:12402
0x119953c store_expr(tree_node*, rtx_def*, int, bool, bool)
        /repo/gcc-trunk/gcc/expr.cc:6767
0x119c1ff expand_assignment(tree_node*, tree_node*, bool)
        /repo/gcc-trunk/gcc/expr.cc:6488
0x119c1ff expand_assignment(tree_node*, tree_node*, bool)
        /repo/gcc-trunk/gcc/expr.cc:5976
0x104567b expand_call_stmt
        /repo/gcc-trunk/gcc/cfgexpand.cc:2895
0x104567b expand_gimple_stmt_1
        /repo/gcc-trunk/gcc/cfgexpand.cc:3964
0x104567b expand_gimple_stmt
        /repo/gcc-trunk/gcc/cfgexpand.cc:4106
0x1046a8f expand_gimple_basic_block
        /repo/gcc-trunk/gcc/cfgexpand.cc:6162
0x1049136 execute
        /repo/gcc-trunk/gcc/cfgexpand.cc:6901
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.


$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r15-4700-202410270017288ee29886-checking-yes-rtl-df-extra-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --enable-libsanitizer
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r15-4700-202410270017288ee29886-checking-yes-rtl-df-extra-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.0 20241027 (experimental) (GCC)

Reply via email to