Skip to content

Commit 67c5e71

Browse files
Merge pull request #330 from cmuellner/zfa
Add support for the Zfa ISA extension
2 parents a7b7cd0 + 20e08ad commit 67c5e71

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+259543
-0
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# CHANGELOG
22

3+
## [3.8.17] - 2024-05-03
4+
- Add Zfa support.
5+
-
36
## [3.8.16] - 2024-04-26
47
- Split rv32i_m/F/fnmadd_b15.S, fnmsub_b15.S, fmadd_b15.S, fmsub_b15.S into multiple smaller tests
58

@@ -12,6 +15,7 @@ Add missing `Zfh` ISA in RVTEST_CASE for `Zfh` fdiv related tests
1215
## [3.8.13] - 2024-04-13
1316
- Fixed missing `F` and `Zfh` ISA identifiers in `Zfh/flh-align-01` RVTEST_CASE macro.
1417

18+
1519
## [3.8.12] - 2024-03-26
1620
Corrected missing RV64 strings in RVTEST_CASE macros for Zfh fcvt.h.l and similar tests
1721

@@ -27,6 +31,7 @@ Corrected missing RV64 strings in RVTEST_CASE macros for Zfh fcvt.h.l and simila
2731
- The TEST_JALR_OP macro invokes LA, which does not like x0 as an operand
2832
- replacing LA(rd, 5b) with auipc rd, 0 in test_macros.h solves the compiler issue and produces similar code but without a bunch of preceeding nops
2933

34+
3035
## [3.8.9] -- 2024-01-12
3136
- Fixed Check ISA fields to include 32/64 in Zicond tests. Note that the riscv-ctg CGFs have not been updated.
3237

