API Reference | developer.brewmp.com API Reference | developer.brewmp.com

Developer

API Reference

AEEINTERFACE_ATPCS_PADARG

Brew Release
Brew MP 1.0.2
Description
This token should be placed in function declarations and definitions before any ATPCS/AAPCS-incompatible 64-bit argument in an odd position to force its placement in even registers.
For example, given a function:
void func(int a, int64 b);
The above is not ATPCS/AAPCS compatible because b, at arg[1] will be placed in r1,r2 under ATPCS and r2,r3 under AAPCS
void func(int a, AEEINTERFACE_ATPCS_PADARG int64 b);
The above is now ATPCS/AAPCS _compatible_ because b, at arg[1] will be placed in r2,r3 under both ATPCS and AAPCS
Ideally, functions with this kind of signature should be avoided.
AEEINTERFACE_ATPCS_PADARG is meant to be used in conjunction with AEEINTERFACE_ATPCS_PADPARAM and AEEINTERFACE_ATPCS_PADVOID.
Definition
  •    #if defined(AEEINTERFACE_ATPCS)
       #   define AEEINTERFACE_ATPCS_PADARG unsigned __padarg,
       #else 
       #   define AEEINTERFACE_ATPCS_PADARG
       #endif