Hi Hongtao,

在 2024/8/21 11:21, Hongtao Liu 写道:
> r15-3058-gbb42c551905024 support const0 operand for movv16qi, please
> rebase your patch and see if there's still the regressions.

There's still regressions. The patch enables V16QI const0 store, but
it also enables V8QI const0 store. The vector mode is preferable than
scalar mode so that V8QI is used for 8-byte memory clear instead of
DI. It's sub-optimal.

Another issue is it takes lots of subreg to generate an all-zero
V16QI register sometime. As PR92080 has been fixed, it can't reuse
existing all-zero V16QI register.

(insn 16 15 17 (set (reg:V4SI 118)
        (const_vector:V4SI [
                (const_int 0 [0]) repeated x4
            ])) "auto-init-7.c":25:12 -1
     (nil))

(insn 17 16 18 (set (reg:V8HI 117)
        (subreg:V8HI (reg:V4SI 118) 0)) "auto-init-7.c":25:12 -1
     (nil))

(insn 18 17 19 (set (reg:V16QI 116)
        (subreg:V16QI (reg:V8HI 117) 0)) "auto-init-7.c":25:12 -1
     (nil))

(insn 19 18 0 (set (mem/c:V16QI (plus:DI (reg:DI 114)
                (const_int 12 [0xc])) [0 MEM <char[1:28]> [(void *)&temp3]+12 
S16 A32])
        (reg:V16QI 116)) "auto-init-7.c":25:12 -1
     (nil))

Thanks
Gui Haochen

Reply via email to