public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/95756] New: Failure to optimize memory operations with _Complex
@ 2020-06-19  0:43 gabravier at gmail dot com
  2020-06-19  7:23 ` [Bug rtl-optimization/95756] " rguenth at gcc dot gnu.org
  2021-08-16  0:35 ` [Bug middle-end/95756] " pinskia at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: gabravier at gmail dot com @ 2020-06-19  0:43 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95756
           Summary: Failure to optimize memory operations with _Complex
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gabravier at gmail dot com
  Target Milestone: ---

float _Complex f()
{
    return {0, 0};
}

With -O3, LLVM outputs this :

f(): # @f()
  xorps xmm0, xmm0
  ret

GCC outputs this :

f():
  mov DWORD PTR [rsp-8], 0x00000000
  mov DWORD PTR [rsp-4], 0x00000000
  movq xmm0, QWORD PTR [rsp-8]
  ret

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug rtl-optimization/95756] Failure to optimize memory operations with _Complex
  2020-06-19  0:43 [Bug target/95756] New: Failure to optimize memory operations with _Complex gabravier at gmail dot com
@ 2020-06-19  7:23 ` rguenth at gcc dot gnu.org
  2021-08-16  0:35 ` [Bug middle-end/95756] " pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-19  7:23 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |missed-optimization
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-06-19
             Target|                            |x86_64-*-* i?86-*-*
          Component|target                      |rtl-optimization

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
RTL expansion issue, we're ending up with

(insn 5 2 6 2 (set (reg:SF 82 [ <retval> ])
        (mem/u/c:SF (symbol_ref/u:DI ("*.LC0") [flags 0x2]) [0  S4 A32]))
"t.c":3:12 -1
     (expr_list:REG_EQUAL (const_double:SF 0.0 [0x0.0p+0])
        (nil)))
(insn 6 5 10 2 (set (reg:SF 83 [ <retval>+4 ])
        (mem/u/c:SF (symbol_ref/u:DI ("*.LC0") [flags 0x2]) [0  S4 A32]))
"t.c":3:12 -1
     (expr_list:REG_EQUAL (const_double:SF 0.0 [0x0.0p+0])
        (nil)))
(insn 10 6 11 2 (set (reg:SF 84)
        (reg:SF 82 [ <retval> ])) "t.c":4:1 -1
     (nil))
(insn 11 10 12 2 (set (reg:SF 85)
        (reg:SF 83 [ <retval>+4 ])) "t.c":4:1 -1
     (nil))
(insn 12 11 13 2 (set (mem/c:SF (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [0  S4 A32])
        (reg:SF 84)) "t.c":4:1 -1
     (nil))
(insn 13 12 14 2 (set (mem/c:SF (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [0  S4 A32])
        (reg:SF 85)) "t.c":4:1 -1
     (nil))
(insn 14 13 15 2 (set (reg:DI 20 xmm0)
        (mem/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [0  S8 A32])) "t.c":4:1 -1
     (nil))
(insn 15 14 0 2 (use (reg:DI 20 xmm0)) "t.c":4:1 -1
     (nil))

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug middle-end/95756] Failure to optimize memory operations with _Complex
  2020-06-19  0:43 [Bug target/95756] New: Failure to optimize memory operations with _Complex gabravier at gmail dot com
  2020-06-19  7:23 ` [Bug rtl-optimization/95756] " rguenth at gcc dot gnu.org
@ 2021-08-16  0:35 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-16  0:35 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2020-06-19 00:00:00         |2021-8-15
          Component|rtl-optimization            |middle-end
           Severity|normal                      |enhancement

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-16  0:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-19  0:43 [Bug target/95756] New: Failure to optimize memory operations with _Complex gabravier at gmail dot com
2020-06-19  7:23 ` [Bug rtl-optimization/95756] " rguenth at gcc dot gnu.org
2021-08-16  0:35 ` [Bug middle-end/95756] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).