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

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
This is fixed in gcc-11:

--cut here--
struct TestFloat { float x; };
struct TestDouble { double x; };

struct TestFloat foo (struct TestFloat x) { return x; }
struct TestDouble bar (struct TestDouble x) { return x; }
--cut here--

gcc -O2:

foo:
        movl    %ecx, %eax
        ret

bar:
        movq    %rcx, %rax
        ret

Reply via email to