xref: /qemu/tests/tcg/xtensa/test_s32c1i.S (revision 4179575898fcc17c5e67306a357b8dfe64122e8e)
1a2e67072SMax Filippov#include "macros.inc"
25dacd229SMax Filippov
35dacd229SMax Filippovtest_suite s32c1i
45dacd229SMax Filippov
5*00988da4SMax Filippov#if XCHAL_HAVE_S32C1I
6*00988da4SMax Filippov
75dacd229SMax Filippovtest s32c1i_nowrite
8*00988da4SMax Filippov#if XCHAL_HW_VERSION >= 230000
9*00988da4SMax Filippov    movi    a2, 0x29
10*00988da4SMax Filippov    wsr     a2, atomctl
11*00988da4SMax Filippov#endif
125dacd229SMax Filippov    movi    a2, 1f
135dacd229SMax Filippov    movi    a3, 1
145dacd229SMax Filippov    wsr     a3, scompare1
155dacd229SMax Filippov    movi    a1, 2
165dacd229SMax Filippov    s32c1i  a1, a2, 0
175dacd229SMax Filippov    assert  ne, a1, a3
185dacd229SMax Filippov    l32i    a1, a2, 0
195dacd229SMax Filippov    assert  eqi, a1, 3
205dacd229SMax Filippov
215dacd229SMax Filippov.data
225dacd229SMax Filippov.align 4
235dacd229SMax Filippov1:
245dacd229SMax Filippov    .word   3
255dacd229SMax Filippov.text
265dacd229SMax Filippovtest_end
275dacd229SMax Filippov
285dacd229SMax Filippovtest s32c1i_write
29*00988da4SMax Filippov#if XCHAL_HW_VERSION >= 230000
30*00988da4SMax Filippov    movi    a2, 0x29
31*00988da4SMax Filippov    wsr     a2, atomctl
32*00988da4SMax Filippov#endif
335dacd229SMax Filippov    movi    a2, 1f
345dacd229SMax Filippov    movi    a3, 3
355dacd229SMax Filippov    wsr     a3, scompare1
365dacd229SMax Filippov    movi    a1, 2
375dacd229SMax Filippov    s32c1i  a1, a2, 0
385dacd229SMax Filippov    assert  eq, a1, a3
395dacd229SMax Filippov    l32i    a1, a2, 0
405dacd229SMax Filippov    assert  eqi, a1, 2
415dacd229SMax Filippov
425dacd229SMax Filippov.data
435dacd229SMax Filippov.align 4
445dacd229SMax Filippov1:
455dacd229SMax Filippov    .word   3
465dacd229SMax Filippov.text
475dacd229SMax Filippovtest_end
485dacd229SMax Filippov
49*00988da4SMax Filippov#endif
50*00988da4SMax Filippov
515dacd229SMax Filippovtest_suite_end
52