Don't access memory outside of the binary's range
[riscv-tests.git] / isa / rv64ui / amomin_d.S
1 #*****************************************************************************
2 # amomin_d.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test amomin.d instruction.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64U
12 RVTEST_CODE_BEGIN
13
14 TEST_CASE(2, a4, 0xffffffff80000000, \
15 li a0, 0xffffffff80000000; \
16 li a1, 0xfffffffffffff800; \
17 la a3, amo_operand; \
18 sd a0, 0(a3); \
19 amomin.d a4, a1, 0(a3); \
20 )
21
22 TEST_CASE(3, a5, 0xffffffff80000000, ld a5, 0(a3))
23
24 TEST_CASE(4, a4, 0, \
25 li a1, 0xffffffffffffffff; \
26 sd x0, 0(a3); \
27 amomin.d a4, a1, 0(a3); \
28 )
29
30 TEST_CASE(5, a5, 0xffffffffffffffff, ld a5, 0(a3))
31
32 TEST_PASSFAIL
33
34 RVTEST_CODE_END
35
36 .data
37 RVTEST_DATA_BEGIN
38
39 TEST_DATA
40
41 RVTEST_DATA_END
42
43 .bss
44 .align 3
45 amo_operand:
46 .dword 0
47 .skip 65536