1*b345e140SMax Filippov#include "macros.inc" 2*b345e140SMax Filippov 3*b345e140SMax Filippovtest_suite exclusive 4*b345e140SMax Filippov 5*b345e140SMax Filippov#if XCHAL_HAVE_EXCLUSIVE 6*b345e140SMax Filippov 7*b345e140SMax Filippovtest exclusive_nowrite 8*b345e140SMax Filippov movi a2, 0x29 9*b345e140SMax Filippov wsr a2, atomctl 10*b345e140SMax Filippov clrex 11*b345e140SMax Filippov movi a2, 1f 12*b345e140SMax Filippov movi a3, 1 13*b345e140SMax Filippov s32ex a3, a2 14*b345e140SMax Filippov getex a3 15*b345e140SMax Filippov assert eqi, a3, 0 16*b345e140SMax Filippov l32i a3, a2, 0 17*b345e140SMax Filippov assert eqi, a3, 3 18*b345e140SMax Filippov 19*b345e140SMax Filippov.data 20*b345e140SMax Filippov.align 4 21*b345e140SMax Filippov1: 22*b345e140SMax Filippov .word 3 23*b345e140SMax Filippov.text 24*b345e140SMax Filippovtest_end 25*b345e140SMax Filippov 26*b345e140SMax Filippovtest exclusive_write 27*b345e140SMax Filippov movi a2, 0x29 28*b345e140SMax Filippov wsr a2, atomctl 29*b345e140SMax Filippov movi a2, 1f 30*b345e140SMax Filippov l32ex a3, a2 31*b345e140SMax Filippov assert eqi, a3, 3 32*b345e140SMax Filippov movi a3, 2 33*b345e140SMax Filippov s32ex a3, a2 34*b345e140SMax Filippov getex a3 35*b345e140SMax Filippov assert eqi, a3, 1 36*b345e140SMax Filippov l32i a3, a2, 0 37*b345e140SMax Filippov assert eqi, a3, 2 38*b345e140SMax Filippov 39*b345e140SMax Filippov.data 40*b345e140SMax Filippov.align 4 41*b345e140SMax Filippov1: 42*b345e140SMax Filippov .word 3 43*b345e140SMax Filippov.text 44*b345e140SMax Filippovtest_end 45*b345e140SMax Filippov 46*b345e140SMax Filippov#endif 47*b345e140SMax Filippov 48*b345e140SMax Filippovtest_suite_end 49