[Bug target/103771] [12 Regression] Missed vectorization under -mavx512f -mavx512vl after r12-5489

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jan 13 08:43:38 GMT 2022


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

--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> ---
for patt_42 = (<signed-boolean:1>) patt_40;

vectype_in (QImode:nunits 4)

 <vector_type 0x7fffea18de70
    type <boolean_type 0x7fffea18ddc8 public QI
        size <integer_cst 0x7fffea2e2e40 constant 8>
        unit-size <integer_cst 0x7fffea2e2e58 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffea18ddc8 precision:1 min <integer_cst 0x7fffea196ab0 -1> max <integer_cst
0x7fffea196b70 0>>
    QI size <integer_cst 0x7fffea2e2e40 8> unit-size <integer_cst
0x7fffea2e2e58 1>
    align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffea18de70 nunits:4>

vectype_out(HImode)

 <vector_type 0x7fffea18df18
    type <boolean_type 0x7fffea18ddc8 public QI
        size <integer_cst 0x7fffea2e2e40 constant 8>
        unit-size <integer_cst 0x7fffea2e2e58 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffea18ddc8 precision:1 min <integer_cst 0x7fffea196ab0 -1> max <integer_cst
0x7fffea196b70 0>>
    HI
    size <integer_cst 0x7fffea2e2f00 type <integer_type 0x7fffea2fd0a8
bitsizetype> constant 16>
    unit-size <integer_cst 0x7fffea2e2f18 type <integer_type 0x7fffea2fd000
sizetype> constant 2>
    align:16 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffea18df18 nunits:16>

And ‘vec_pack_sbool_trunc_m’ only handle situation when input and output have
same mode.


More information about the Gcc-bugs mailing list