revamp hwacha tests
[riscv-tests.git] / isa / rv64uv / lh.S
1 #*****************************************************************************
2 # lh.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test lh instruction in a vf block.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64U
12 RVTEST_CODE_BEGIN
13
14 vsetcfg 16,0
15 li a4,512
16 vsetvl a4,a4
17
18 la a5,src
19 vmsv vx2,a5
20 lui a0,%hi(vtcode)
21 vf %lo(vtcode)(a0)
22 la a6,dest
23 vsd vx1,a6
24 fence
25
26 li a2,0
27 loop:
28 ld a0,0(a6)
29 ld a1,0(a5)
30 sll a3,a1,48
31 sra a3,a3,48
32 addi x28,a2,2
33 bne a0,a3,fail
34 addi a6,a6,8
35 addi a5,a5,8
36 addi a2,a2,1
37 bne a2,a4,loop
38 j pass
39
40 vtcode:
41 utidx x3
42 slli x3,x3,3
43 add x2,x2,x3
44 lh x1,0(x2)
45 stop
46
47 TEST_PASSFAIL
48
49 RVTEST_CODE_END
50
51 .data
52 RVTEST_DATA_BEGIN
53
54 TEST_DATA
55
56 src:
57 #include "data_d.h"
58
59 dest:
60 .skip 16384
61
62 RVTEST_DATA_END