
// -----------
// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg)
// version   : 0.11.0
// timestamp : Wed Jun 21 10:36:13 2023 GMT
// usage     : riscv_ctg \
//                  -- cgf //                  --cgf /home/riscv/update/riscv-ctg/sample_cgfs/dataset.cgf \
//                  --cgf /home/riscv/update/riscv-ctg/sample_cgfs/sample_cgfs_fext/RV64Zfinx/fadd.s.cgf \
 \
//                  -- xlen 64  \
// -----------
//
// -----------
// Copyright (c) 2020. RISC-V International. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause
// -----------
//
// This assembly file tests the fadd.s instruction of the RISC-V RV64_Zfinx,RV64_Zdinx extension for the fadd_b10 covergroup.
// 
#include "model_test.h"
#include "arch_test.h"
RVTEST_ISA("RV64I_Zfinx,RV64I_Zdinx")

.section .text.init
.globl rvtest_entry_point
rvtest_entry_point:
RVMODEL_BOOT
RVTEST_CODE_BEGIN

#ifdef TEST_CASE_1

RVTEST_CASE(0,"//check ISA:=regex(.*I.*Zfinx.*);def TEST_CASE_1=True;",fadd_b10)

RVTEST_FP_ENABLE()
RVTEST_VALBASEUPD(x3,test_dataset_0)
RVTEST_SIGBASE(x1,signature_x1_1)

inst_0:
// rs1 == rs2 == rd, rs1==x31, rs2==x31, rd==x31,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x00 and fm2 == 0x000000 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x31; op2:x31; dest:x31; op1val:0x7a260524; op2val:0x7a260524; 
   valaddr_reg:x3; val_offset:0*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x31, x31, x31, dyn, 0, 0, x3, 0*FLEN/8, x4, x1, x2)

inst_1:
// rs1 != rs2  and rs1 != rd and rs2 != rd, rs1==x29, rs2==x28, rd==x30,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x08 and fm2 == 0x248f41 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x29; op2:x28; dest:x30; op1val:0x7a260524; op2val:0x4248f41; 
   valaddr_reg:x3; val_offset:2*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x30, x29, x28, dyn, 0, 0, x3, 2*FLEN/8, x4, x1, x2)

inst_2:
// rs1 == rs2 != rd, rs1==x30, rs2==x30, rd==x29,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x0b and fm2 == 0x4db312 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x30; dest:x29; op1val:0x7a260524; op2val:0x7a260524; 
   valaddr_reg:x3; val_offset:4*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x29, x30, x30, dyn, 0, 0, x3, 4*FLEN/8, x4, x1, x2)

inst_3:
// rs1 == rd != rs2, rs1==x28, rs2==x29, rd==x28,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x0f and fm2 == 0x008feb and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x28; op2:x29; dest:x28; op1val:0x7a260524; op2val:0x7808feb; 
   valaddr_reg:x3; val_offset:6*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x28, x28, x29, dyn, 0, 0, x3, 6*FLEN/8, x4, x1, x2)

inst_4:
// rs2 == rd != rs1, rs1==x26, rs2==x27, rd==x27,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x12 and fm2 == 0x20b3e6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x26; op2:x27; dest:x27; op1val:0x7a260524; op2val:0x920b3e6; 
   valaddr_reg:x3; val_offset:8*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x27, x26, x27, dyn, 0, 0, x3, 8*FLEN/8, x4, x1, x2)

inst_5:
// rs1==x27, rs2==x25, rd==x26,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x15 and fm2 == 0x48e0e0 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x27; op2:x25; dest:x26; op1val:0x7a260524; op2val:0xac8e0e0; 
   valaddr_reg:x3; val_offset:10*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x26, x27, x25, dyn, 0, 0, x3, 10*FLEN/8, x4, x1, x2)

inst_6:
// rs1==x24, rs2==x26, rd==x25,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x18 and fm2 == 0x7b1918 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x24; op2:x26; dest:x25; op1val:0x7a260524; op2val:0xc7b1918; 
   valaddr_reg:x3; val_offset:12*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x25, x24, x26, dyn, 0, 0, x3, 12*FLEN/8, x4, x1, x2)

inst_7:
// rs1==x25, rs2==x23, rd==x24,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x1c and fm2 == 0x1cefaf and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x25; op2:x23; dest:x24; op1val:0x7a260524; op2val:0xe1cefaf; 
   valaddr_reg:x3; val_offset:14*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x24, x25, x23, dyn, 0, 0, x3, 14*FLEN/8, x4, x1, x2)

inst_8:
// rs1==x22, rs2==x24, rd==x23,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x1f and fm2 == 0x442b9a and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x22; op2:x24; dest:x23; op1val:0x7a260524; op2val:0xfc42b9a; 
   valaddr_reg:x3; val_offset:16*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x23, x22, x24, dyn, 0, 0, x3, 16*FLEN/8, x4, x1, x2)

inst_9:
// rs1==x23, rs2==x21, rd==x22,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x22 and fm2 == 0x753681 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x23; op2:x21; dest:x22; op1val:0x7a260524; op2val:0x11753681; 
   valaddr_reg:x3; val_offset:18*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x22, x23, x21, dyn, 0, 0, x3, 18*FLEN/8, x4, x1, x2)

inst_10:
// rs1==x20, rs2==x22, rd==x21,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x26 and fm2 == 0x194210 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x20; op2:x22; dest:x21; op1val:0x7a260524; op2val:0x13194210; 
   valaddr_reg:x3; val_offset:20*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x21, x20, x22, dyn, 0, 0, x3, 20*FLEN/8, x4, x1, x2)

inst_11:
// rs1==x21, rs2==x19, rd==x20,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x29 and fm2 == 0x3f9295 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x21; op2:x19; dest:x20; op1val:0x7a260524; op2val:0x14bf9295; 
   valaddr_reg:x3; val_offset:22*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x20, x21, x19, dyn, 0, 0, x3, 22*FLEN/8, x4, x1, x2)

inst_12:
// rs1==x18, rs2==x20, rd==x19,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x2c and fm2 == 0x6f773a and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x18; op2:x20; dest:x19; op1val:0x7a260524; op2val:0x166f773a; 
   valaddr_reg:x3; val_offset:24*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x19, x18, x20, dyn, 0, 0, x3, 24*FLEN/8, x4, x1, x2)

inst_13:
// rs1==x19, rs2==x17, rd==x18,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x30 and fm2 == 0x15aa84 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x19; op2:x17; dest:x18; op1val:0x7a260524; op2val:0x1815aa84; 
   valaddr_reg:x3; val_offset:26*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x18, x19, x17, dyn, 0, 0, x3, 26*FLEN/8, x4, x1, x2)

inst_14:
// rs1==x16, rs2==x18, rd==x17,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x33 and fm2 == 0x3b1525 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x16; op2:x18; dest:x17; op1val:0x7a260524; op2val:0x19bb1525; 
   valaddr_reg:x3; val_offset:28*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x17, x16, x18, dyn, 0, 0, x3, 28*FLEN/8, x4, x1, x2)

inst_15:
// rs1==x17, rs2==x15, rd==x16,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x36 and fm2 == 0x69da6f and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x17; op2:x15; dest:x16; op1val:0x7a260524; op2val:0x1b69da6f; 
   valaddr_reg:x3; val_offset:30*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x16, x17, x15, dyn, 0, 0, x3, 30*FLEN/8, x4, x1, x2)

inst_16:
// rs1==x14, rs2==x16, rd==x15,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x3a and fm2 == 0x122885 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x14; op2:x16; dest:x15; op1val:0x7a260524; op2val:0x1d122885; 
   valaddr_reg:x3; val_offset:32*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x15, x14, x16, dyn, 0, 0, x3, 32*FLEN/8, x4, x1, x2)

inst_17:
// rs1==x15, rs2==x13, rd==x14,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x3d and fm2 == 0x36b2a6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x15; op2:x13; dest:x14; op1val:0x7a260524; op2val:0x1eb6b2a6; 
   valaddr_reg:x3; val_offset:34*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x14, x15, x13, dyn, 0, 0, x3, 34*FLEN/8, x4, x1, x2)

inst_18:
// rs1==x12, rs2==x14, rd==x13,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x40 and fm2 == 0x645f50 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x12; op2:x14; dest:x13; op1val:0x7a260524; op2val:0x20645f50; 
   valaddr_reg:x3; val_offset:36*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x13, x12, x14, dyn, 0, 0, x3, 36*FLEN/8, x4, x1, x2)

