Given two asms with the same output, the first may be deleted if the value
it computes is not used before the second asm (traditional dead code
elimination).
In the example provided, it is cse, not combine that (in my opinion)
incorrectly eliminated one of the rdtsc asms (the volatile asms between
the rdtsc asms should have prevented cse from doing that).
You can see this by running the compiler with the "-dap" option, then
examining the .jump file, then examining the .cse file.
This (IMHO) is a compiler bug.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/