[tremor] ARM ASM performance gains, EVC vs. GCC

marc dukette dukette at adelphia.net
Wed Oct 9 16:00:06 PDT 2002



ok, figured it out.  __inline is just a suggestion to the compiler.  if you
change the definition of inline from __inline to __forceinline it will force
thos functions to be inline.  I tried doing this with STIN as well in os.h,
however it appears that the ocmpiler made the right decision in this case
and you will actaully get lower performance by forcing bitrev12 and the
mdct* function to be inline, but you can try.  For now I have added the
following to the top of misc.h:

#define inline  __forceinline

----- Original Message -----
From: "Werner Sharp" <werner at sharp-software.com>
To: <tremor at xiph.org>
Sent: Wednesday, October 09, 2002 5:43 PM
Subject: Re: [tremor] ARM ASM performance gains, EVC vs. GCC

<p>> Hi Marc,
>
> I don't have any ideas about the inline expansion.  What are your project
> setting for the inline optimization?    I have it set to "Only __inline"
but
> there's also "Any suitable".   Maybe choosing the latter would get it
> inlined.
>
> One of us EVC wimps should really get GCC installed and see if it provides
> better performance for this.   I just haven't found the time to get it
done.
> Do all I need is the cygwin tools installed with gcc?   Or is there a
> special ARM-COFF version that I would need to get?
>
> -Werner
>
> ----- Original Message -----
> From: "marc dukette" <dukette at adelphia.net>
> To: <tremor at xiph.org>
> Sent: Wednesday, October 09, 2002 5:08 PM
> Subject: Re: [tremor] ARM ASM performance gains, EVC vs. GCC
>
>
> > ok, this is Bizarre, eVC should actually accept the __inline for
function
> in
> > an included header file.  In fact if you look at the assembly from the
> last
> > go around I think you will see the MULT31 is actually generated
properly,
> > however the XPROD function is not.  Interestingly this was the case with
> > both my  and Werner's compile(we are not sharing projects).  Now for the
> > real mystery... in the codebase you provided with your patch this now
> works
> > for the XPROD functions and I do see a minimal performance improvement
by
> > replacing the MACROS with your inline functions.  I can however go back
to
> > the last codebase, with the same eVC project file, and it will NOT allow
> the
> > XPROD functions to be inlined.  I will continue digging on this, Werner,
> any
> > ideas?  I guess I should check some of my other projects to make sure
the
> > functions that are suppose to be inline really are.
> >
> > That aside PocketDivx will now be switching to Tremor as it now
> outperforms
> > Nicholas' original port of vorbis. Nice job!!
> >
> > ----- Original Message -----
> > From: "Nicolas Pitre" <nico at cam.org>
> > To: "marc dukette" <dukette at adelphia.net>
> > Cc: <tremor at xiph.org>
> > Sent: Wednesday, October 09, 2002 3:34 PM
> > Subject: Re: [tremor] ARM ASM performance gains, EVC vs. GCC
> >
> >
> > > On Wed, 9 Oct 2002, marc dukette wrote:
> > >
> > > > well as for making eVC use the inline, yeah I had missed this. eVC
> will
> > only
> > > > respect inline functions in the same file.  It'll be a little ugly,
> but
> > I
> > > > should be able to make this work.
> > >
> > > Does this include files which are #included as well?  If so that's the
> > case
> > > for GCC as well.
> > >
> > >
> > > Nicolas
> > >
> > > --- >8 ----
> > > List archives:  http://www.xiph.org/archives/
> > > Ogg project homepage: http://www.xiph.org/ogg/
> > > To unsubscribe from this list, send a message to
> 'tremor-request at xiph.org'
> > > containing only the word 'unsubscribe' in the body.  No subject is
> needed.
> > > Unsubscribe messages sent to the list will be ignored/filtered.
> >
> > --- >8 ----
> > List archives:  http://www.xiph.org/archives/
> > Ogg project homepage: http://www.xiph.org/ogg/
> > To unsubscribe from this list, send a message to
'tremor-request at xiph.org'
> > containing only the word 'unsubscribe' in the body.  No subject is
needed.
> > Unsubscribe messages sent to the list will be ignored/filtered.
> >
>
> --- >8 ----
> List archives:  http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
> containing only the word 'unsubscribe' in the body.  No subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Tremor mailing list