qemu/tests/tcg/xtensa/test_exclusive.S
<<
>>
Prefs
   1#include "macros.inc"
   2
   3test_suite exclusive
   4
   5#if XCHAL_HAVE_EXCLUSIVE
   6
   7test exclusive_nowrite
   8    movi    a2, 0x29
   9    wsr     a2, atomctl
  10    clrex
  11    movi    a2, 1f
  12    movi    a3, 1
  13    s32ex   a3, a2
  14    getex   a3
  15    assert  eqi, a3, 0
  16    l32i    a3, a2, 0
  17    assert  eqi, a3, 3
  18
  19.data
  20.align 4
  211:
  22    .word   3
  23.text
  24test_end
  25
  26test exclusive_write
  27    movi    a2, 0x29
  28    wsr     a2, atomctl
  29    movi    a2, 1f
  30    l32ex   a3, a2
  31    assert  eqi, a3, 3
  32    movi    a3, 2
  33    s32ex   a3, a2
  34    getex   a3
  35    assert  eqi, a3, 1
  36    l32i    a3, a2, 0
  37    assert  eqi, a3, 2
  38
  39.data
  40.align 4
  411:
  42    .word   3
  43.text
  44test_end
  45
  46#endif
  47
  48test_suite_end
  49