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