e355eb80f9dd0d2ee12f5a7f60a942f482498810
[riscv-tests.git] / isa / rv64uv / vfmsv_d.S
1 #*****************************************************************************
2 # vfmsv_d.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test vfmsv.d instruction.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64UV
12 RVTEST_CODE_BEGIN
13
14 vsetcfg 3,1
15 li a2,680
16 vsetvl a2,a2
17
18 li a3,-1
19 vfmsv.d vf0,a3
20 lui a0,%hi(vtcode)
21 vf %lo(vtcode)(a0)
22 la a4,dest
23 vsd vx2,a4
24 fence
25
26 li a1,0
27 loop:
28 ld a0,0(a4)
29 addi TESTNUM,a1,2
30 bne a0,a1,fail
31 addi a4,a4,8
32 addi a1,a1,1
33 bne a1,a2,loop
34 j pass
35
36 vtcode:
37 utidx x1
38 addi x1,x1,1
39 fmv.x.d x2, f0
40 add x2,x1,x2
41 stop
42
43 TEST_PASSFAIL
44
45 RVTEST_CODE_END
46
47 .data
48 RVTEST_DATA_BEGIN
49
50 TEST_DATA
51
52 dest:
53 .skip 16384
54
55 RVTEST_DATA_END