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, 2008-08-11 at 06:29 -0700, H.J. Lu wrote:
> 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?

No.  Andrew's point was that the existing test found a bug,
which is the whole point of having tests.  Fix the bug, don't
change the test.

Janis


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