Re: GCC 10 using floating-point registers to pass some 64-bit arguments on ARM Cortex-M

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 19, 2020 at 10:28:45PM +0200, Freddie Chopin wrote:
> I see. I'm just looking for the answer to my basic question - is this a
> bug or a feature? If it's a feature, then maybe there's a way to
> disable it somehow.
> 
> > Testcase needed.
> 
> I could try providing one if you really think that what I see here is a
> bug, not an expected behaviour.

It is not a bug in the sense that it is correct code.  It also probably
doesn't make things super much slower.  But OTOH it quite likely isn't
optimal either, and certainly the cases where no such intermediate is
necessary aren't immediately obviously not a bug.

Figure out where these strange moves / strange registers are introduced?
You can use -dap to get a lot of dump files (which will take significant
time and space if your program is huge) (the -dp in there makes your .s
output annotated as well, easy to find instruction numbers from that;
and use -save-temps (or -S instead of -c) to get a .s file in the first
place ;-) )


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux