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

            Bug ID: 122736
           Summary: loop masking with SIMD clones ICEs in
                    vect_verify_full_masking
           Product: gcc
           Version: 15.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

#pragma omp declare simd
double __attribute__((noinline))
baz (double x)
{
  return x;
}

#pragma omp declare simd
double
foo (double d)
{
  return baz (d);
}

double __attribute__((noipa))
fn (double x)
{
  return foo (x);
}

gcc> ./cc1 -quiet t.c -O2 -fopenmp-simd  -mavx512vl  --param
vect-partial-vector-usage=2

during GIMPLE pass: vect
t.c: In function ‘foo.simdclone.7’:
t.c:10:1: internal compiler error: in exact_div, at poly-int.h:2179
   10 | foo (double d)
      | ^~~
0x37e0449 internal_error(char const*, ...)
       
/space/rguenther/src/gcc-autopar_devel/gcc/diagnostic-global-context.cc:787
0x37ef2e4 fancy_abort(char const*, int, char const*)
        /space/rguenther/src/gcc-autopar_devel/gcc/diagnostics/context.cc:1805
0x1473831 poly_int<1u, poly_result<unsigned long, if_nonpoly<unsigned long,
unsigned long, poly_int_traits<unsigned long>::is_poly>::type,
poly_coeff_pair_traits<unsigned long, if_nonpoly<unsigned long, unsigned long,
poly_int_traits<unsigned long>::is_poly>::type>::result_kind>::type>
exact_div<1u, unsigned long, unsigned long>(poly_int<1u, unsigned long> const&,
unsigned long)
        /space/rguenther/src/gcc-autopar_devel/gcc/poly-int.h:2179
0x1470e27 poly_int<1u, poly_result<unsigned long, unsigned long,
poly_coeff_pair_traits<unsigned long, unsigned long>::result_kind>::type>
exact_div<1u, unsigned long, unsigned long>(poly_int<1u, unsigned long> const&,
poly_int<1u, unsigned long> const&)
        /space/rguenther/src/gcc-autopar_devel/gcc/poly-int.h:2192
0x1ddff26 vect_verify_full_masking
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vect-loop.cc:1015
0x1de4a2b vect_analyze_loop_2
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vect-loop.cc:2333
0x1de616e vect_analyze_loop_1
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vect-loop.cc:2772
0x1de6be0 vect_analyze_loop(loop*, gimple*, vec_info_shared*)
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vect-loop.cc:2953
0x1e68859 try_vectorize_loop_1
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vectorizer.cc:1098
0x1e68d73 try_vectorize_loop
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vectorizer.cc:1218
0x1e69055 execute
        /space/rguenther/src/gcc-autopar_devel/gcc/tree-vectorizer.cc:1333
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to