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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:abf3964711f05b6858d9775c3595ec2b45483e14

commit r15-2014-gabf3964711f05b6858d9775c3595ec2b45483e14
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Jul 11 09:56:56 2024 +0200

    tree-optimization/115868 - ICE with .MASK_CALL in simdclone

    The following adjusts mask recording which didn't take into account
    that we can merge call arguments from two vectors like

      _50 = {vect_d_1.253_41, vect_d_1.254_43};
      _51 = VIEW_CONVERT_EXPR<unsigned char>(mask__19.257_49);
      _52 = (unsigned int) _51;
      _53 = _Z3bazd.simdclone.7 (_50, _52);
      _54 = BIT_FIELD_REF <_53, 256, 0>;
      _55 = BIT_FIELD_REF <_53, 256, 256>;

    The testcase g++.dg/vect/pr68762-2.cc exercises this on x86_64 with
    partial vector usage enabled and AVX512 support.

            PR tree-optimization/115868
            * tree-vect-stmts.cc (vectorizable_simd_clone_call): Correctly
            compute the number of mask copies required for
vect_record_loop_mask.

Reply via email to