Add LICENSE
[riscv-tests.git] / isa / rv64uv / keepcfg.S
1 # See LICENSE for license details.
2
3 #*****************************************************************************
4 # utidx.S
5 #-----------------------------------------------------------------------------
6 #
7 # Test utidx 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 vsetcfg 2,0
17 li s0,2048
18 vsetvl s0,s0
19
20 lui a0,%hi(vtcode1)
21 vf %lo(vtcode1)(a0)
22 la a4,dest1
23 vsd vx1,a4
24
25 vsetcfg 3,0
26 li s1,2048
27 vsetvl s1,s1
28
29 lui a0,%hi(vtcode2)
30 vf %lo(vtcode2)(a0)
31 la a4,dest2
32 vsd vx1,a4
33
34 fence
35
36 la a4,dest1
37 li a1,1
38 loop1:
39 ld a0,0(a4)
40 addi TESTNUM,a1,2
41 bne a0,a1,fail
42 addi a4,a4,8
43 addi a1,a1,1
44 bne a1,s0,loop1
45
46 la a4,dest2
47 li a1,1024
48 li a2,1
49 loop2:
50 ld a0,0(a4)
51 addi TESTNUM,a1,2
52 bne a0,a1,fail
53 addi a4,a4,8
54 addi a1,a1,1
55 addi a2,a2,1
56 bne a2,s1,loop2
57
58 j pass
59
60 vtcode1:
61 utidx x1
62 addi x1,x1,1
63 stop
64
65 vtcode2:
66 utidx x1
67 addi x1,x1,1024
68 stop
69
70 TEST_PASSFAIL
71
72 RVTEST_CODE_END
73
74 .data
75 RVTEST_DATA_BEGIN
76
77 TEST_DATA
78
79 dest1:
80 .skip 16384
81
82 dest2:
83 .skip 16384
84
85 RVTEST_DATA_END