cb8e98cdf3a407d6240a1292d6a7e69c3cd63c39
[riscv-tests.git] / isa / rv64uv / fcvt.S
1 #*****************************************************************************
2 # fcvt.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test fcvt instruction in a vf block.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64UV
12 RVTEST_CODE_BEGIN
13
14 vsetcfg 32,32
15 li a3,4
16 vsetvl a3,a3
17
18 la a3,src
19 vld vx2,a3
20 lui a0,%hi(vtcode)
21 vf %lo(vtcode)(a0)
22 la a4,dest
23 vfsd vf0,a4
24 fence
25 la a5,result
26 ld a1,0(a4)
27 ld a2,0(a5)
28 li TESTNUM,2
29 bne a1,a2,fail
30 ld a1,8(a4)
31 ld a2,8(a5)
32 li TESTNUM,3
33 bne a1,a2,fail
34 ld a1,16(a4)
35 ld a2,16(a5)
36 li TESTNUM,4
37 bne a1,a2,fail
38 ld a1,24(a4)
39 ld a2,24(a5)
40 li TESTNUM,5
41 bne a1,a2,fail
42 j pass
43
44 vtcode:
45 fcvt.d.l f0,x2
46 stop
47
48 TEST_PASSFAIL
49
50 RVTEST_CODE_END
51
52 .data
53 RVTEST_DATA_BEGIN
54
55 TEST_DATA
56
57 src:
58 .dword 1
59 .dword 2
60 .dword 3
61 .dword 4
62 dest:
63 .dword 0xdeadbeefcafebabe
64 .dword 0xdeadbeefcafebabe
65 .dword 0xdeadbeefcafebabe
66 .dword 0xdeadbeefcafebabe
67 result:
68 .double 1.0
69 .double 2.0
70 .double 3.0
71 .double 4.0
72
73 RVTEST_DATA_END