inst_19:
// rs1==x13, rs2==x11, rd==x12,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x44 and fm2 == 0x0ebb92 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x13; op2:x11; dest:x12; op1val:0x7a260524; op2val:0x220ebb92; 
   valaddr_reg:x3; val_offset:38*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x12, x13, x11, dyn, 0, 0, x3, 38*FLEN/8, x4, x1, x2)

inst_20:
// rs1==x10, rs2==x12, rd==x11,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x47 and fm2 == 0x326a76 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x10; op2:x12; dest:x11; op1val:0x7a260524; op2val:0x23b26a76; 
   valaddr_reg:x3; val_offset:40*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x11, x10, x12, dyn, 0, 0, x3, 40*FLEN/8, x4, x1, x2)

inst_21:
// rs1==x11, rs2==x9, rd==x10,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x4a and fm2 == 0x5f0514 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x11; op2:x9; dest:x10; op1val:0x7a260524; op2val:0x255f0514; 
   valaddr_reg:x3; val_offset:42*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x10, x11, x9, dyn, 0, 0, x3, 42*FLEN/8, x4, x1, x2)
RVTEST_VALBASEUPD(x11,test_dataset_1)

inst_22:
// rs1==x8, rs2==x10, rd==x9,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x4e and fm2 == 0x0b632c and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x8; op2:x10; dest:x9; op1val:0x7a260524; op2val:0x270b632c; 
   valaddr_reg:x11; val_offset:0*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x9, x8, x10, dyn, 0, 0, x11, 0*FLEN/8, x12, x1, x2)

inst_23:
// rs1==x9, rs2==x7, rd==x8,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x51 and fm2 == 0x2e3bf8 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x9; op2:x7; dest:x8; op1val:0x7a260524; op2val:0x28ae3bf8; 
   valaddr_reg:x11; val_offset:2*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x2 
*/
TEST_FPRR_OP(fadd.s, x8, x9, x7, dyn, 0, 0, x11, 2*FLEN/8, x12, x1, x2)

inst_24:
// rs1==x6, rs2==x8, rd==x7,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x54 and fm2 == 0x59caf6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x6; op2:x8; dest:x7; op1val:0x7a260524; op2val:0x2a59caf6; 
   valaddr_reg:x11; val_offset:4*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x7, x6, x8, dyn, 0, 0, x11, 4*FLEN/8, x12, x1, x9)
RVTEST_SIGBASE(x8,signature_x8_0)

inst_25:
// rs1==x7, rs2==x5, rd==x6,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x58 and fm2 == 0x081ed9 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x7; op2:x5; dest:x6; op1val:0x7a260524; op2val:0x2c081ed9; 
   valaddr_reg:x11; val_offset:6*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x6, x7, x5, dyn, 0, 0, x11, 6*FLEN/8, x12, x8, x9)

inst_26:
// rs1==x4, rs2==x6, rd==x5,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x5b and fm2 == 0x2a2690 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x4; op2:x6; dest:x5; op1val:0x7a260524; op2val:0x2daa2690; 
   valaddr_reg:x11; val_offset:8*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x5, x4, x6, dyn, 0, 0, x11, 8*FLEN/8, x12, x8, x9)

inst_27:
// rs1==x5, rs2==x3, rd==x4,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x5e and fm2 == 0x54b034 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x5; op2:x3; dest:x4; op1val:0x7a260524; op2val:0x2f54b034; 
   valaddr_reg:x11; val_offset:10*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x4, x5, x3, dyn, 0, 0, x11, 10*FLEN/8, x12, x8, x9)

inst_28:
// rs1==x2, rs2==x4, rd==x3,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x62 and fm2 == 0x04ee20 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x2; op2:x4; dest:x3; op1val:0x7a260524; op2val:0x3104ee20; 
   valaddr_reg:x11; val_offset:12*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x3, x2, x4, dyn, 0, 0, x11, 12*FLEN/8, x12, x8, x9)

inst_29:
// rs1==x3, rs2==x1, rd==x2,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x65 and fm2 == 0x2629a8 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x3; op2:x1; dest:x2; op1val:0x7a260524; op2val:0x32a629a8; 
   valaddr_reg:x11; val_offset:14*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x2, x3, x1, dyn, 0, 0, x11, 14*FLEN/8, x12, x8, x9)

