This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: testsuite/37074: gcc.dg/torture/stackalign/builtin-apply-4.c failed with SSE2


On Mon, Aug 11, 2008 at 2:57 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Mon, Aug 11, 2008 at 10:18 AM, Ye, Joey <joey.ye@intel.com> wrote:
>
>> Andrew wrote:
>>> Again this does not explain why is happening, just what happens.
>
>> __builtin_apply_args needs to save all args to stack. Following code in
>> ix86_function_arg_regno_p makes it believe mm0 to mm2 are passing
>> arguments.
>>        return (regno < REGPARM_MAX
>>                || (TARGET_MMX && MMX_REGNO_P (regno)
>>                    && (regno < FIRST_MMX_REG + MMX_REGPARM_MAX))
>>                || (TARGET_SSE && SSE_REGNO_P (regno)
>>                    && (regno < FIRST_SSE_REG + SSE_REGPARM_MAX)));
>>
>> So mm0 to mm2 are saved and restored. Which arguments are passed via mm0
>> to mm2?
>
> These are MMX vector arguments, V8QImode, V4HImode, V2SImode, V1DImode
> and V2SFmode. Please note, that we also have MMX function return
> register, MMX vector values are returned in %mm0 register.
>

Is my patch OK for trunk?


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]