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] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0



> -----Original Message-----
> From: Jeff Law [mailto:law@redhat.com]
> Sent: Friday, October 11, 2013 1:20 PM
> To: Zhenqiang Chen
> Cc: gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2
-
> CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0
> 
> On 10/10/13 03:25, Zhenqiang Chen wrote:
> 
> >
> > It comes from Coremark. The code is:
> >
> > if (NEXT_SYMBOL == '+' || NEXT_SYMBOL == '-')
> I should have guessed ;-)
> 
> 
> >
> > For ARM, there are three instructions rather than 4 (in thumb state).
> > For some older gcc, I got performance improvement on ARM chromebook.
> > But I can not reproduce the performance gain now.
> >
> > I will collect logs during GCC bootstrap.
> Thanks.  It doesn't have to be anything particularly complex.  When I'm
> looking at a transformation I usually just put a printf when it triggers
and grep
> for the string in a make log.

Thanks. I check the make log. There are 1906 occurrences.
 
> Depending on what I'm doing, I may dig more deeply into the situations
> where its triggering to make sure I fully understand the primary and
> secondary effects of a transformation which often leads to tweaking the
> implementation.  I don't think that level of rigor is needed here.
> 
> Jeff
> 





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