* use the correct type (pointer to object type) when loading the function
    result of a TP-style object constructor

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24758 3ad0048d-3df7-0310-abae-a5850022a9f2
  * removed superfluous checks (push_addr_param() already checks for those)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24759 3ad0048d-3df7-0310-abae-a5850022a9f2
  * support formaldef in def_cgsize (-> OS_ADDR)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24760 3ad0048d-3df7-0310-abae-a5850022a9f2
  * add a tdef to each parameter location and set it for all target
    backends (not yet used, will be used in high level code generator)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24761 3ad0048d-3df7-0310-abae-a5850022a9f2
  + def_cgmmsize() that returns a vector tcgsize for arraydefs (as generated
    for certain parameter locations in the x86-64 parameter manager)
  * full support for vector types in the high level code generator by
    translating arraydefs passed to a_*mm*() methods into vector tcgsizes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24762 3ad0048d-3df7-0310-abae-a5850022a9f2
  + full support for parameter passing in the high level code generator
    (equivalent to what exists in tcgobj)
   o unfortunately it can't be generally enabled for all existing targets
     by overriding/disabling the tcgobj equivalents, because several targets
     call these methods inside other tcgcpu methods and we can't call the high
     level code generator methods from the low level code generator (so right
     now there's quite a bit of code duplication)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24763 3ad0048d-3df7-0310-abae-a5850022a9f2