https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90474
Bug ID: 90474 Summary: [10 Regression] ICE: verify_gimple failed (error: DECL_GIMPLE_REG_P set on a variable with address taken; error: invalid address operand in MEM_REF) Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-checking, ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-unknown-linux-gnu gcc-10.0.0-alpha20190512 snapshot (r271111) ICEs when compiling the following testcase at any optimization level (except -Og) and w/ -ftree-vectorize -fno-tree-ccp -fno-tree-loop-optimize -fno-tree-sra --param dse-max-alias-queries-per-store=0: typedef int v8si __attribute__ ((vector_size (32))); v8si cl (v8si w4) { while ((v8si) {0, w4[0]}[1]) { } return w4; } % x86_64-unknown-linux-gnu-gcc-10.0.0-alpha20190512 -O1 -ftree-vectorize -fno-tree-ccp -fno-tree-loop-optimize -fno-tree-sra --param dse-max-alias-queries-per-store=0 -w -c uqwxndwh.c uqwxndwh.c: In function 'cl': uqwxndwh.c:4:1: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6 4 | cl (v8si w4) | ^~ uqwxndwh.c:4:1: error: DECL_GIMPLE_REG_P set on a variable with address taken uqwxndwh.c:4:1: error: invalid address operand in MEM_REF MEM[(vector(8) int *)&D.1909]; # .MEM_19 = VDEF <.MEM_3> MEM[(vector(8) int *)&D.1909] = vect_cst__18; during GIMPLE pass: slp uqwxndwh.c:4:1: internal compiler error: verify_gimple failed 0xd69d18 verify_gimple_in_cfg(function*, bool) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190512/work/gcc-10-20190512/gcc/tree-cfg.c:5387 0xc45d29 execute_function_todo /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190512/work/gcc-10-20190512/gcc/passes.c:1963 0xc46ae1 execute_todo /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190512/work/gcc-10-20190512/gcc/passes.c:2017