![]() | |||||||||||
Messages in this thread |
> pushl %ebp > movl %esp, %ebp > cmpl $0, 8(%ebp) > movl $1, %eax > cmove v, %eax ; load (maybe) > movl %eax, v ; store (always) > popl %ebp > ret How is this even an optimization? It looks SLOWER to me. The conditional read wastes memory bandwidth sometimes, if the condition is true, and v isn't already in the cache. The unconditional write wastes memory bandwidth ALL the time, and dirties/flushes caches, in addition to not being thread safe. This SHOULD be using a conditional write instead of a conditional read and an unconditional write. - 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: 2007-10-31 23:13 [from the cache] ©2003-2008 | |||||||||||