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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
IRA decided to combine:
```
(insn 9 8 19 3 (set (reg/f:DI 104)
        (lo_sum:DI (reg/f:DI 105)
            (symbol_ref:DI ("bar") [flags 0x41]  <function_decl 0x7ff639b05f00
bar>))) "t.c":5:10 discrim 1 -1
     (expr_list:REG_DEAD (reg/f:DI 105)
        (expr_list:REG_EQUAL (symbol_ref:DI ("bar") [flags 0x41] 
<function_decl 0x7ff639b05f00 bar>)
            (nil))))
...
(insn 21 20 11 3 (set (reg/f:DI 110)
        (lo_sum:DI (reg/f:DI 109)
            (symbol_ref:DI ("bar") [flags 0x41]  <function_decl 0x7ff639b05f00
bar>))) "t.c":5:10 discrim 1 -1
     (expr_list:REG_DEAD (reg/f:DI 109)
        (expr_list:REG_EQUAL (symbol_ref:DI ("bar") [flags 0x41] 
<function_decl 0x7ff639b05f00 bar>)
            (nil))))
(insn 11 21 27 3 (parallel [
            (set (reg:DI 106)
                (plus:DI (reg:DI 106)
                    (const_int 4 [0x4])))
            (set (mem:SI (reg:DI 106) [0  S4 A8])
                (subreg:SI (reg/f:DI 104) 0))
            (set (mem:SI (plus:DI (reg:DI 106)
                        (const_int 4 [0x4])) [0  S4 A8])
                (subreg:SI (reg/f:DI 110) 0))
        ]) "t.c":5:10 discrim 1 102 {*storewb_post_pair_4}
     (nil))

```



to:
```
(insn 11 20 27 3 (parallel [
            (set (reg:DI 106)
                (plus:DI (reg:DI 106)
                    (const_int 4 [0x4])))
            (set (mem:SI (reg:DI 106) [0  S4 A8])
                (subreg:SI (lo_sum:DI (reg/f:DI 105)
                        (symbol_ref:DI ("bar") [flags 0x41]  <function_decl
0x7ff639b05f00 bar>)) 0))
            (set (mem:SI (plus:DI (reg:DI 106)
                        (const_int 4 [0x4])) [0  S4 A8])
                (subreg:SI (lo_sum:DI (reg/f:DI 109)
                        (symbol_ref:DI ("bar") [flags 0x41]  <function_decl
0x7ff639b05f00 bar>)) 0))
        ]) "t.c":5:10 discrim 1 102 {*storewb_post_pair_4}
     (expr_list:REG_DEAD (reg/f:DI 109)
        (expr_list:REG_DEAD (reg/f:DI 105)
            (nil))))

```

But I have no idea why though ...

Reply via email to