[Bug tree-optimization/101636] [11 Regression] ICE: verify_gimple failed (error: conversion of register to a different size in 'view_convert_expr')

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 23 14:08:13 GMT 2022


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

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:893cb28a22f86281ca9ce1e045da7b8840ceb121

commit r11-9689-g893cb28a22f86281ca9ce1e045da7b8840ceb121
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Feb 23 11:15:38 2022 +0100

    tree-optimization/101636 - CTOR vectorization ICE

    The following fixes an ICE when vectorizing the defs of a CTOR
    results in a different vector type than expected.  That can happen
    with AARCH64 SVE and a fixed vector length as noted in r10-5979
    and on x86 with AVX512 mask CTORs and trying to re-vectorize
    using SSE as shown in this bug.

    The fix is simply to reject the vectorization when it didn't
    produce the desired type.

    2022-02-23  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/101636
            PR tree-optimization/104782
            * tree-vect-slp.c (vect_slp_analyze_operations): Make sure
            the CTOR is vectorized with an expected type.

            * c-c++-common/torture/pr101636.c: Likewise.
            * gcc.dg/vect/pr104782.c: New testcase.


More information about the Gcc-bugs mailing list