Lines changed: 320 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,320 @@
1+
2+
// -----------
3+
// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg)
4+
// version : 0.12.1
5+
// timestamp : Mon Apr 1 19:38:40 2024 GMT
6+
// usage : riscv_ctg \
7+
// -- cgf // --cgf /home/cm/src/riscv-ctg/zfa/sample_cgfs/dataset.cgf \
8+
// --cgf /home/cm/src/riscv-ctg/zfa/sample_cgfs/zfa/fcvtmod.w.d.cgf \
9+
\
10+
// -- xlen 32 \
11+
// -----------
12+
//
13+
// -----------
14+
// Copyright (c) 2020. RISC-V International. All rights reserved.
15+
// SPDX-License-Identifier: BSD-3-Clause
16+
// -----------
17+
//
18+
// This assembly file tests the fcvtmod.w.d instruction of the RISC-V RV32FD_Zicsr_Zfa,RV64FD_Zicsr_Zfa extension for the fcvtmod.w.d_b1 covergroup.
19+
//
20+
#include "model_test.h"
21+
#include "arch_test.h"
22+
RVTEST_ISA("RV32IFD_Zicsr_Zfa,RV64IFD_Zicsr_Zfa")
23+
24+
.section .text.init
25+
.globl rvtest_entry_point
26+
rvtest_entry_point:
27+
RVMODEL_BOOT
28+
RVTEST_CODE_BEGIN
29+
30+
#ifdef TEST_CASE_1
31+
32+
RVTEST_CASE(0,"//check ISA:=regex(.*I.*D.*Zfa.*);def TEST_CASE_1=True;",fcvtmod.w.d_b1)
33+
34+
RVTEST_FP_ENABLE()
35+
RVTEST_VALBASEUPD(x3,test_dataset_0)
36+
RVTEST_SIGBASE(x1,signature_x1_1)
37+
38+
inst_0:// rs1==f31, rd==x31,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
39+
/* opcode: fcvtmod.w.d ; op1:f31; dest:x31; op1val:0x0; valaddr_reg:x3;
40+
val_offset:0*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
41+
fcsr_val:0*/
42+
TEST_FPID_OP(fcvtmod.w.d, x31, f31, rtz, 0, 0, x3, 0*FLEN/8, x4, x1, x2,FLREG)
43+
44+
inst_1:// rs1==f30, rd==x30,fs1 == 1 and fe1 == 0x000 and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
45+
/* opcode: fcvtmod.w.d ; op1:f30; dest:x30; op1val:0x8000000000000000; valaddr_reg:x3;
46+
val_offset:1*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
47+
fcsr_val:0*/
48+
TEST_FPID_OP(fcvtmod.w.d, x30, f30, rtz, 0, 0, x3, 1*FLEN/8, x4, x1, x2,FLREG)
49+
50+
inst_2:// rs1==f29, rd==x29,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000001 and fcsr == 0x0 and rm_val == 7
51+
/* opcode: fcvtmod.w.d ; op1:f29; dest:x29; op1val:0x1; valaddr_reg:x3;
52+
val_offset:2*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
53+
fcsr_val:0*/
54+
TEST_FPID_OP(fcvtmod.w.d, x29, f29, rtz, 0, 0, x3, 2*FLEN/8, x4, x1, x2,FLREG)
55+
56+
inst_3:// rs1==f28, rd==x28,fs1 == 1 and fe1 == 0x000 and fm1 == 0x0000000000001 and fcsr == 0x0 and rm_val == 7
57+
/* opcode: fcvtmod.w.d ; op1:f28; dest:x28; op1val:0x8000000000000001; valaddr_reg:x3;
58+
val_offset:3*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
59+
fcsr_val:0*/
60+
TEST_FPID_OP(fcvtmod.w.d, x28, f28, rtz, 0, 0, x3, 3*FLEN/8, x4, x1, x2,FLREG)
61+
62+
inst_4:// rs1==f27, rd==x27,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000002 and fcsr == 0x0 and rm_val == 7
63+
/* opcode: fcvtmod.w.d ; op1:f27; dest:x27; op1val:0x2; valaddr_reg:x3;
64+
val_offset:4*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
65+
fcsr_val:0*/
66+
TEST_FPID_OP(fcvtmod.w.d, x27, f27, rtz, 0, 0, x3, 4*FLEN/8, x4, x1, x2,FLREG)
67+
68+
inst_5:// rs1==f26, rd==x26,fs1 == 1 and fe1 == 0x000 and fm1 == 0x0000000000002 and fcsr == 0x0 and rm_val == 7
69+
/* opcode: fcvtmod.w.d ; op1:f26; dest:x26; op1val:0x8000000000000002; valaddr_reg:x3;
70+
val_offset:5*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
71+
fcsr_val:0*/
72+
TEST_FPID_OP(fcvtmod.w.d, x26, f26, rtz, 0, 0, x3, 5*FLEN/8, x4, x1, x2,FLREG)
73+
74+
inst_6:// rs1==f25, rd==x25,fs1 == 0 and fe1 == 0x000 and fm1 == 0xfffffffffffff and fcsr == 0x0 and rm_val == 7
75+
/* opcode: fcvtmod.w.d ; op1:f25; dest:x25; op1val:0xfffffffffffff; valaddr_reg:x3;
76+
val_offset:6*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
77+
fcsr_val:0*/
78+
TEST_FPID_OP(fcvtmod.w.d, x25, f25, rtz, 0, 0, x3, 6*FLEN/8, x4, x1, x2,FLREG)
79+
80+
inst_7:// rs1==f24, rd==x24,fs1 == 1 and fe1 == 0x000 and fm1 == 0xfffffffffffff and fcsr == 0x0 and rm_val == 7
81+
/* opcode: fcvtmod.w.d ; op1:f24; dest:x24; op1val:0x800fffffffffffff; valaddr_reg:x3;
82+
val_offset:7*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
83+
fcsr_val:0*/
84+
TEST_FPID_OP(fcvtmod.w.d, x24, f24, rtz, 0, 0, x3, 7*FLEN/8, x4, x1, x2,FLREG)
85+
86+
inst_8:// rs1==f23, rd==x23,fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
87+
/* opcode: fcvtmod.w.d ; op1:f23; dest:x23; op1val:0x10000000000000; valaddr_reg:x3;
88+
val_offset:8*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
89+
fcsr_val:0*/
90+
TEST_FPID_OP(fcvtmod.w.d, x23, f23, rtz, 0, 0, x3, 8*FLEN/8, x4, x1, x2,FLREG)
91+
92+
inst_9:// rs1==f22, rd==x22,fs1 == 1 and fe1 == 0x001 and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
93+
/* opcode: fcvtmod.w.d ; op1:f22; dest:x22; op1val:0x8010000000000000; valaddr_reg:x3;
94+
val_offset:9*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
95+
fcsr_val:0*/
96+
TEST_FPID_OP(fcvtmod.w.d, x22, f22, rtz, 0, 0, x3, 9*FLEN/8, x4, x1, x2,FLREG)
97+
98+
inst_10:// rs1==f21, rd==x21,fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000002 and fcsr == 0x0 and rm_val == 7
99+
/* opcode: fcvtmod.w.d ; op1:f21; dest:x21; op1val:0x10000000000002; valaddr_reg:x3;
100+
val_offset:10*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
101+
fcsr_val:0*/
102+
TEST_FPID_OP(fcvtmod.w.d, x21, f21, rtz, 0, 0, x3, 10*FLEN/8, x4, x1, x2,FLREG)
103+
104+
inst_11:// rs1==f20, rd==x20,fs1 == 1 and fe1 == 0x001 and fm1 == 0x0000000000002 and fcsr == 0x0 and rm_val == 7
105+
/* opcode: fcvtmod.w.d ; op1:f20; dest:x20; op1val:0x8010000000000002; valaddr_reg:x3;
106+
val_offset:11*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
107+
fcsr_val:0*/
108+
TEST_FPID_OP(fcvtmod.w.d, x20, f20, rtz, 0, 0, x3, 11*FLEN/8, x4, x1, x2,FLREG)
109+
110+
inst_12:// rs1==f19, rd==x19,fs1 == 0 and fe1 == 0x7fe and fm1 == 0xfffffffffffff and fcsr == 0x0 and rm_val == 7
111+
/* opcode: fcvtmod.w.d ; op1:f19; dest:x19; op1val:0x7fefffffffffffff; valaddr_reg:x3;
112+
val_offset:12*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
113+
fcsr_val:0*/
114+
TEST_FPID_OP(fcvtmod.w.d, x19, f19, rtz, 0, 0, x3, 12*FLEN/8, x4, x1, x2,FLREG)
115+
116+
inst_13:// rs1==f18, rd==x18,fs1 == 1 and fe1 == 0x7fe and fm1 == 0xfffffffffffff and fcsr == 0x0 and rm_val == 7
117+
/* opcode: fcvtmod.w.d ; op1:f18; dest:x18; op1val:0xffefffffffffffff; valaddr_reg:x3;
118+
val_offset:13*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
119+
fcsr_val:0*/
120+
TEST_FPID_OP(fcvtmod.w.d, x18, f18, rtz, 0, 0, x3, 13*FLEN/8, x4, x1, x2,FLREG)
121+
122+
inst_14:// rs1==f17, rd==x17,fs1 == 0 and fe1 == 0x7ff and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
123+
/* opcode: fcvtmod.w.d ; op1:f17; dest:x17; op1val:0x7ff0000000000000; valaddr_reg:x3;
124+
val_offset:14*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
125+
fcsr_val:0*/
126+
TEST_FPID_OP(fcvtmod.w.d, x17, f17, rtz, 0, 0, x3, 14*FLEN/8, x4, x1, x2,FLREG)
127+
128+
inst_15:// rs1==f16, rd==x16,fs1 == 1 and fe1 == 0x7ff and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
129+
/* opcode: fcvtmod.w.d ; op1:f16; dest:x16; op1val:0xfff0000000000000; valaddr_reg:x3;
130+
val_offset:15*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
131+
fcsr_val:0*/
132+
TEST_FPID_OP(fcvtmod.w.d, x16, f16, rtz, 0, 0, x3, 15*FLEN/8, x4, x1, x2,FLREG)
133+
134+
inst_16:// rs1==f15, rd==x15,fs1 == 0 and fe1 == 0x7ff and fm1 == 0x8000000000000 and fcsr == 0x0 and rm_val == 7
135+
/* opcode: fcvtmod.w.d ; op1:f15; dest:x15; op1val:0x7ff8000000000000; valaddr_reg:x3;
136+
val_offset:16*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
137+
fcsr_val:0*/
138+
TEST_FPID_OP(fcvtmod.w.d, x15, f15, rtz, 0, 0, x3, 16*FLEN/8, x4, x1, x2,FLREG)
139+
140+
inst_17:// rs1==f14, rd==x14,fs1 == 1 and fe1 == 0x7ff and fm1 == 0x8000000000000 and fcsr == 0x0 and rm_val == 7
141+
/* opcode: fcvtmod.w.d ; op1:f14; dest:x14; op1val:0xfff8000000000000; valaddr_reg:x3;
142+
val_offset:17*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
143+
fcsr_val:0*/
144+
TEST_FPID_OP(fcvtmod.w.d, x14, f14, rtz, 0, 0, x3, 17*FLEN/8, x4, x1, x2,FLREG)
145+
146+
inst_18:// rs1==f13, rd==x13,fs1 == 0 and fe1 == 0x7ff and fm1 == 0x8000000000001 and fcsr == 0x0 and rm_val == 7
147+
/* opcode: fcvtmod.w.d ; op1:f13; dest:x13; op1val:0x7ff8000000000001; valaddr_reg:x3;
148+
val_offset:18*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
149+
fcsr_val:0*/
150+
TEST_FPID_OP(fcvtmod.w.d, x13, f13, rtz, 0, 0, x3, 18*FLEN/8, x4, x1, x2,FLREG)
151+
152+
inst_19:// rs1==f12, rd==x12,fs1 == 1 and fe1 == 0x7ff and fm1 == 0x8000000000001 and fcsr == 0x0 and rm_val == 7
153+
/* opcode: fcvtmod.w.d ; op1:f12; dest:x12; op1val:0xfff8000000000001; valaddr_reg:x3;
154+
val_offset:19*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
155+
fcsr_val:0*/
156+
TEST_FPID_OP(fcvtmod.w.d, x12, f12, rtz, 0, 0, x3, 19*FLEN/8, x4, x1, x2,FLREG)
157+
158+
inst_20:// rs1==f11, rd==x11,fs1 == 0 and fe1 == 0x7ff and fm1 == 0x0000000000001 and fcsr == 0x0 and rm_val == 7
159+
/* opcode: fcvtmod.w.d ; op1:f11; dest:x11; op1val:0x7ff0000000000001; valaddr_reg:x3;
160+
val_offset:20*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
161+
fcsr_val:0*/
162+
TEST_FPID_OP(fcvtmod.w.d, x11, f11, rtz, 0, 0, x3, 20*FLEN/8, x4, x1, x2,FLREG)
163+
164+
inst_21:// rs1==f10, rd==x10,fs1 == 1 and fe1 == 0x7ff and fm1 == 0x0000000000001 and fcsr == 0x0 and rm_val == 7
165+
/* opcode: fcvtmod.w.d ; op1:f10; dest:x10; op1val:0xfff0000000000001; valaddr_reg:x3;
166+
val_offset:21*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
167+
fcsr_val:0*/
168+
TEST_FPID_OP(fcvtmod.w.d, x10, f10, rtz, 0, 0, x3, 21*FLEN/8, x4, x1, x2,FLREG)
169+
170+
inst_22:// rs1==f9, rd==x9,fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
171+
/* opcode: fcvtmod.w.d ; op1:f9; dest:x9; op1val:0x3ff0000000000000; valaddr_reg:x3;
172+
val_offset:22*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
173+
fcsr_val:0*/
174+
TEST_FPID_OP(fcvtmod.w.d, x9, f9, rtz, 0, 0, x3, 22*FLEN/8, x4, x1, x2,FLREG)
175+
176+
inst_23:// rs1==f8, rd==x8,fs1 == 1 and fe1 == 0x3f8 and fm1 == 0x0000000000000 and fcsr == 0x0 and rm_val == 7
177+
/* opcode: fcvtmod.w.d ; op1:f8; dest:x8; op1val:0xbf80000000000000; valaddr_reg:x3;
178+
val_offset:23*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
179+
fcsr_val:0*/
180+
TEST_FPID_OP(fcvtmod.w.d, x8, f8, rtz, 0, 0, x3, 23*FLEN/8, x4, x1, x2,FLREG)
181+
RVTEST_VALBASEUPD(x8,test_dataset_1)
182+
183+
inst_24:// rs1==f7, rd==x7,
184+
/* opcode: fcvtmod.w.d ; op1:f7; dest:x7; op1val:0x0; valaddr_reg:x8;
185+
val_offset:0*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
186+
fcsr_val:0*/
187+
TEST_FPID_OP(fcvtmod.w.d, x7, f7, rtz, 0, 0, x8, 0*FLEN/8, x9, x1, x2,FLREG)
188+
189+
inst_25:// rs1==f6, rd==x6,
190+
/* opcode: fcvtmod.w.d ; op1:f6; dest:x6; op1val:0x0; valaddr_reg:x8;
191+
val_offset:1*FLEN/8; rmval:rtz; correctval:??; testreg:x2;
192+
fcsr_val:0*/
193+
TEST_FPID_OP(fcvtmod.w.d, x6, f6, rtz, 0, 0, x8, 1*FLEN/8, x9, x1, x2,FLREG)
194+
195+
inst_26:// rs1==f5, rd==x5,
196+
/* opcode: fcvtmod.w.d ; op1:f5; dest:x5; op1val:0x0; valaddr_reg:x8;
197+
val_offset:2*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
198+
fcsr_val:0*/
199+
TEST_FPID_OP(fcvtmod.w.d, x5, f5, rtz, 0, 0, x8, 2*FLEN/8, x9, x1, x6,FLREG)
200+
RVTEST_SIGBASE(x5,signature_x5_0)
201+
202+
inst_27:// rs1==f4, rd==x4,
203+
/* opcode: fcvtmod.w.d ; op1:f4; dest:x4; op1val:0x0; valaddr_reg:x8;
204+
val_offset:3*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
205+
fcsr_val:0*/
206+
TEST_FPID_OP(fcvtmod.w.d, x4, f4, rtz, 0, 0, x8, 3*FLEN/8, x9, x5, x6,FLREG)
207+
208+
inst_28:// rs1==f3, rd==x3,
209+
/* opcode: fcvtmod.w.d ; op1:f3; dest:x3; op1val:0x0; valaddr_reg:x8;
210+
val_offset:4*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
211+
fcsr_val:0*/
212+
TEST_FPID_OP(fcvtmod.w.d, x3, f3, rtz, 0, 0, x8, 4*FLEN/8, x9, x5, x6,FLREG)
213+
214+
inst_29:// rs1==f2, rd==x2,
215+
/* opcode: fcvtmod.w.d ; op1:f2; dest:x2; op1val:0x0; valaddr_reg:x8;
216+
val_offset:5*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
217+
fcsr_val:0*/
218+
TEST_FPID_OP(fcvtmod.w.d, x2, f2, rtz, 0, 0, x8, 5*FLEN/8, x9, x5, x6,FLREG)
219+
220+
inst_30:// rs1==f1, rd==x1,
221+
/* opcode: fcvtmod.w.d ; op1:f1; dest:x1; op1val:0x0; valaddr_reg:x8;
222+
val_offset:6*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
223+
fcsr_val:0*/
224+
TEST_FPID_OP(fcvtmod.w.d, x1, f1, rtz, 0, 0, x8, 6*FLEN/8, x9, x5, x6,FLREG)
225+
226+
inst_31:// rs1==f0, rd==x0,
227+
/* opcode: fcvtmod.w.d ; op1:f0; dest:x0; op1val:0x0; valaddr_reg:x8;
228+
val_offset:7*FLEN/8; rmval:rtz; correctval:??; testreg:x6;
229+
fcsr_val:0*/
230+
TEST_FPID_OP(fcvtmod.w.d, x0, f0, rtz, 0, 0, x8, 7*FLEN/8, x9, x5, x6,FLREG)
231+
#endif
232+
233+
234+
RVTEST_CODE_END
235+
RVMODEL_HALT
236+
237+
RVTEST_DATA_BEGIN
238+
.align 4
239+
rvtest_data:
240+
.word 0xbabecafe
241+
.word 0xabecafeb
242+
.word 0xbecafeba
243+
.word 0xecafebab
244+
test_dataset_0:
245+
NAN_BOXED(0,64,FLEN)
246+
NAN_BOXED(9223372036854775808,64,FLEN)
247+
NAN_BOXED(1,64,FLEN)
248+
NAN_BOXED(9223372036854775809,64,FLEN)
249+
NAN_BOXED(2,64,FLEN)
250+
NAN_BOXED(9223372036854775810,64,FLEN)
251+
NAN_BOXED(4503599627370495,64,FLEN)
252+
NAN_BOXED(9227875636482146303,64,FLEN)
253+
NAN_BOXED(4503599627370496,64,FLEN)
254+
NAN_BOXED(9227875636482146304,64,FLEN)
255+
NAN_BOXED(4503599627370498,64,FLEN)
256+
NAN_BOXED(9227875636482146306,64,FLEN)
257+
NAN_BOXED(9218868437227405311,64,FLEN)
258+
NAN_BOXED(18442240474082181119,64,FLEN)
259+
NAN_BOXED(9218868437227405312,64,FLEN)
260+
NAN_BOXED(18442240474082181120,64,FLEN)
261+
NAN_BOXED(9221120237041090560,64,FLEN)
262+
NAN_BOXED(18444492273895866368,64,FLEN)
263+
NAN_BOXED(9221120237041090561,64,FLEN)
264+
NAN_BOXED(18444492273895866369,64,FLEN)
265+
NAN_BOXED(9218868437227405313,64,FLEN)
266+
NAN_BOXED(18442240474082181121,64,FLEN)
267+
NAN_BOXED(4607182418800017408,64,FLEN)
268+
NAN_BOXED(13799029258263199744,64,FLEN)
269+
test_dataset_1:
270+
NAN_BOXED(0,64,FLEN)
271+
NAN_BOXED(0,64,FLEN)
272+
NAN_BOXED(0,64,FLEN)
273+
NAN_BOXED(0,64,FLEN)
274+
NAN_BOXED(0,64,FLEN)
275+
NAN_BOXED(0,64,FLEN)
276+
NAN_BOXED(0,64,FLEN)
277+
NAN_BOXED(0,64,FLEN)
278+
RVTEST_DATA_END
279+
280+
RVMODEL_DATA_BEGIN
281+
rvtest_sig_begin:
282+
sig_begin_canary:
283+
CANARY;
284+
285+
286+
287+
signature_x1_0:
288+
.fill 0*((SIGALIGN)/4),4,0xdeadbeef
289+
290+
291+
signature_x1_1:
292+
.fill 54*((SIGALIGN)/4),4,0xdeadbeef
293+
294+
295+
signature_x5_0:
296+
.fill 10*((SIGALIGN)/4),4,0xdeadbeef
297+
298+
#ifdef rvtest_mtrap_routine
299+
tsig_begin_canary:
300+
CANARY;
301+
302+
mtrap_sigptr:
303+
.fill 64*XLEN/32,4,0xdeadbeef
304+
305+
tsig_end_canary:
306+
CANARY;
307+
#endif
308+
309+
#ifdef rvtest_gpr_save
310+
311+
gpr_save:
312+
.fill 32*XLEN/32,4,0xdeadbeef
313+
314+
#endif
315+
316+
317+
sig_end_canary:
318+
CANARY;
319+
rvtest_sig_end:
320+
RVMODEL_DATA_END

0 commit comments

Comments
 (0)