With yesterday's SVN sources, the following source produces the same result with -ftree-cselim and -fno-tree-cselim on x86:
#include <pthread.h> static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; static int acquires_count = 0; int trylock() { int res; res = pthread_mutex_trylock(&mutex); if (res == 0) ++acquires_count; return res; } trylock: subl $12, %esp movl $mutex, (%esp) call pthread_mutex_trylock movl acquires_count, %edx cmpl $1, %eax adcl $0, %edx movl %edx, acquires_count addl $12, %esp ret Shouldn't the conditional store be preserved when -fno-tree-cselim is set? Sam -- Samuel Tardieu -- [EMAIL PROTECTED] -- http://www.rfc1149.net/