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

            Bug ID: 126586
           Summary: [17 Regression] ICE/ error: non-trivial conversion in
                    'view_convert_expr'
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Keywords: aarch64-sve
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ktkachov at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64

/* ICE: "error: non-trivial conversion in 'view_convert_expr'" then
   "internal compiler error: verify_gimple failed" during GIMPLE pass forwprop.

   Failing command line:
     gcc -O2 -march=armv8.2-a+sve -msve-vector-bits=256 \
         -S 02-sve-dupq-forwprop-view-convert.c

   Diagnostic:
     error: non-trivial conversion in 'view_convert_expr'
     svint64_t
     vector(2) long int
     _3 = VIEW_CONVERT_EXPR<vector(2) long int>(_5);
     during GIMPLE pass: forwprop

   Any svdupq_n_* with all arguments identical works: s8/s16/s32/s64/f32.  */

#include <arm_sve.h>

svint64_t f (long x) { return svdupq_n_s64 (x, x); }

ICEs with -O2 -march=armv8.2-a+sve -msve-vector-bits=256

<source>: In function 'f':
<source>:3:1: error: non-trivial conversion in 'view_convert_expr'
    3 | svint64_t f (long x) { return svdupq_n_s64 (x, x); }
      | ^~~~~~~~~
svint64_t
vector(2) long int
_3 = VIEW_CONVERT_EXPR<vector(2) long int>(_5);
during GIMPLE pass: forwprop
<source>:3:1: internal compiler error: verify_gimple failed

Reply via email to