initial commit
[riscv-tests.git] / isa / rv64uv / vvadd_branch.S
1 #*****************************************************************************
2 # vvadd_branch.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test vvadd branch.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64U
12 RVTEST_CODE_BEGIN
13
14 li a3,4
15 vvcfgivl a3,a3,32,0
16
17 la a3,src1
18 la a4,src2
19 vld vx2,a3
20 vld vx3,a4
21 lui a0,%hi(vtcode1)
22 vf %lo(vtcode1)(a0)
23 la a5,dest
24 vsd vx2,a5
25 fence.v.l
26
27 ld a1,0(a5)
28 li a2,8
29 li x28,2
30 bne a1,a2,fail
31 ld a1,8(a5)
32 li a2, 6
33 li x28,3
34 bne a1,a2,fail
35 ld a1,16(a5)
36 li a2, 4
37 li x28,4
38 bne a1,a2,fail
39 li a2, 2
40 ld a1,24(a5)
41 li x28,5
42 bne a1,a2,fail
43
44 la a3,src1
45 vld vx4,a3
46 li a4, 3
47 vmsv vx5,a4
48 lui a0,%hi(vtcode2)
49 vf %lo(vtcode2)(a0)
50 la a5,dest
51 vsd vx4,a5
52 fence.v.l
53
54 ld a1,0(a5)
55 li a2,1
56 li x28,6
57 bne a1,a2,fail
58 ld a1,8(a5)
59 li a2,2
60 li x28,7
61 bne a1,a2,fail
62 ld a1,16(a5)
63 li a2,0
64 li x28,8
65 bne a1,a2,fail
66 ld a1,24(a5)
67 li a2,0
68 li x28,9
69 bne a1,a2,fail
70
71 la a3,src2
72 vld vx5,a3
73 lui a0,%hi(vtcode3)
74 vf %lo(vtcode3)(a0)
75 la a5,dest
76 vsd vx5,a5
77 fence.v.l
78
79 ld a1,0(a5)
80 li a2,4
81 li x28,6
82 bne a1,a2,fail
83 ld a1,8(a5)
84 li a2,3
85 li x28,7
86 bne a1,a2,fail
87 ld a1,16(a5)
88 li a2,2
89 li x28,8
90 bne a1,a2,fail
91 ld a1,24(a5)
92 li a2,1
93 li x28,9
94 bne a1,a2,fail
95
96 j pass
97
98 vtcode1:
99 beq x2, x2, end
100 add x2,x2,x3
101 end: add x2, x3, x3
102 stop
103
104 vtcode2:
105 blt x4, x5, end2
106 add x4, x0, x0
107 end2: add x4, x4, x0
108 stop
109
110 vtcode3:
111 bge x5, x0, end3
112 add x5, x0, x0
113 end3: add x5, x5,x0
114 stop
115
116 TEST_PASSFAIL
117
118 RVTEST_CODE_END
119
120 .data
121 RVTEST_DATA_BEGIN
122
123 TEST_DATA
124
125 src1:
126 .dword 1
127 .dword 2
128 .dword 3
129 .dword 4
130 src2:
131 .dword 4
132 .dword 3
133 .dword 2
134 .dword 1
135 dest:
136 .dword 0xdeadbeefcafebabe
137 .dword 0xdeadbeefcafebabe
138 .dword 0xdeadbeefcafebabe
139 .dword 0xdeadbeefcafebabe
140
141 RVTEST_DATA_END