inst_30:
// rs1==x0, rs2==x2, rd==x1,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x68 and fm2 == 0x4fb413 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x0; op2:x2; dest:x1; op1val:0x0; op2val:0x344fb413; 
   valaddr_reg:x11; val_offset:16*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x1, x0, x2, dyn, 0, 0, x11, 16*FLEN/8, x12, x8, x9)

inst_31:
// rs1==x1,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x6c and fm2 == 0x01d08b and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x1; op2:x30; dest:x31; op1val:0x7a260524; op2val:0x3601d08b; 
   valaddr_reg:x11; val_offset:18*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x1, x30, dyn, 0, 0, x11, 18*FLEN/8, x12, x8, x9)

inst_32:
// rs2==x0,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x6f and fm2 == 0x2244ae and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x0; dest:x31; op1val:0x7a260524; op2val:0x0; 
   valaddr_reg:x11; val_offset:20*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x0, dyn, 0, 0, x11, 20*FLEN/8, x12, x8, x9)

inst_33:
// rd==x0,fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x72 and fm2 == 0x4ad5da and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x31; op2:x30; dest:x0; op1val:0x7a260524; op2val:0x394ad5da; 
   valaddr_reg:x11; val_offset:22*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x0, x31, x30, dyn, 0, 0, x11, 22*FLEN/8, x12, x8, x9)

inst_34:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x75 and fm2 == 0x7d8b51 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x3afd8b51; 
   valaddr_reg:x11; val_offset:24*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 24*FLEN/8, x12, x8, x9)

inst_35:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x79 and fm2 == 0x1e7712 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x3c9e7712; 
   valaddr_reg:x11; val_offset:26*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 26*FLEN/8, x12, x8, x9)

inst_36:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x7c and fm2 == 0x4614d7 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x3e4614d7; 
   valaddr_reg:x11; val_offset:28*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 28*FLEN/8, x12, x8, x9)

inst_37:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x7f and fm2 == 0x779a0d and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x3ff79a0d; 
   valaddr_reg:x11; val_offset:30*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 30*FLEN/8, x12, x8, x9)

inst_38:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x83 and fm2 == 0x1ac048 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x419ac048; 
   valaddr_reg:x11; val_offset:32*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 32*FLEN/8, x12, x8, x9)

inst_39:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x86 and fm2 == 0x41705a and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x4341705a; 
   valaddr_reg:x11; val_offset:34*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 34*FLEN/8, x12, x8, x9)

inst_40:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x89 and fm2 == 0x71cc71 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x44f1cc71; 
   valaddr_reg:x11; val_offset:36*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 36*FLEN/8, x12, x8, x9)

inst_41:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x8d and fm2 == 0x171fc6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x46971fc6; 
   valaddr_reg:x11; val_offset:38*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 38*FLEN/8, x12, x8, x9)

inst_42:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x90 and fm2 == 0x3ce7b8 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x483ce7b8; 
   valaddr_reg:x11; val_offset:40*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 40*FLEN/8, x12, x8, x9)

inst_43:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x93 and fm2 == 0x6c21a6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x49ec21a6; 
   valaddr_reg:x11; val_offset:42*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 42*FLEN/8, x12, x8, x9)

inst_44:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x97 and fm2 == 0x139508 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x4b939508; 
   valaddr_reg:x11; val_offset:44*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 44*FLEN/8, x12, x8, x9)

inst_45:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x9a and fm2 == 0x387a4a and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x4d387a4a; 
   valaddr_reg:x11; val_offset:46*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 46*FLEN/8, x12, x8, x9)

inst_46:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x9d and fm2 == 0x6698dc and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x4ee698dc; 
   valaddr_reg:x11; val_offset:48*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 48*FLEN/8, x12, x8, x9)

inst_47:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xa1 and fm2 == 0x101f89 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x50901f89; 
   valaddr_reg:x11; val_offset:50*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 50*FLEN/8, x12, x8, x9)

inst_48:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xa4 and fm2 == 0x34276c and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5234276c; 
   valaddr_reg:x11; val_offset:52*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 52*FLEN/8, x12, x8, x9)

inst_49:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xa7 and fm2 == 0x613147 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x53e13147; 
   valaddr_reg:x11; val_offset:54*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 54*FLEN/8, x12, x8, x9)

