mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-03 06:48:24 +02:00
![]() represent complex locations (required for full x86-64 ABI support, which is not yet implemented) -> lots of special result handling code has been removed and replaced by the parameter handling routines + added support for composite parameters (and hence function results) to tcg.a_load_ref_cgpara() (so it can be used for handling, e.g., 64 bit parameters on 32 bit platforms) * the above fixed writing past the end of allocated memory when handling records returned in registers on x86-64 whose size is not a multiple of 8 bytes (mantis #16357) - removed the x86-64 and PPC specific versions of a_load_ref_cgpara(), as they are now handled correctly by the generic version * moved the responsibility of allocating tcgpara cpu registers (using paramanager.allocparaloc()) from the callers of cg.a_load*_cgpara() to the cg.a_load*_cgpara() methods themselves (so the register allocation can be done efficiently when dealing with function results) * for the above, renamed paramanager.alloc/freeparaloc() to paramanager.alloc/freecgpara(), and use paramanager.allocparaloc() to allocate individual pcgparalocations instead * fixed the register size of SSE2 function result registers for x86-64 (when used for floating point), which results in removing a few superfluous "movs? %xmm0,%xmm0" instructions * fixed compilation of paramanagers of avr, m68k and mips after r13695 and also updated them for these new changes git-svn-id: trunk@15350 - |
||
---|---|---|
.. | ||
aasmcpu.pas | ||
aoptcpu.pas | ||
aoptcpub.pas | ||
aoptcpud.pas | ||
cgcpu.pas | ||
cpubase.pas | ||
cpugas.pas | ||
cpuinfo.pas | ||
cpunode.pas | ||
cpupara.pas | ||
cpupi.pas | ||
cputarg.pas | ||
itcpugas.pas | ||
mipsreg.dat | ||
ncpuadd.pas | ||
ncpucall.pas | ||
ncpucnv.pas | ||
ncpuinln.pas | ||
ncpumat.pas | ||
ncpuset.pas | ||
opcode.inc | ||
rgcpu.pas | ||
rmipscon.inc | ||
rmipsdwf.inc | ||
rmipsgas.inc | ||
rmipsgri.inc | ||
rmipsgss.inc | ||
rmipsmot.inc | ||
rmipsmri.inc | ||
rmipsnor.inc | ||
rmipsnum.inc | ||
rmipsrni.inc | ||
rmipssri.inc | ||
rmipssta.inc | ||
rmipsstd.inc | ||
rmipssup.inc | ||
strinst.inc |