[Bug target/126424] New: [meta] Poor code generation for TImode parallel

"hjl.tools at gmail dot com via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126424

            Bug ID: 126424
           Summary: [meta] Poor code generation for TImode parallel
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Keywords: meta-bug
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---
            Target: x86-64

We generate very bad code sequences for TImode PARALLEL moves:

1. Move from TImode PARALLEL from

(parallel:TI [
        (expr_list:REG_DEP_TRUE (reg:DI 20 xmm0 [ a ])
            (const_int 0 [0]))
        (expr_list:REG_DEP_TRUE (reg:DI 21 xmm1 [ a+8 ])
            (const_int 8 [0x8]))
    ])

or

(parallel:TI [
        (expr_list:REG_DEP_TRUE (reg:SI 5 di [ x ])
            (const_int 0 [0]))
        (expr_list:REG_DEP_TRUE (reg:DI 4 si [ x+8 ])
            (const_int 8 [0x8]))
    ])

into

(reg:TI 106)

2. Move to TImode PARALLEL from

(mem/c:BLK (plus:DI (reg/f:DI 93 virtual-stack-vars)
        (const_int -16 [0xfffffffffffffff0])) [1 D.2978+0 S12 A128])

into

(parallel:BLK [
        (expr_list:REG_DEP_TRUE (reg:TI 102 [ <retval> ])
            (const_int 0 [0]))
    ])
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.