Hi all concerned:
this test code I given below: AARCH32 [https://email-cn04.huawei.com/owa/14.3.158.1/themes/base/pgrs-sm.gif] Test function[X][X] { volatile unsigned int val0 = 0; volatile unsigned int val1 = 0; asm volatile(“mrrc p15, 1, %0, %1, c15” : “=r”(val0), “=r”(val1)) val0 &= ~(1<<6); val1 &= ~(1<<6); asm volatile(“mcrr p15, 1, %0, %1, c15” : “=r”(val0), “=r”(val1)); } After compiling, the result is: mrrc 15, 1, r2, r3, cr15 str r2, [fp, #-28] str r3, [fp, #-24] ldr r3, [fp, #-28] bic r3, r3, #64; str r3, [fp, #-28] ldr r3, [fp, #-24] bic r3, r3, #64 str r3, [fp, #-24] mcrr 15, 1, r2, r3, cr15 obviously , it is not what I expect. I have val0 an vl1 two vars, but the compiling result is only one val takes effect. especia I have to mention is AARCH32. thanks. Peter
_______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain