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

            Bug ID: 78675
           Summary: [7 Regression] ICE: verify_gimple failed (error:
                    integral result type precision does not match field
                    size of BIT_FIELD_REF)
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: 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-pc-linux-gnu

gcc-7.0.0-alpha20161127 and gcc-7.0.0-alpha20161204 snapshots ICE when
compiling the following reduced snippet w/ -O3 (or -Ofast) -mavx512[??]:

long int br;

long int
cm (long int og)
{
  long int yh;

  while (br < 1)
    {
      yh = br && og;
      ++br;
    }

  return yh;
}

% x86_64-pc-linux-gnu-gcc-7.0.0-alpha20161204 -O3 -mavx512bw -c uwzruiav.c 
uwzruiav.c: In function 'cm':
uwzruiav.c:4:1: error: integral result type precision does not match field size
of BIT_FIELD_REF
 cm (long int og)
 ^~
BIT_FIELD_REF <mask__13.15_57, 8, 56>
cc1: note: in statement
_51 = BIT_FIELD_REF <mask__13.15_57, 8, 56>;
uwzruiav.c:4:1: internal compiler error: verify_gimple failed

Reply via email to