![]() | |||||||||||||
Messages in this thread |
Hi Oliver,
On 3/19/06, Oliver Neukum <oliver@neukum.org> wrote:
> Yes it is. The generated code is identical. But on second thought this is still
> not optimal. A full division is generated:
>
> xorl %edx, %edx
> movl $2147483647, %eax
> movq $0, 40(%rsp)
> divq %rcx
> movl $8, %edx
> cmpq %rax, %rdx
> ja .L313
>
> Rewriting the test as:
> n!=0 && n > INT_MAX / size
> saves the division because size is much likelier to be a constant, and indeed
> the code is better:
>
> cmpq $268435455, %rax
> movq $0, 40(%rsp)
> ja .L313
>
> Is there anything I am missing?
Did you check allyesconfig vmlinux size before and after? If it helps,
like it probably does, post a patch!
Pekka
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2006-03-20 08:27 [from the cache] ©2003-2008 | |||||||||||||