inst_50:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xab and fm2 == 0x0cbecc and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x558cbecc; 
   valaddr_reg:x11; val_offset:56*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 56*FLEN/8, x12, x8, x9)

inst_51:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xae and fm2 == 0x2fee7f and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x572fee7f; 
   valaddr_reg:x11; val_offset:58*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 58*FLEN/8, x12, x8, x9)

inst_52:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xb1 and fm2 == 0x5bea1f and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x58dbea1f; 
   valaddr_reg:x11; val_offset:60*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 60*FLEN/8, x12, x8, x9)

inst_53:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xb5 and fm2 == 0x097253 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5a897253; 
   valaddr_reg:x11; val_offset:62*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 62*FLEN/8, x12, x8, x9)

inst_54:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xb8 and fm2 == 0x2bcee8 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5c2bcee8; 
   valaddr_reg:x11; val_offset:64*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 64*FLEN/8, x12, x8, x9)

inst_55:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xbb and fm2 == 0x56c2a2 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5dd6c2a2; 
   valaddr_reg:x11; val_offset:66*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 66*FLEN/8, x12, x8, x9)

inst_56:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xbf and fm2 == 0x0639a5 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5f8639a5; 
   valaddr_reg:x11; val_offset:68*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 68*FLEN/8, x12, x8, x9)

inst_57:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xc2 and fm2 == 0x27c80f and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6127c80f; 
   valaddr_reg:x11; val_offset:70*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 70*FLEN/8, x12, x8, x9)

inst_58:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xc5 and fm2 == 0x51ba13 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x62d1ba13; 
   valaddr_reg:x11; val_offset:72*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 72*FLEN/8, x12, x8, x9)

inst_59:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xc9 and fm2 == 0x03144b and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6483144b; 
   valaddr_reg:x11; val_offset:74*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 74*FLEN/8, x12, x8, x9)

inst_60:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xcc and fm2 == 0x23d95e and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6623d95e; 
   valaddr_reg:x11; val_offset:76*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 76*FLEN/8, x12, x8, x9)

inst_61:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xcf and fm2 == 0x4ccfb6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x67cccfb6; 
   valaddr_reg:x11; val_offset:78*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 78*FLEN/8, x12, x8, x9)

inst_62:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xd3 and fm2 == 0x0001d2 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x698001d2; 
   valaddr_reg:x11; val_offset:80*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 80*FLEN/8, x12, x8, x9)

inst_63:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xd6 and fm2 == 0x200246 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6b200246; 
   valaddr_reg:x11; val_offset:82*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 82*FLEN/8, x12, x8, x9)

inst_64:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xd9 and fm2 == 0x4802d8 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6cc802d8; 
   valaddr_reg:x11; val_offset:84*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 84*FLEN/8, x12, x8, x9)

inst_65:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xdc and fm2 == 0x7a038e and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x6e7a038e; 
   valaddr_reg:x11; val_offset:86*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 86*FLEN/8, x12, x8, x9)

inst_66:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xe0 and fm2 == 0x1c4239 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x701c4239; 
   valaddr_reg:x11; val_offset:88*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 88*FLEN/8, x12, x8, x9)

inst_67:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xe3 and fm2 == 0x4352c7 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x71c352c7; 
   valaddr_reg:x11; val_offset:90*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 90*FLEN/8, x12, x8, x9)

inst_68:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xe6 and fm2 == 0x742779 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x73742779; 
   valaddr_reg:x11; val_offset:92*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 92*FLEN/8, x12, x8, x9)

inst_69:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xea and fm2 == 0x1898ab and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x751898ab; 
   valaddr_reg:x11; val_offset:94*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 94*FLEN/8, x12, x8, x9)

inst_70:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xed and fm2 == 0x3ebed6 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x76bebed6; 
   valaddr_reg:x11; val_offset:96*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 96*FLEN/8, x12, x8, x9)

inst_71:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xf0 and fm2 == 0x6e6e8c and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x786e6e8c; 
   valaddr_reg:x11; val_offset:98*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 98*FLEN/8, x12, x8, x9)

inst_72:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xf4 and fm2 == 0x150517 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x7a150517; 
   valaddr_reg:x11; val_offset:100*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 100*FLEN/8, x12, x8, x9)

