https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97534
Bug ID: 97534 Summary: [10/11 Regression] ICE in decompose, at rtl.h:2280 (arm-linux-gnueabihf) Product: gcc Version: 10.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at debian dot org Target Milestone: --- seen building mariadb with the gcc-10 branch and trunk, not seen without -g, or with -O0: $ cat btr0cu.ii struct a { int b; void c(int d) { __atomic_fetch_sub(&b, d, int()); } }; class e { a f; int g = 1 << 31; void h() { f.c(g); } public: void i() { e j; j.h(); } } k; void l() { k.i(); } $ g++ -std=gnu++11 -c -g -O2 btr0cu.ii during RTL pass: vartrack btr0cu.ii: In function 'void l()': btr0cu.ii:15:19: internal compiler error: in decompose, at rtl.h:2280 15 | void l() { k.i(); } | ^ 0x8d359d wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) ../../src/gcc/rtl.h:2280 0x8d36ab wide_int_ref_storage<false, false>::wide_int_ref_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../src/gcc/wide-int.h:1024 0x8d36ab generic_wide_int<wide_int_ref_storage<false, false> >::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../src/gcc/wide-int.h:782 0x8d36ab poly_int<1u, generic_wide_int<wide_int_ref_storage<false, false> > >::poly_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../src/gcc/poly-int.h:670 0x8d36ab wi::to_poly_wide(rtx_def const*, machine_mode) ../../src/gcc/rtl.h:2365 0x8d36ab neg_poly_int_rtx ../../src/gcc/simplify-rtx.c:64 0x8daa91 simplify_binary_operation_1 ../../src/gcc/simplify-rtx.c:2728 0x8dfa79 simplify_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../src/gcc/simplify-rtx.c:2342 0x8dfaef simplify_gen_binary(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../src/gcc/simplify-rtx.c:189 0xb7294d reverse_op ../../src/gcc/var-tracking.c:5942 0xb7294d add_stores ../../src/gcc/var-tracking.c:6225 0xb6cca9 add_with_sets ../../src/gcc/var-tracking.c:6648 0x51b913 cselib_record_sets ../../src/gcc/cselib.c:2904 0x51c6cf cselib_process_insn(rtx_insn*) ../../src/gcc/cselib.c:3066 0xb7c5d5 vt_initialize ../../src/gcc/var-tracking.c:10252 0xb82185 variable_tracking_main_1 ../../src/gcc/var-tracking.c:10481 0xb822df variable_tracking_main() ../../src/gcc/var-tracking.c:10534 0xb822df execute ../../src/gcc/var-tracking.c:10571 Please submit a full bug report, with preprocessed source if appropriate. gcc-10 was configured with --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=yes,extra,rtl --enable-default-pie gcc trunk was configured with --enable-checking=yes