Optimising std::find on x86 and PPC
Gabriel Dos Reis
gdr@integrable-solutions.net
Tue Dec 14 22:05:00 GMT 2004
Andrew Pinski <pinskia@physics.uc.edu> writes:
| On Dec 14, 2004, at 4:40 PM, Gabriel Dos Reis wrote:
|
| > Paolo Carlini <pcarlini@suse.de> writes:
| > That is a clear regression.
| >
| > Tree-ssa has been sold on the name of bringing better methodology to
| > optimizations; given Theo's analysis, I think this issue no longer
| > belongs to V3. It should be brought to GCC main list
|
| Actually if we look at this way, this looks like the new unroller which
| was introduced in 3.4.0 which is broken and not anything related to the
| tree-ssa. Sorry to mention that but I just don't want to give tree-ssa
| a bad name since it is not related to it.
And you're right in doing so -- especially if I miscredit the
regression to tree-ssa.
|
| The example given in the libstdc++ archives could be summarized by:
| int check(int a,int b, char *c)
| {
| for(;a<b;a+=4)
| if(c[a]==1) return a;
| return a;
| }
|
| note how I made both a and b integers and how I increment by 4 instead
| of 1.
| The thing which is confusing the loop unroller is the increment by 4 and
| nothing else.
|
| This should also effect 3.4.0 as that is when the new unroller came in.
|
| Thanks,
| Andrew Pinski
--
Gabriel Dos Reis
gdr@integrable-solutions.net
More information about the Libstdc++
mailing list