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

            Bug ID: 91157
           Summary: [10 Regression] ICE: verify_gimple failed (error:
                    position plus size exceeds size of referenced object
                    in 'bit_field_ref')
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          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-alpha20190707 snapshot (r273184) ICEs when compiling the following
testcase w/ -mavx512vbmi -fexceptions -fnon-call-exceptions -fsignaling-nans:

typedef long double __attribute__ ((vector_size (4 * sizeof (long double))))
  v4ldbl;

v4ldbl
uc (v4ldbl gl)
{
  return gl == 0;
}

% x86_64-unknown-linux-gnu-gcc-10.0.0-alpha20190707 -mavx512vbmi -fexceptions
-fnon-call-exceptions -fsignaling-nans -c naoatmj5.c
naoatmj5.c: In function 'uc':
naoatmj5.c:5:1: error: position plus size exceeds size of referenced object in
'bit_field_ref'
    5 | uc (v4ldbl gl)
      | ^~
_8 = BIT_FIELD_REF <_1, 128, 0>;
naoatmj5.c:5:1: error: position plus size exceeds size of referenced object in
'bit_field_ref'
_11 = BIT_FIELD_REF <_1, 128, 128>;
naoatmj5.c:5:1: error: position plus size exceeds size of referenced object in
'bit_field_ref'
_14 = BIT_FIELD_REF <_1, 128, 256>;
naoatmj5.c:5:1: error: position plus size exceeds size of referenced object in
'bit_field_ref'
_17 = BIT_FIELD_REF <_1, 128, 384>;
during GIMPLE pass: veclower
naoatmj5.c:5:1: internal compiler error: verify_gimple failed
0xd94a7e verify_gimple_in_cfg(function*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190707/work/gcc-10-20190707/gcc/tree-cfg.c:5426
0xc6e519 execute_function_todo
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190707/work/gcc-10-20190707/gcc/passes.c:1963
0xc6f2c6 execute_todo
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20190707/work/gcc-10-20190707/gcc/passes.c:2017

Older branches of gcc reject this code but don't ICE.

Reply via email to