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

            Bug ID: 64893
           Summary: [5 Regression] ICE while doing a bootstrap with the
                    latest compiler
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Keywords: build, ice-on-valid-code
          Severity: blocker
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
            Target: aarch64*

Compile the following with -O0:
typedef __Uint32x2_t uint32x2_t;
__extension__ static __inline unsigned __attribute__
((__always_inline__))vget_lane_u32 (uint32x2_t __a, const int __b)
{
  return __extension__ ({ __builtin_aarch64_im_lane_boundsi ((sizeof (__a) /
sizeof (__a[0])), __b); __a[__b]; });
}
int
search_line_fast (uint32x2_t t)
{
  return vget_lane_u32 (t, 0);
}

-- CUT ---
With the C front-end, it works correctly but with the C++ front-end it fails
due to (int) (8 / 4) not being folded into just 2.

Reply via email to