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

--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>Can we have the same implementation/interface  of LLVM?

Is there real documentation on this attribute or is it just ad hoc on what it
does on the LLVM side about the ABI implications? It seems to me there should
be 2 seperate attributes, one to change the argument passing and one for
preserve_none part.

>Anyway I re-ran the benchmarks and the binary without preserve_none is 
>actually 6% slower than the build without tail-calling interpreter.

I am not sure if I understand this correctly.
Can you make a simple table:

w/o tail-call                         - 1
with tail-call but not preserve_none  - XYZ
with tail-call and preserve_none      - PQR

>From my read is that with tail-call but not preserve_none is 0.94 but with both
it is some increase or close to 1.

Maybe this is an argument that for aarch64, using the tail-calling interpreter
is not useful rather than an argument to add preserve_none.

Reply via email to