On Apr 7, 2017, at 19:54, Thiago Macieira <thiago.macie...@intel.com> wrote:

> Em sexta-feira, 7 de abril de 2017, às 10:10:38 PDT, Giuseppe D'Angelo 
> escreveu:
>> Il 07/04/2017 17:45, Thiago Macieira ha scritto:
>>> We're not talking about primitives. We're talking about structs that are
>>> very small and trivial. See for yourself:
>>> 
>>> https://godbolt.org/g/pvwjWE
>>> 
>>> Direct primitive passing is fine:
>>> 
>>> https://godbolt.org/g/Ghj8US
>> 
>> Sorry, what do you mean "is fine"? What's not fine?
> 
> Passing float or double by value means they get passed in the x87 registers. 

SIMD registers you mean, or are those the same?  At some point I read that the 
387-era FPU instructions are way too slow by comparison nowadays, but I thought 
if that’s the case then probably the compilers are doing whatever is fastest by 
now...

> Passing float inside a struct means it's passed in the x86 stack instead.

No difference whether by value or by reference?  The compiler couldn’t break up 
the struct and put different members in different registers?

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to