"Mohamed Shafi" <[EMAIL PROTECTED]> writes: > I am working for a private GCC target. > The target has 4 registers, each 32 bits reserved for arguments. > When passing arguments depending on the type of the argument either > registers or stack + registers will be used Sometimes the arguments > will be split between a memory location and the register.Consider the > following function call > > fun(int k, long long j, long long m); > > In the above case k and j will be passed through registers and m will > be passed through register and stack, as all the other registers are > used by the arguments k and j. > In this case compiler is splitting the values on its own. But due to > the restriction placed by load/store operation for the target, the > splitting has to be modified according to the target. > > Is there any target hook that will help me to do it? > Or can i write a pattern in the md file that can be used for this > purpose. Is there any other target that does similar to this?
See TARGET_ARG_PARTIAL_BYTES. Ian