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

            Bug ID: 112962
           Summary: [14 Regression] ICE: SIGSEGV in operator()<rtx_def*,
                    rtx_def*> (recog.h:431) with -fexceptions -mssse3 and
                    __builtin_ia32_pabsd128()
           Product: gcc
           Version: 14.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 56850
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56850&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -fexceptions -mssse3 testcase.c -wrapper valgrind,-q
==15604== Jump to the invalid address stated on the next line
==15604==    at 0x0: ???
==15604==    by 0x19A93F0: operator()<rtx_def*, rtx_def*> (recog.h:431)
==15604==    by 0x19A93F0: ix86_expand_args_builtin(builtin_description const*,
tree_node*, rtx_def*) (i386-expand.cc:11848)
==15604==    by 0x10B1BCF: expand_expr_real_1(tree_node*, rtx_def*,
machine_mode, expand_modifier, rtx_def**, bool) (expr.cc:12305)
==15604==    by 0xF73D28: expand_expr (expr.h:313)
==15604==    by 0xF73D28: expand_call_stmt (cfgexpand.cc:2832)
==15604==    by 0xF73D28: expand_gimple_stmt_1 (cfgexpand.cc:3894)
==15604==    by 0xF73D28: expand_gimple_stmt(gimple*) (cfgexpand.cc:4058)
==15604==    by 0xF7A0AE: expand_gimple_basic_block(basic_block_def*, bool)
(cfgexpand.cc:6114)
==15604==    by 0xF7BD87: (anonymous
namespace)::pass_expand::execute(function*) (cfgexpand.cc:6849)
==15604==    by 0x13B774A: execute_one_pass(opt_pass*) (passes.cc:2646)
==15604==    by 0x13B803F: execute_pass_list_1(opt_pass*) (passes.cc:2755)
==15604==    by 0x13B8078: execute_pass_list(function*, opt_pass*)
(passes.cc:2766)
==15604==    by 0xFBCA35: expand (cgraphunit.cc:1842)
==15604==    by 0xFBCA35: cgraph_node::expand() (cgraphunit.cc:1795)
==15604==    by 0xFBD949: output_in_order (cgraphunit.cc:2192)
==15604==    by 0xFBD949: symbol_table::compile() [clone .part.0]
(cgraphunit.cc:2396)
==15604==    by 0xFC08F7: compile (cgraphunit.cc:2312)
==15604==    by 0xFC08F7: symbol_table::finalize_compilation_unit()
(cgraphunit.cc:2584)
==15604==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==15604==
during RTL pass: expand
testcase.c: In function 'foo':
testcase.c:6:3: internal compiler error: Segmentation fault
    6 |   __builtin_ia32_pabsd128 ((V){});
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x14f8def crash_signal
        /repo/gcc-trunk/gcc/toplev.cc:316
0x0 subreg_lowpart_offset(machine_mode, machine_mode)
        /repo/gcc-trunk/gcc/machmode.h:566
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-r14-6412-20231211150807-g2505a8b41d3-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.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
--disable-bootstrap --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 --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r14-6412-20231211150807-g2505a8b41d3-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.0 20231211 (experimental) (GCC)

Reply via email to