inst_73:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0xfe and fm2 == 0x7fffff and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x7f7fffff; 
   valaddr_reg:x11; val_offset:102*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 102*FLEN/8, x12, x8, x9)

inst_74:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x00 and fm2 == 0x000000 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x0; 
   valaddr_reg:x11; val_offset:104*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 104*FLEN/8, x12, x8, x9)

inst_75:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x0b and fm2 == 0x4db312 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x5cdb312; 
   valaddr_reg:x11; val_offset:106*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 106*FLEN/8, x12, x8, x9)

inst_76:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x68 and fm2 == 0x4fb413 and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x344fb413; 
   valaddr_reg:x11; val_offset:108*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 108*FLEN/8, x12, x8, x9)

inst_77:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x6f and fm2 == 0x2244ae and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x37a244ae; 
   valaddr_reg:x11; val_offset:110*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 110*FLEN/8, x12, x8, x9)

inst_78:
// fs1 == 0 and fe1 == 0xf4 and fm1 == 0x260524 and fs2 == 0 and fe2 == 0x72 and fm2 == 0x4ad5da and  fcsr == 0x0 and rm_val == 7  and rs1_sgn_prefix == 0x00000000 and rs2_sgn_prefix == 0x00000000  
/* opcode: fadd.s ; op1:x30; op2:x29; dest:x31; op1val:0x7a260524; op2val:0x394ad5da; 
   valaddr_reg:x11; val_offset:112*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:0; testreg:x9 
*/
TEST_FPRR_OP(fadd.s, x31, x30, x29, dyn, 0, 0, x11, 112*FLEN/8, x12, x8, x9)
#endif


RVTEST_CODE_END
RVMODEL_HALT

RVTEST_DATA_BEGIN
.align 4
rvtest_data:
.word 0xbabecafe
.word 0xabecafeb
.word 0xbecafeba
.word 0xecafebab
test_dataset_0:
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(69504833,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(125865963,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(153138150,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(180936928,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(209393944,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(236777391,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(264514458,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(292894337,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(320422416,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(348099221,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(376403770,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(404073092,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(431691045,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(459922031,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(487729285,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(515289766,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(543448912,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(571390866,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(598895222,64,FLEN)
NAN_BOXED(2049312036,64,FLEN)
NAN_BOXED(626984212,64,FLEN)
test_dataset_1:
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(655057708,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(682507256,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(710527734,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(738729689,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(766125712,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(794079284,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(822406688,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(849750440,32,FLEN)
NAN_BOXED(0,32,FLEN)
NAN_BOXED(877638675,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(906088587,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(0,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(961205722,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(989694801,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1017018130,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1044780247,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1073191437,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1100660808,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1128362074,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1156697201,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1184309190,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1211951032,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1240211878,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1267963144,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1295546954,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1323735260,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1351622537,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1379149676,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1407267143,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1435287244,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1462759039,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1490807327,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1518957139,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1546374888,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1574355618,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1602632101,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1629997071,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1657911827,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1686312011,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1713625438,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1741475766,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1769996754,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1797259846,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1825047256,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1853490062,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1880900153,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1908626119,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1936992121,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1964546219,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(1992212182,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(2020503180,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(2048197911,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(2139095039,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(0,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(97366802,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(877638675,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(933381294,32,FLEN)
NAN_BOXED(2049312036,32,FLEN)
NAN_BOXED(961205722,32,FLEN)
RVTEST_DATA_END

RVMODEL_DATA_BEGIN
rvtest_sig_begin:
sig_begin_canary:
CANARY;



signature_x1_0:
    .fill 0*((SIGALIGN)/4),4,0xdeadbeef


signature_x1_1:
    .fill 50*((SIGALIGN)/4),4,0xdeadbeef


signature_x8_0:
    .fill 108*((SIGALIGN)/4),4,0xdeadbeef

#ifdef rvtest_mtrap_routine
tsig_begin_canary:
CANARY;

mtrap_sigptr:
    .fill 64*XLEN/32,4,0xdeadbeef

tsig_end_canary:
CANARY;
#endif

#ifdef rvtest_gpr_save

gpr_save:
    .fill 32*XLEN/32,4,0xdeadbeef

#endif


sig_end_canary:
CANARY;
rvtest_sig_end:
RVMODEL_DATA_END
