ppc e500: misc <spe.h> patches

Andreas Schwab schwab@suse.de
Wed Feb 12 23:15:00 GMT 2003


Daniel Jacobowitz <drow@mvista.com> writes:

|> On Wed, Feb 12, 2003 at 08:57:02PM +0000, Graham Stott wrote:
|> > Hi Aldy,
|> > 
|> > Aldy Hernandez wrote:
|> > 
|> > >Index: config/rs6000/spe.h
|> > >===================================================================
|> > >RCS file: /cvs/gcc/gcc/gcc/config/rs6000/spe.h,v
|> > >retrieving revision 1.6
|> > >diff -c -p -r1.6 spe.h
|> > >*** config/rs6000/spe.h    21 Dec 2002 01:21:23 -0000    1.6
|> > >--- config/rs6000/spe.h    12 Feb 2003 20:23:55 -0000
|> > 
|> > 
|> > >  #define __ev_fsabs(a) ((__v2si) __builtin_spe_evfsabs ((__v2sf) a))
|> > >  #define __ev_fsnabs(a) ((__v2si) __builtin_spe_evfsnabs ((__v2sf) a))
|> > I know these aren't part of your patch but it looks like these two macros
|> > and possibly others need parentheses around the argument. Maybe you could
|> > address these in a follow up patch given that you're hacking this file.
|> 
|> I don't believe that's true - if A is the operand for a cast, and the
|> only argument to a function, there's no way for it to need additional
|> parentheses.

A cast has a very high precedence, just after unary operators.  Any binary
operator in the macro argument will cause problems.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-patches mailing list