[Bug middle-end/35590] Value profiling: string op -- requires power of 2 value??

xinliangli at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Mar 14 18:56:00 GMT 2008



------- Comment #1 from xinliangli at gmail dot com  2008-03-14 18:55 -------
(In reply to comment #0)
> value profiling transformation does not kick in for the following simple
> program. Looks like it requires power of 2 values to dominate.  It is probably
> not due to design but simply lack of unit testing for feature.
> 
> #include <string.h>
> 
> void mycpy (char* s1, char *s2, int n) __attribute__((noinline));
> void mycpy (char* s1, char *s2, int n)
> {
>   memcpy(s1,s2,n);
> }
> 
> 
> int main()
> {
> 
>    char *s1 = malloc(100000);
>    char *s2 = malloc(100000);
>    int i;
> 
>    for ( i = 0 ; i < 100000; i ++)
>    {
>         mycpy(s1,s2, 129);
>    }
> 
> }
> 


Even stranger, try 128 it works, but not for 256. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35590



More information about the Gcc-bugs mailing list