https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750
Sergei Trofimovich <slyfox at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |slyfox at gcc dot gnu.org --- Comment #3 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- In https://bugs.gentoo.org/760117 we got a similar report. I reproduced it locally and minimized to the following: // cat bug.c char CopyPlane_src; long CopyPlane_copy_pitch; char *CopyFromUswc_src; int CopyFromUswc_height; void CopyPlane(char *dst) { __builtin_memcpy(dst, &CopyPlane_src, CopyPlane_copy_pitch); } void CopyFromUswc(long src_pitch) { char *dst; for (; CopyFromUswc_height;) { unsigned unaligned = (long)CopyFromUswc_src; if (unaligned) CopyPlane(&dst[unaligned]); CopyFromUswc_src += src_pitch; } } Crashes as: $ LANG=C gcc-11.0.0 -O2 -c bug.c -Wall -Wextra during GIMPLE pass: wrestrict bug.c: In function 'CopyFromUswc': bug.c:8:6: internal compiler error: Segmentation fault 8 | void CopyFromUswc(long src_pitch) { | ^~~~~~~~~~~~ 0xb6956a crash_signal /usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/toplev.c:327 0x7fe03834db5f ??? /usr/src/debug/sys-libs/glibc-2.32-r5/glibc-2.32/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x156ef41 operator_cast::op1_range(irange&, tree_node*, irange const&, irange const&) const /usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/range-op.cc:1881 0x1485a12 gori_compute::compute_name_range_op(irange&, gimple*, irange const&, tree_node*) /usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:490 0x1488b33 gori_compute_cache::compute_operand_range(irange&, gimple*, irange const&, tree_node*) /usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:1281 ...