> The code is compiled so that the xmm/ymm registers are not available to > the compiler. Do you have any known examples of asm volatiles being > reordered *with respect to each other*? My understandings of gcc is > that volatile operations are ordered with respect to each other (not > necessarily with respect to non-volatile operations, though.) Can you quote it from the manual? As I understand volatile as usual is not clearly defined. gcc has a lot of optimization passes and volatile bugs are common. > Either way, this implementatin technique was used for the MMX/SSE > implementations without any problems for 9 years now. It's still wrong. Lying to the compiler usually bites you at some point. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html