[Bug tree-optimization/103741] [12 Regression] ICE in prepare_vec_mask, at tree-vect-stmts.c:1808

tnfchris at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 16 08:40:10 GMT 2021


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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-12-16
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |tnfchris at gcc dot gnu.org
                 CC|                            |tnfchris at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
           Priority|P3                          |P1

--- Comment #1 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
probably mine..

the assert

gcc_assert (useless_type_conversion_p (mask_type, TREE_TYPE (vec_mask)));

is failing but the types are the same

>>> p (TREE_TYPE (loop_mask))
$2 = (tree) 0x7fdf174631f8

>>> dbgtree ($2)
 <vector_type 0x7fdf174631f8
    type <boolean_type 0x7fdf17463150 QI
        size <integer_cst 0x7fdf1757cf00 constant 8>
        unit-size <integer_cst 0x7fdf1757cf18 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf17463150 precision:8 min <integer_cst 0x7fdf17477fd8 -128> max
<integer_cst 0x7fdf1747c030 127>>
    VNx2BI
    size <poly_int_cst 0x7fdf173e0ea0
        type <integer_type 0x7fdf175940a8 bitsizetype public unsigned TI
            size <integer_cst 0x7fdf1757ce58 constant 128>
            unit-size <integer_cst 0x7fdf1757ce70 constant 16>
            align:128 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf175940a8 precision:128 min <integer_cst 0x7fdf1757ce88 0> max
<integer_cst 0x7fdf17586898 0xffffffffffffffffffffffffffffffff>>
        constant
        elt0: <integer_cst 0x7fdf1757cfc0 constant 16> elt1: <integer_cst
0x7fdf1757cfc0 16>>
    unit-size <poly_int_cst 0x7fdf173e0e60
        type <integer_type 0x7fdf17594000 sizetype public unsigned DI
            size <integer_cst 0x7fdf1757ce10 constant 64>
            unit-size <integer_cst 0x7fdf1757ce28 constant 8>
            align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf17594000 precision:64 min <integer_cst 0x7fdf1757ce40 0> max <integer_cst
0x7fdf1757d5e0 18446744073709551615>>
        constant
        elt0: <integer_cst 0x7fdf1757cfd8 constant 2> elt1: <integer_cst
0x7fdf1757cfd8 2>>
    align:16 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf174631f8 nunits:[2,2]>
>>> dbgtree (mask_type)
 <vector_type 0x7fdf174631f8
    type <boolean_type 0x7fdf17463150 QI
        size <integer_cst 0x7fdf1757cf00 constant 8>
        unit-size <integer_cst 0x7fdf1757cf18 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf17463150 precision:8 min <integer_cst 0x7fdf17477fd8 -128> max
<integer_cst 0x7fdf1747c030 127>>
    VNx2BI
    size <poly_int_cst 0x7fdf173e0ea0
        type <integer_type 0x7fdf175940a8 bitsizetype public unsigned TI
            size <integer_cst 0x7fdf1757ce58 constant 128>
            unit-size <integer_cst 0x7fdf1757ce70 constant 16>
            align:128 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf175940a8 precision:128 min <integer_cst 0x7fdf1757ce88 0> max
<integer_cst 0x7fdf17586898 0xffffffffffffffffffffffffffffffff>>
        constant
        elt0: <integer_cst 0x7fdf1757cfc0 constant 16> elt1: <integer_cst
0x7fdf1757cfc0 16>>
    unit-size <poly_int_cst 0x7fdf173e0e60
        type <integer_type 0x7fdf17594000 sizetype public unsigned DI
            size <integer_cst 0x7fdf1757ce10 constant 64>
            unit-size <integer_cst 0x7fdf1757ce28 constant 8>
            align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf17594000 precision:64 min <integer_cst 0x7fdf1757ce40 0> max <integer_cst
0x7fdf1757d5e0 18446744073709551615>>
        constant
        elt0: <integer_cst 0x7fdf1757cfd8 constant 2> elt1: <integer_cst
0x7fdf1757cfd8 2>>
    align:16 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdf174631f8 nunits:[2,2]>

So need to see why useless_type_conversion_p thinks they are not.


More information about the Gcc-bugs mailing list