public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/95966] New: soft float operations are not tail called
@ 2020-06-29 15:00 nsz at gcc dot gnu.org
  2021-08-14  9:43 ` [Bug middle-end/95966] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: nsz at gcc dot gnu.org @ 2020-06-29 15:00 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95966
           Summary: soft float operations are not tail called
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nsz at gcc dot gnu.org
  Target Milestone: ---

i'd expect this to be a tail call into the soft float add
operation on soft float targets:

fp_t foo(fp_t a, fp_t b)
{
    return a + b;
}

e.g. on x86 with 'typedef __float128 fp_t' the generated code is

foo:
        sub     rsp, 8
        call    __addtf3
        add     rsp, 8
        ret

on aarch64 with 'typedef long double fp_t' the generated code is

foo:
        stp     x29, x30, [sp, -16]!
        mov     x29, sp
        bl      __addtf3
        ldp     x29, x30, [sp], 16
        ret

i see similar code on other softfp targets.

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

* [Bug middle-end/95966] soft float operations are not tail called
  2020-06-29 15:00 [Bug tree-optimization/95966] New: soft float operations are not tail called nsz at gcc dot gnu.org
@ 2021-08-14  9:43 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-14  9:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
          Component|tree-optimization           |rtl-optimization

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|rtl-optimization            |middle-end
         Resolution|---                         |DUPLICATE
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Possibly libcall sequences are never tail-called.

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Dup of bug 15473.

*** This bug has been marked as a duplicate of bug 15473 ***

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

end of thread, other threads:[~2021-08-14  9:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 15:00 [Bug tree-optimization/95966] New: soft float operations are not tail called nsz at gcc dot gnu.org
2021-08-14  9:43 ` [Bug middle-end/95966] " 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).