1a50807d0ebdcf7c68b8b966d3db1670b7056439
[riscv-tests.git] / isa / rv64uv / fence.S
1 # See LICENSE for license details.
2
3 #*****************************************************************************
4 # fence.S
5 #-----------------------------------------------------------------------------
6 #
7 # Test fence instruction in a vf block.
8 #
9
10 #include "riscv_test.h"
11 #include "test_macros.h"
12
13 RVTEST_RV64UV
14 RVTEST_CODE_BEGIN
15
16 # make sure these don't choke at the beginning
17 fence
18 fence rw,io
19 fence io,rw
20 fence r,io
21 fence w,io
22 fence rw,i
23 fence rw,o
24
25 li a0,1
26 bne a0,x0,skip1
27 fence
28 skip1:
29
30 bne a0,x0,skip3
31 fence
32 skip3:
33
34 j pass
35
36 TEST_PASSFAIL
37
38 RVTEST_CODE_END
39
40 .data
41 RVTEST_DATA_BEGIN
42
43 TEST_DATA
44
45 src1:
46 .dword 1
47 .dword 2
48 .dword 3
49 .dword 4
50 src2:
51 .dword 4
52 .dword 3
53 .dword 2
54 .dword 1
55 dest:
56 .dword 0xdeadbeefcafebabe
57 .dword 0xdeadbeefcafebabe
58 .dword 0xdeadbeefcafebabe
59 .dword 0xdeadbeefcafebabe
60
61 RVTEST_DATA_END