
// -----------
// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg)
// version   : 0.7.1
// timestamp : Fri Jun 17 14:03:37 2022 GMT
// usage     : riscv_ctg \
//                  -- cgf //                  --cgf /scratch/pawan/work/normalised/RV32D/fmul.d.cgf \
 \
//                  -- xlen 32  \
//                  --randomize \
// -----------
//
// -----------
// Copyright (c) 2020. RISC-V International. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause
// -----------
//
// This assembly file tests the fmul.d instruction of the RISC-V RV32FD_Zicsr,RV64FD_Zicsr extension for the fmul.d_b2 covergroup.
// 
#include "model_test.h"
#include "arch_test.h"
RVTEST_ISA("RV32IFD_Zicsr,RV64IFD_Zicsr")

.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.*D.*);def TEST_CASE_1=True;",fmul.d_b2)

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

inst_0:
// rs1 == rs2 == rd, rs1==f0, rs2==f0, rd==f0,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000001 and fs2 == 1 and fe2 == 0x40b and fm2 == 0x0010000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f0; op2:f0; dest:f0; op1val:0x1; op2val:0x1;
   valaddr_reg:x3; val_offset:0*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f0, f0, f0, dyn, 0, 0, x3, 0*FLEN/8, x4, x1, x2)

inst_1:
// rs1 == rd != rs2, rs1==f13, rs2==f22, rd==f13,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000001 and fs2 == 1 and fe2 == 0x432 and fm2 == 0xfffffffffffde and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f13; op2:f22; dest:f13; op1val:0x1; op2val:0xc32fffffffffffde;
   valaddr_reg:x3; val_offset:2*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f13, f13, f22, dyn, 0, 0, x3, 2*FLEN/8, x4, x1, x2)

inst_2:
// rs1 == rs2 != rd, rs1==f19, rs2==f19, rd==f18,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000003 and fs2 == 0 and fe2 == 0x431 and fm2 == 0x5555555552aa9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f19; op2:f19; dest:f18; op1val:0x3; op2val:0x3;
   valaddr_reg:x3; val_offset:4*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f18, f19, f19, dyn, 0, 0, x3, 4*FLEN/8, x4, x1, x2)

inst_3:
// rs2 == rd != rs1, rs1==f4, rs2==f31, rd==f31,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000003 and fs2 == 0 and fe2 == 0x431 and fm2 == 0x55555555554a9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f4; op2:f31; dest:f31; op1val:0x3; op2val:0x43155555555554a9;
   valaddr_reg:x3; val_offset:6*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f4, f31, dyn, 0, 0, x3, 6*FLEN/8, x4, x1, x2)

inst_4:
// rs1 != rs2  and rs1 != rd and rs2 != rd, rs1==f6, rs2==f8, rd==f29,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000004 and fs2 == 1 and fe2 == 0x430 and fm2 == 0xfffffffffffbe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f6; op2:f8; dest:f29; op1val:0x4; op2val:0xc30fffffffffffbe;
   valaddr_reg:x3; val_offset:8*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f29, f6, f8, dyn, 0, 0, x3, 8*FLEN/8, x4, x1, x2)

inst_5:
// rs1==f30, rs2==f18, rd==f17,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000005 and fs2 == 0 and fe2 == 0x402 and fm2 == 0x999999999999a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f18; dest:f17; op1val:0x5; op2val:0x402999999999999a;
   valaddr_reg:x3; val_offset:10*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f17, f30, f18, dyn, 0, 0, x3, 10*FLEN/8, x4, x1, x2)

inst_6:
// rs1==f18, rs2==f11, rd==f19,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000005 and fs2 == 0 and fe2 == 0x409 and fm2 == 0x999999999999a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f18; op2:f11; dest:f19; op1val:0x5; op2val:0x409999999999999a;
   valaddr_reg:x3; val_offset:12*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f19, f18, f11, dyn, 0, 0, x3, 12*FLEN/8, x4, x1, x2)

inst_7:
// rs1==f2, rs2==f16, rd==f24,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000005 and fs2 == 0 and fe2 == 0x410 and fm2 == 0x9999b33333333 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f2; op2:f16; dest:f24; op1val:0x5; op2val:0x4109999b33333333;
   valaddr_reg:x3; val_offset:14*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f24, f2, f16, dyn, 0, 0, x3, 14*FLEN/8, x4, x1, x2)

inst_8:
// rs1==f9, rs2==f23, rd==f30,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000005 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f9; op2:f23; dest:f30; op1val:0x5; op2val:0xbff0000000000000;
   valaddr_reg:x3; val_offset:16*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f30, f9, f23, dyn, 0, 0, x3, 16*FLEN/8, x4, x1, x2)

inst_9:
// rs1==f21, rs2==f10, rd==f4,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000005 and fs2 == 1 and fe2 == 0x409 and fm2 == 0x99a6666666666 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f21; op2:f10; dest:f4; op1val:0x5; op2val:0xc0999a6666666666;
   valaddr_reg:x3; val_offset:18*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f4, f21, f10, dyn, 0, 0, x3, 18*FLEN/8, x4, x1, x2)

inst_10:
// rs1==f26, rs2==f28, rd==f27,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000008 and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f26; op2:f28; dest:f27; op1val:0x8; op2val:0x3fc0000000000000;
   valaddr_reg:x3; val_offset:20*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f27, f26, f28, dyn, 0, 0, x3, 20*FLEN/8, x4, x1, x2)

inst_11:
// rs1==f5, rs2==f12, rd==f28,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000008 and fs2 == 0 and fe2 == 0x40f and fm2 == 0x0000200000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f5; op2:f12; dest:f28; op1val:0x8; op2val:0x40f0000200000000;
   valaddr_reg:x3; val_offset:22*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f28, f5, f12, dyn, 0, 0, x3, 22*FLEN/8, x4, x1, x2)

inst_12:
// rs1==f12, rs2==f15, rd==f26,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000a and fs2 == 1 and fe2 == 0x42f and fm2 == 0x99999999998cb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f12; op2:f15; dest:f26; op1val:0xa; op2val:0xc2f99999999998cb;
   valaddr_reg:x3; val_offset:24*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f26, f12, f15, dyn, 0, 0, x3, 24*FLEN/8, x4, x1, x2)

inst_13:
// rs1==f16, rs2==f20, rd==f23,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000b and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f16; op2:f20; dest:f23; op1val:0xb; op2val:0x3fc745d1745d1746;
   valaddr_reg:x3; val_offset:26*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f23, f16, f20, dyn, 0, 0, x3, 26*FLEN/8, x4, x1, x2)

inst_14:
// rs1==f17, rs2==f24, rd==f15,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000c and fs2 == 0 and fe2 == 0x401 and fm2 == 0x5aaaaaaaaaaab and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f17; op2:f24; dest:f15; op1val:0xc; op2val:0x4015aaaaaaaaaaab;
   valaddr_reg:x3; val_offset:28*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f15, f17, f24, dyn, 0, 0, x3, 28*FLEN/8, x4, x1, x2)

inst_15:
// rs1==f1, rs2==f17, rd==f3,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000d and fs2 == 0 and fe2 == 0x411 and fm2 == 0x3b13b62762762 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f1; op2:f17; dest:f3; op1val:0xd; op2val:0x4113b13b62762762;
   valaddr_reg:x3; val_offset:30*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f3, f1, f17, dyn, 0, 0, x3, 30*FLEN/8, x4, x1, x2)

inst_16:
// rs1==f20, rs2==f4, rd==f9,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000d and fs2 == 0 and fe2 == 0x42f and fm2 == 0x3b13b13a76275 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f20; op2:f4; dest:f9; op1val:0xd; op2val:0x42f3b13b13a76275;
   valaddr_reg:x3; val_offset:32*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f9, f20, f4, dyn, 0, 0, x3, 32*FLEN/8, x4, x1, x2)

inst_17:
// rs1==f8, rs2==f2, rd==f7,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000d and fs2 == 0 and fe2 == 0x42f and fm2 == 0x3b13b13b1313a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f8; op2:f2; dest:f7; op1val:0xd; op2val:0x42f3b13b13b1313a;
   valaddr_reg:x3; val_offset:34*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f7, f8, f2, dyn, 0, 0, x3, 34*FLEN/8, x4, x1, x2)

inst_18:
// rs1==f27, rs2==f30, rd==f22,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000d and fs2 == 1 and fe2 == 0x40d and fm2 == 0x3b14000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f27; op2:f30; dest:f22; op1val:0xd; op2val:0xc0d3b14000000000;
   valaddr_reg:x3; val_offset:36*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f22, f27, f30, dyn, 0, 0, x3, 36*FLEN/8, x4, x1, x2)

inst_19:
// rs1==f3, rs2==f1, rd==f14,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000e and fs2 == 0 and fe2 == 0x403 and fm2 == 0x25b6db6db6db7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f3; op2:f1; dest:f14; op1val:0xe; op2val:0x40325b6db6db6db7;
   valaddr_reg:x3; val_offset:38*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f14, f3, f1, dyn, 0, 0, x3, 38*FLEN/8, x4, x1, x2)

inst_20:
// rs1==f10, rs2==f3, rd==f12,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000e and fs2 == 1 and fe2 == 0x42f and fm2 == 0x249249236db6d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f10; op2:f3; dest:f12; op1val:0xe; op2val:0xc2f249249236db6d;
   valaddr_reg:x3; val_offset:40*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f12, f10, f3, dyn, 0, 0, x3, 40*FLEN/8, x4, x1, x2)

inst_21:
// rs1==f23, rs2==f25, rd==f16,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000000f and fs2 == 1 and fe2 == 0x40a and fm2 == 0x1113333333333 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f23; op2:f25; dest:f16; op1val:0xf; op2val:0xc0a1113333333333;
   valaddr_reg:x3; val_offset:42*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f16, f23, f25, dyn, 0, 0, x3, 42*FLEN/8, x4, x1, x2)

inst_22:
// rs1==f31, rs2==f9, rd==f1,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000010 and fs2 == 0 and fe2 == 0x42e and fm2 == 0xfffffffff7ffe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f31; op2:f9; dest:f1; op1val:0x10; op2val:0x42efffffffff7ffe;
   valaddr_reg:x3; val_offset:44*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f1, f31, f9, dyn, 0, 0, x3, 44*FLEN/8, x4, x1, x2)

inst_23:
// rs1==f15, rs2==f6, rd==f5,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000010 and fs2 == 1 and fe2 == 0x42e and fm2 == 0xffffffffdfffe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f15; op2:f6; dest:f5; op1val:0x10; op2val:0xc2effffffffdfffe;
   valaddr_reg:x3; val_offset:46*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f5, f15, f6, dyn, 0, 0, x3, 46*FLEN/8, x4, x1, x2)

inst_24:
// rs1==f7, rs2==f26, rd==f8,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000012 and fs2 == 0 and fe2 == 0x40c and fm2 == 0xc71ce38e38e39 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f7; op2:f26; dest:f8; op1val:0x12; op2val:0x40cc71ce38e38e39;
   valaddr_reg:x3; val_offset:48*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f8, f7, f26, dyn, 0, 0, x3, 48*FLEN/8, x4, x1, x2)

inst_25:
// rs1==f25, rs2==f5, rd==f20,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000013 and fs2 == 0 and fe2 == 0x407 and fm2 == 0xaf35e50d79436 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f25; op2:f5; dest:f20; op1val:0x13; op2val:0x407af35e50d79436;
   valaddr_reg:x3; val_offset:50*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f20, f25, f5, dyn, 0, 0, x3, 50*FLEN/8, x4, x1, x2)

inst_26:
// rs1==f28, rs2==f21, rd==f10,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000015 and fs2 == 0 and fe2 == 0x40f and fm2 == 0x86186db6db6db and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f28; op2:f21; dest:f10; op1val:0x15; op2val:0x40f86186db6db6db;
   valaddr_reg:x3; val_offset:52*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f10, f28, f21, dyn, 0, 0, x3, 52*FLEN/8, x4, x1, x2)

inst_27:
// rs1==f14, rs2==f7, rd==f2,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000016 and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f14; op2:f7; dest:f2; op1val:0x16; op2val:0x3fc745d1745d1746;
   valaddr_reg:x3; val_offset:54*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f2, f14, f7, dyn, 0, 0, x3, 54*FLEN/8, x4, x1, x2)

inst_28:
// rs1==f29, rs2==f27, rd==f25,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000016 and fs2 == 0 and fe2 == 0x40b and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f29; op2:f27; dest:f25; op1val:0x16; op2val:0x40b745d1745d1746;
   valaddr_reg:x3; val_offset:56*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f25, f29, f27, dyn, 0, 0, x3, 56*FLEN/8, x4, x1, x2)

inst_29:
// rs1==f22, rs2==f14, rd==f21,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000016 and fs2 == 1 and fe2 == 0x410 and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f22; op2:f14; dest:f21; op1val:0x16; op2val:0xc10745d1745d1746;
   valaddr_reg:x3; val_offset:58*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f21, f22, f14, dyn, 0, 0, x3, 58*FLEN/8, x4, x1, x2)

inst_30:
// rs1==f24, rs2==f13, rd==f11,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000017 and fs2 == 0 and fe2 == 0x40c and fm2 == 0x642c8590b2164 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f24; op2:f13; dest:f11; op1val:0x17; op2val:0x40c642c8590b2164;
   valaddr_reg:x3; val_offset:60*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f11, f24, f13, dyn, 0, 0, x3, 60*FLEN/8, x4, x1, x2)

inst_31:
// rs1==f11, rs2==f29, rd==f6,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000017 and fs2 == 0 and fe2 == 0x40e and fm2 == 0x642c8590b2164 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f11; op2:f29; dest:f6; op1val:0x17; op2val:0x40e642c8590b2164;
   valaddr_reg:x3; val_offset:62*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f6, f11, f29, dyn, 0, 0, x3, 62*FLEN/8, x4, x1, x2)

inst_32:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000017 and fs2 == 0 and fe2 == 0x40f and fm2 == 0x642c8590b2164 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x17; op2val:0x40f642c8590b2164;
   valaddr_reg:x3; val_offset:64*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 64*FLEN/8, x4, x1, x2)

inst_33:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000018 and fs2 == 1 and fe2 == 0x3fc and fm2 == 0x5555555555555 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x18; op2val:0xbfc5555555555555;
   valaddr_reg:x3; val_offset:66*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 66*FLEN/8, x4, x1, x2)

inst_34:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000018 and fs2 == 1 and fe2 == 0x40d and fm2 == 0x5555800000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x18; op2val:0xc0d5555800000000;
   valaddr_reg:x3; val_offset:68*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 68*FLEN/8, x4, x1, x2)

inst_35:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000019 and fs2 == 1 and fe2 == 0x42e and fm2 == 0x47ae147ae11ea and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x19; op2val:0xc2e47ae147ae11ea;
   valaddr_reg:x3; val_offset:70*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 70*FLEN/8, x4, x1, x2)

inst_36:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001b and fs2 == 1 and fe2 == 0x42e and fm2 == 0x2f684bda12f62 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1b; op2val:0xc2e2f684bda12f62;
   valaddr_reg:x3; val_offset:72*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 72*FLEN/8, x4, x1, x2)

inst_37:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x2492492492492 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1c; op2val:0x3ff2492492492492;
   valaddr_reg:x3; val_offset:74*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 74*FLEN/8, x4, x1, x2)

inst_38:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001c and fs2 == 0 and fe2 == 0x42e and fm2 == 0x2492492492488 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1c; op2val:0x42e2492492492488;
   valaddr_reg:x3; val_offset:76*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 76*FLEN/8, x4, x1, x2)

inst_39:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001c and fs2 == 1 and fe2 == 0x40f and fm2 == 0x2492524924925 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1c; op2val:0xc0f2492524924925;
   valaddr_reg:x3; val_offset:78*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 78*FLEN/8, x4, x1, x2)

inst_40:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001c and fs2 == 1 and fe2 == 0x42e and fm2 == 0x24924923fffff and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1c; op2val:0xc2e24924923fffff;
   valaddr_reg:x3; val_offset:80*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 80*FLEN/8, x4, x1, x2)

inst_41:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001e and fs2 == 0 and fe2 == 0x40d and fm2 == 0x1111111111111 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1e; op2val:0x40d1111111111111;
   valaddr_reg:x3; val_offset:82*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 82*FLEN/8, x4, x1, x2)

inst_42:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001e and fs2 == 1 and fe2 == 0x3fd and fm2 == 0x3333333333333 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1e; op2val:0xbfd3333333333333;
   valaddr_reg:x3; val_offset:84*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 84*FLEN/8, x4, x1, x2)

inst_43:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001e and fs2 == 1 and fe2 == 0x40e and fm2 == 0x1111222222222 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1e; op2val:0xc0e1111222222222;
   valaddr_reg:x3; val_offset:86*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 86*FLEN/8, x4, x1, x2)

inst_44:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000001f and fs2 == 1 and fe2 == 0x40b and fm2 == 0x084294a5294a5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1f; op2val:0xc0b084294a5294a5;
   valaddr_reg:x3; val_offset:88*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 88*FLEN/8, x4, x1, x2)

inst_45:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000021 and fs2 == 0 and fe2 == 0x3fd and fm2 == 0xf07c1f07c1f08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x21; op2val:0x3fdf07c1f07c1f08;
   valaddr_reg:x3; val_offset:90*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 90*FLEN/8, x4, x1, x2)

inst_46:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000021 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x21; op2val:0xbff0000000000000;
   valaddr_reg:x3; val_offset:92*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 92*FLEN/8, x4, x1, x2)

inst_47:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000021 and fs2 == 1 and fe2 == 0x402 and fm2 == 0xf1745d1745d17 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x21; op2val:0xc02f1745d1745d17;
   valaddr_reg:x3; val_offset:94*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 94*FLEN/8, x4, x1, x2)

inst_48:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000021 and fs2 == 1 and fe2 == 0x42d and fm2 == 0xf07c1f07b26c8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x21; op2val:0xc2df07c1f07b26c8;
   valaddr_reg:x3; val_offset:96*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 96*FLEN/8, x4, x1, x2)

inst_49:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000022 and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x2d2d2d2d2d2d3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x22; op2val:0x3fc2d2d2d2d2d2d3;
   valaddr_reg:x3; val_offset:98*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 98*FLEN/8, x4, x1, x2)

inst_50:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000022 and fs2 == 0 and fe2 == 0x407 and fm2 == 0xe1e9696969697 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x22; op2val:0x407e1e9696969697;
   valaddr_reg:x3; val_offset:100*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 100*FLEN/8, x4, x1, x2)

inst_51:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000028 and fs2 == 0 and fe2 == 0x42d and fm2 == 0x99999997ffffe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x28; op2val:0x42d99999997ffffe;
   valaddr_reg:x3; val_offset:102*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 102*FLEN/8, x4, x1, x2)

inst_52:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000028 and fs2 == 0 and fe2 == 0x42d and fm2 == 0x9999999966665 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x28; op2val:0x42d9999999966665;
   valaddr_reg:x3; val_offset:104*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 104*FLEN/8, x4, x1, x2)

inst_53:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000028 and fs2 == 0 and fe2 == 0x42d and fm2 == 0x9999999999995 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x28; op2val:0x42d9999999999995;
   valaddr_reg:x3; val_offset:106*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 106*FLEN/8, x4, x1, x2)

inst_54:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000028 and fs2 == 1 and fe2 == 0x42d and fm2 == 0x9999999999932 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x28; op2val:0xc2d9999999999932;
   valaddr_reg:x3; val_offset:108*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 108*FLEN/8, x4, x1, x2)

inst_55:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000029 and fs2 == 0 and fe2 == 0x408 and fm2 == 0x8f9c18f9c18fa and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x29; op2val:0x4088f9c18f9c18fa;
   valaddr_reg:x3; val_offset:110*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 110*FLEN/8, x4, x1, x2)

inst_56:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002a and fs2 == 1 and fe2 == 0x40e and fm2 == 0x8618618618618 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2a; op2val:0xc0e8618618618618;
   valaddr_reg:x3; val_offset:112*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 112*FLEN/8, x4, x1, x2)

inst_57:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002e and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x642c8590b2164 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2e; op2val:0xbff642c8590b2164;
   valaddr_reg:x3; val_offset:114*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 114*FLEN/8, x4, x1, x2)

inst_58:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002f and fs2 == 0 and fe2 == 0x407 and fm2 == 0x5c9882b931057 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2f; op2val:0x4075c9882b931057;
   valaddr_reg:x3; val_offset:116*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 116*FLEN/8, x4, x1, x2)

inst_59:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002f and fs2 == 0 and fe2 == 0x42d and fm2 == 0x5c9882b92620a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2f; op2val:0x42d5c9882b92620a;
   valaddr_reg:x3; val_offset:118*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 118*FLEN/8, x4, x1, x2)

inst_60:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002f and fs2 == 1 and fe2 == 0x3f9 and fm2 == 0x5c9882b931057 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2f; op2val:0xbf95c9882b931057;
   valaddr_reg:x3; val_offset:120*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 120*FLEN/8, x4, x1, x2)

inst_61:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000002f and fs2 == 1 and fe2 == 0x3fe and fm2 == 0x5c9882b931057 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x2f; op2val:0xbfe5c9882b931057;
   valaddr_reg:x3; val_offset:122*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 122*FLEN/8, x4, x1, x2)

inst_62:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000033 and fs2 == 0 and fe2 == 0x402 and fm2 == 0x4141414141414 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x33; op2val:0x4024141414141414;
   valaddr_reg:x3; val_offset:124*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 124*FLEN/8, x4, x1, x2)

inst_63:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000033 and fs2 == 0 and fe2 == 0x404 and fm2 == 0x4169696969697 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x33; op2val:0x4044169696969697;
   valaddr_reg:x3; val_offset:126*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 126*FLEN/8, x4, x1, x2)

inst_64:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000033 and fs2 == 1 and fe2 == 0x42d and fm2 == 0x414141413c3c3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x33; op2val:0xc2d414141413c3c3;
   valaddr_reg:x3; val_offset:128*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 128*FLEN/8, x4, x1, x2)

inst_65:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000033 and fs2 == 1 and fe2 == 0x42d and fm2 == 0x4141414140a09 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x33; op2val:0xc2d4141414140a09;
   valaddr_reg:x3; val_offset:130*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 130*FLEN/8, x4, x1, x2)

inst_66:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000034 and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x6276276276276 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x34; op2val:0x3fc6276276276276;
   valaddr_reg:x3; val_offset:132*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 132*FLEN/8, x4, x1, x2)

inst_67:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000035 and fs2 == 1 and fe2 == 0x407 and fm2 == 0x3526a439f656f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x35; op2val:0xc073526a439f656f;
   valaddr_reg:x3; val_offset:134*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 134*FLEN/8, x4, x1, x2)

inst_68:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000035 and fs2 == 1 and fe2 == 0x42d and fm2 == 0x3521cfb2b78bf and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x35; op2val:0xc2d3521cfb2b78bf;
   valaddr_reg:x3; val_offset:136*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 136*FLEN/8, x4, x1, x2)

inst_69:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000036 and fs2 == 0 and fe2 == 0x42d and fm2 == 0x2f684bda12d08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x36; op2val:0x42d2f684bda12d08;
   valaddr_reg:x3; val_offset:138*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 138*FLEN/8, x4, x1, x2)

inst_70:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000036 and fs2 == 1 and fe2 == 0x3fc and fm2 == 0x2f684bda12f68 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x36; op2val:0xbfc2f684bda12f68;
   valaddr_reg:x3; val_offset:140*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 140*FLEN/8, x4, x1, x2)

inst_71:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000037 and fs2 == 0 and fe2 == 0x409 and fm2 == 0x29e4129e4129e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x37; op2val:0x40929e4129e4129e;
   valaddr_reg:x3; val_offset:142*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 142*FLEN/8, x4, x1, x2)

inst_72:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000037 and fs2 == 0 and fe2 == 0x42d and fm2 == 0x29e4129e41253 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x37; op2val:0x42d29e4129e41253;
   valaddr_reg:x3; val_offset:144*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 144*FLEN/8, x4, x1, x2)

inst_73:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000037 and fs2 == 1 and fe2 == 0x403 and fm2 == 0x2a2e8ba2e8ba3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x37; op2val:0xc032a2e8ba2e8ba3;
   valaddr_reg:x3; val_offset:146*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 146*FLEN/8, x4, x1, x2)

inst_74:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000038 and fs2 == 0 and fe2 == 0x401 and fm2 == 0x2492492492492 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x38; op2val:0x4012492492492492;
   valaddr_reg:x3; val_offset:148*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 148*FLEN/8, x4, x1, x2)

inst_75:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000039 and fs2 == 1 and fe2 == 0x3fd and fm2 == 0x31674c59d3167 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x39; op2val:0xbfd31674c59d3167;
   valaddr_reg:x3; val_offset:150*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 150*FLEN/8, x4, x1, x2)

inst_76:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003a and fs2 == 0 and fe2 == 0x402 and fm2 == 0x1b08d3dcb08d4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3a; op2val:0x4021b08d3dcb08d4;
   valaddr_reg:x3; val_offset:152*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 152*FLEN/8, x4, x1, x2)

inst_77:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003a and fs2 == 0 and fe2 == 0x42d and fm2 == 0x1a7b960d3dcaf and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3a; op2val:0x42d1a7b960d3dcaf;
   valaddr_reg:x3; val_offset:154*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 154*FLEN/8, x4, x1, x2)

inst_78:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003a and fs2 == 1 and fe2 == 0x400 and fm2 == 0x1a7b9611a7b96 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3a; op2val:0xc001a7b9611a7b96;
   valaddr_reg:x3; val_offset:156*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 156*FLEN/8, x4, x1, x2)

inst_79:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003b and fs2 == 1 and fe2 == 0x40c and fm2 == 0x15b1e5f75270d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3b; op2val:0xc0c15b1e5f75270d;
   valaddr_reg:x3; val_offset:158*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 158*FLEN/8, x4, x1, x2)

inst_80:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003c and fs2 == 0 and fe2 == 0x42d and fm2 == 0x111111111110f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3c; op2val:0x42d111111111110f;
   valaddr_reg:x3; val_offset:160*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 160*FLEN/8, x4, x1, x2)

inst_81:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003c and fs2 == 1 and fe2 == 0x403 and fm2 == 0x1111111111111 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3c; op2val:0xc031111111111111;
   valaddr_reg:x3; val_offset:162*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 162*FLEN/8, x4, x1, x2)

inst_82:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003c and fs2 == 1 and fe2 == 0x409 and fm2 == 0x1111111111111 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3c; op2val:0xc091111111111111;
   valaddr_reg:x3; val_offset:164*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 164*FLEN/8, x4, x1, x2)

inst_83:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003c and fs2 == 1 and fe2 == 0x42d and fm2 == 0x111111110ffff and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3c; op2val:0xc2d111111110ffff;
   valaddr_reg:x3; val_offset:166*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 166*FLEN/8, x4, x1, x2)

inst_84:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003d and fs2 == 0 and fe2 == 0x3fe and fm2 == 0x14fbcda3ac10d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3d; op2val:0x3fe14fbcda3ac10d;
   valaddr_reg:x3; val_offset:168*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 168*FLEN/8, x4, x1, x2)

inst_85:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003d and fs2 == 1 and fe2 == 0x42d and fm2 == 0x0c9714f79b474 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3d; op2val:0xc2d0c9714f79b474;
   valaddr_reg:x3; val_offset:170*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 170*FLEN/8, x4, x1, x2)

inst_86:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003e and fs2 == 0 and fe2 == 0x42d and fm2 == 0x084210841ffff and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3e; op2val:0x42d084210841ffff;
   valaddr_reg:x3; val_offset:172*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 172*FLEN/8, x4, x1, x2)

inst_87:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003f and fs2 == 1 and fe2 == 0x405 and fm2 == 0x0410410410410 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f; op2val:0xc050410410410410;
   valaddr_reg:x3; val_offset:174*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 174*FLEN/8, x4, x1, x2)

inst_88:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000003f and fs2 == 1 and fe2 == 0x42d and fm2 == 0x041041041040d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f; op2val:0xc2d041041041040d;
   valaddr_reg:x3; val_offset:176*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 176*FLEN/8, x4, x1, x2)

inst_89:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000040 and fs2 == 1 and fe2 == 0x406 and fm2 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x40; op2val:0xc060000000000000;
   valaddr_reg:x3; val_offset:178*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 178*FLEN/8, x4, x1, x2)

inst_90:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000041 and fs2 == 0 and fe2 == 0x404 and fm2 == 0xf81f81f81f820 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x41; op2val:0x404f81f81f81f820;
   valaddr_reg:x3; val_offset:180*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 180*FLEN/8, x4, x1, x2)

inst_91:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000042 and fs2 == 0 and fe2 == 0x402 and fm2 == 0xf07c1f07c1f08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x42; op2val:0x402f07c1f07c1f08;
   valaddr_reg:x3; val_offset:182*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 182*FLEN/8, x4, x1, x2)

inst_92:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000042 and fs2 == 0 and fe2 == 0x404 and fm2 == 0xf09b26c9b26ca and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x42; op2val:0x404f09b26c9b26ca;
   valaddr_reg:x3; val_offset:184*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 184*FLEN/8, x4, x1, x2)

inst_93:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000042 and fs2 == 0 and fe2 == 0x40e and fm2 == 0xf07c1f07c1f08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x42; op2val:0x40ef07c1f07c1f08;
   valaddr_reg:x3; val_offset:186*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 186*FLEN/8, x4, x1, x2)

inst_94:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000042 and fs2 == 1 and fe2 == 0x3fa and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x42; op2val:0xbfa745d1745d1746;
   valaddr_reg:x3; val_offset:188*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 188*FLEN/8, x4, x1, x2)

inst_95:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000042 and fs2 == 1 and fe2 == 0x406 and fm2 == 0xf07c1f07c1f08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x42; op2val:0xc06f07c1f07c1f08;
   valaddr_reg:x3; val_offset:190*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 190*FLEN/8, x4, x1, x2)

inst_96:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000043 and fs2 == 0 and fe2 == 0x402 and fm2 == 0xe98d5f85bb395 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x43; op2val:0x402e98d5f85bb395;
   valaddr_reg:x3; val_offset:192*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 192*FLEN/8, x4, x1, x2)

inst_97:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000043 and fs2 == 1 and fe2 == 0x40e and fm2 == 0xe913226357e17 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x43; op2val:0xc0ee913226357e17;
   valaddr_reg:x3; val_offset:194*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 194*FLEN/8, x4, x1, x2)

inst_98:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000044 and fs2 == 1 and fe2 == 0x3fc and fm2 == 0xe1e1e1e1e1e1e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x44; op2val:0xbfce1e1e1e1e1e1e;
   valaddr_reg:x3; val_offset:196*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 196*FLEN/8, x4, x1, x2)

inst_99:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000044 and fs2 == 1 and fe2 == 0x403 and fm2 == 0xe1e1e1e1e1e1e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x44; op2val:0xc03e1e1e1e1e1e1e;
   valaddr_reg:x3; val_offset:198*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 198*FLEN/8, x4, x1, x2)

inst_100:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000044 and fs2 == 1 and fe2 == 0x403 and fm2 == 0xe21e1e1e1e1e2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x44; op2val:0xc03e21e1e1e1e1e2;
   valaddr_reg:x3; val_offset:200*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 200*FLEN/8, x4, x1, x2)

inst_101:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000046 and fs2 == 0 and fe2 == 0x403 and fm2 == 0xd41d41d41d41d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x46; op2val:0x403d41d41d41d41d;
   valaddr_reg:x3; val_offset:202*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 202*FLEN/8, x4, x1, x2)

inst_102:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000048 and fs2 == 1 and fe2 == 0x40a and fm2 == 0xc71c71c71c71c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x48; op2val:0xc0ac71c71c71c71c;
   valaddr_reg:x3; val_offset:204*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 204*FLEN/8, x4, x1, x2)

inst_103:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000049 and fs2 == 1 and fe2 == 0x409 and fm2 == 0xc0e070381c0e0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x49; op2val:0xc09c0e070381c0e0;
   valaddr_reg:x3; val_offset:206*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 206*FLEN/8, x4, x1, x2)

inst_104:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004a and fs2 == 1 and fe2 == 0x42c and fm2 == 0xbacf914c1b3e3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4a; op2val:0xc2cbacf914c1b3e3;
   valaddr_reg:x3; val_offset:208*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 208*FLEN/8, x4, x1, x2)

inst_105:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004b and fs2 == 0 and fe2 == 0x42c and fm2 == 0xb4e81b4e81479 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4b; op2val:0x42cb4e81b4e81479;
   valaddr_reg:x3; val_offset:210*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 210*FLEN/8, x4, x1, x2)

inst_106:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004c and fs2 == 0 and fe2 == 0x42c and fm2 == 0xaf286bca1ad78 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4c; op2val:0x42caf286bca1ad78;
   valaddr_reg:x3; val_offset:212*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 212*FLEN/8, x4, x1, x2)

inst_107:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004c and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xb5e50d79435e5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4c; op2val:0xbfeb5e50d79435e5;
   valaddr_reg:x3; val_offset:214*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 214*FLEN/8, x4, x1, x2)

inst_108:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004e and fs2 == 0 and fe2 == 0x407 and fm2 == 0xa41d89d89d89e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4e; op2val:0x407a41d89d89d89e;
   valaddr_reg:x3; val_offset:216*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 216*FLEN/8, x4, x1, x2)

inst_109:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004f and fs2 == 1 and fe2 == 0x42c and fm2 == 0x9ec8e950cf646 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4f; op2val:0xc2c9ec8e950cf646;
   valaddr_reg:x3; val_offset:218*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 218*FLEN/8, x4, x1, x2)

inst_110:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000004f and fs2 == 1 and fe2 == 0x42c and fm2 == 0x9ec8e951033cb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x4f; op2val:0xc2c9ec8e951033cb;
   valaddr_reg:x3; val_offset:220*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 220*FLEN/8, x4, x1, x2)

inst_111:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000050 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x9cccccccccccd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x50; op2val:0xbff9cccccccccccd;
   valaddr_reg:x3; val_offset:222*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 222*FLEN/8, x4, x1, x2)

inst_112:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000050 and fs2 == 1 and fe2 == 0x42c and fm2 == 0x9999999666665 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x50; op2val:0xc2c9999999666665;
   valaddr_reg:x3; val_offset:224*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 224*FLEN/8, x4, x1, x2)

inst_113:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000052 and fs2 == 0 and fe2 == 0x000 and fm2 == 0x0000000008000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x52; op2val:0x8000;
   valaddr_reg:x3; val_offset:226*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 226*FLEN/8, x4, x1, x2)

inst_114:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000053 and fs2 == 0 and fe2 == 0x42c and fm2 == 0x8acb90f6bf3a2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x53; op2val:0x42c8acb90f6bf3a2;
   valaddr_reg:x3; val_offset:228*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 228*FLEN/8, x4, x1, x2)

inst_115:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000053 and fs2 == 1 and fe2 == 0x42c and fm2 == 0x8acb90f65c87a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x53; op2val:0xc2c8acb90f65c87a;
   valaddr_reg:x3; val_offset:230*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 230*FLEN/8, x4, x1, x2)

inst_116:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000054 and fs2 == 0 and fe2 == 0x408 and fm2 == 0x8619e79e79e7a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x54; op2val:0x4088619e79e79e7a;
   valaddr_reg:x3; val_offset:232*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 232*FLEN/8, x4, x1, x2)

inst_117:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000055 and fs2 == 1 and fe2 == 0x407 and fm2 == 0x8181818181818 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x55; op2val:0xc078181818181818;
   valaddr_reg:x3; val_offset:234*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 234*FLEN/8, x4, x1, x2)

inst_118:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000055 and fs2 == 1 and fe2 == 0x40c and fm2 == 0x8181818181818 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x55; op2val:0xc0c8181818181818;
   valaddr_reg:x3; val_offset:236*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 236*FLEN/8, x4, x1, x2)

inst_119:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000056 and fs2 == 0 and fe2 == 0x3fb and fm2 == 0x7d05f417d05f4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x56; op2val:0x3fb7d05f417d05f4;
   valaddr_reg:x3; val_offset:238*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 238*FLEN/8, x4, x1, x2)

inst_120:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000057 and fs2 == 0 and fe2 == 0x42c and fm2 == 0x78a4c8149902e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x57; op2val:0x42c78a4c8149902e;
   valaddr_reg:x3; val_offset:240*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 240*FLEN/8, x4, x1, x2)

inst_121:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000057 and fs2 == 1 and fe2 == 0x3f9 and fm2 == 0x78a4c8178a4c8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x57; op2val:0xbf978a4c8178a4c8;
   valaddr_reg:x3; val_offset:242*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 242*FLEN/8, x4, x1, x2)

inst_122:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x745d1745d1746 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x58; op2val:0x3ff745d1745d1746;
   valaddr_reg:x3; val_offset:244*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 244*FLEN/8, x4, x1, x2)

inst_123:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x7745d1745d174 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x58; op2val:0x3ff7745d1745d174;
   valaddr_reg:x3; val_offset:246*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 246*FLEN/8, x4, x1, x2)

inst_124:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x42c and fm2 == 0x745d1745745d0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x58; op2val:0x42c745d1745745d0;
   valaddr_reg:x3; val_offset:248*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 248*FLEN/8, x4, x1, x2)

inst_125:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000059 and fs2 == 0 and fe2 == 0x42c and fm2 == 0x702e05c0a1141 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x59; op2val:0x42c702e05c0a1141;
   valaddr_reg:x3; val_offset:250*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 250*FLEN/8, x4, x1, x2)

inst_126:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005a and fs2 == 0 and fe2 == 0x409 and fm2 == 0x6c17777777777 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5a; op2val:0x4096c17777777777;
   valaddr_reg:x3; val_offset:252*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 252*FLEN/8, x4, x1, x2)

inst_127:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005b and fs2 == 0 and fe2 == 0x3fc and fm2 == 0x7e97e97e97e98 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5b; op2val:0x3fc7e97e97e97e98;
   valaddr_reg:x3; val_offset:254*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 254*FLEN/8, x4, x1, x2)
RVTEST_SIGBASE(x1,signature_x1_2)

inst_128:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005b and fs2 == 1 and fe2 == 0x400 and fm2 == 0x697e97e97e97f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5b; op2val:0xc00697e97e97e97f;
   valaddr_reg:x3; val_offset:256*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 256*FLEN/8, x4, x1, x2)

inst_129:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005c and fs2 == 1 and fe2 == 0x401 and fm2 == 0x642c8590b2164 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5c; op2val:0xc01642c8590b2164;
   valaddr_reg:x3; val_offset:258*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 258*FLEN/8, x4, x1, x2)

inst_130:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005d and fs2 == 1 and fe2 == 0x408 and fm2 == 0x6059765d9765e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5d; op2val:0xc086059765d9765e;
   valaddr_reg:x3; val_offset:260*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 260*FLEN/8, x4, x1, x2)

inst_131:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005e and fs2 == 0 and fe2 == 0x42c and fm2 == 0x5c9882b93102a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5e; op2val:0x42c5c9882b93102a;
   valaddr_reg:x3; val_offset:262*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 262*FLEN/8, x4, x1, x2)

inst_132:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000000000005f and fs2 == 0 and fe2 == 0x3fa and fm2 == 0x02b1da46102b2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x5f; op2val:0x3fa02b1da46102b2;
   valaddr_reg:x3; val_offset:264*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 264*FLEN/8, x4, x1, x2)

inst_133:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000061 and fs2 == 1 and fe2 == 0x400 and fm2 == 0x51d07eae2f815 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x61; op2val:0xc0051d07eae2f815;
   valaddr_reg:x3; val_offset:266*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 266*FLEN/8, x4, x1, x2)

inst_134:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000061 and fs2 == 1 and fe2 == 0x42c and fm2 == 0x51d07eae2cdda and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x61; op2val:0xc2c51d07eae2cdda;
   valaddr_reg:x3; val_offset:268*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 268*FLEN/8, x4, x1, x2)

inst_135:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000061 and fs2 == 1 and fe2 == 0x42c and fm2 == 0x51d07eae2f6c2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x61; op2val:0xc2c51d07eae2f6c2;
   valaddr_reg:x3; val_offset:270*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 270*FLEN/8, x4, x1, x2)

inst_136:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000062 and fs2 == 0 and fe2 == 0x42c and fm2 == 0x4e5e0a72f0523 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x62; op2val:0x42c4e5e0a72f0523;
   valaddr_reg:x3; val_offset:272*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 272*FLEN/8, x4, x1, x2)

inst_137:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000063 and fs2 == 0 and fe2 == 0x000 and fm2 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x63; op2val:0x0;
   valaddr_reg:x3; val_offset:274*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 274*FLEN/8, x4, x1, x2)

inst_138:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000005 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000003ffffb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000005; op2val:0x3ff00000003ffffb;
   valaddr_reg:x3; val_offset:276*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 276*FLEN/8, x4, x1, x2)

inst_139:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000007 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000003ffff9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000007; op2val:0xbff00000003ffff9;
   valaddr_reg:x3; val_offset:278*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 278*FLEN/8, x4, x1, x2)

inst_140:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000009 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000ffff7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000009; op2val:0x3ff00000000ffff7;
   valaddr_reg:x3; val_offset:280*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 280*FLEN/8, x4, x1, x2)

inst_141:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000000a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000001fff6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000000a; op2val:0x3ff000000001fff6;
   valaddr_reg:x3; val_offset:282*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 282*FLEN/8, x4, x1, x2)

inst_142:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000000d and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000000f3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000000d; op2val:0xbff00000000000f3;
   valaddr_reg:x3; val_offset:284*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 284*FLEN/8, x4, x1, x2)

inst_143:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000013 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffea and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000013; op2val:0x3fefffffffffffea;
   valaddr_reg:x3; val_offset:286*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 286*FLEN/8, x4, x1, x2)

inst_144:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000013 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000007ffed and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000013; op2val:0x3ff000000007ffed;
   valaddr_reg:x3; val_offset:288*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 288*FLEN/8, x4, x1, x2)

inst_145:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000014 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000000002c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000014; op2val:0xbff000000000002c;
   valaddr_reg:x3; val_offset:290*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 290*FLEN/8, x4, x1, x2)

inst_146:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000015 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000003eb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000015; op2val:0x3ff00000000003eb;
   valaddr_reg:x3; val_offset:292*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 292*FLEN/8, x4, x1, x2)

inst_147:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000015 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000feb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000015; op2val:0xbff0000000000feb;
   valaddr_reg:x3; val_offset:294*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 294*FLEN/8, x4, x1, x2)

inst_148:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000017 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000003ffe9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000017; op2val:0x3ff000000003ffe9;
   valaddr_reg:x3; val_offset:296*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 296*FLEN/8, x4, x1, x2)

inst_149:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000017 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xffffffffffff2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000017; op2val:0xbfeffffffffffff2;
   valaddr_reg:x3; val_offset:298*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 298*FLEN/8, x4, x1, x2)

inst_150:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000001e and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffffc8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000001e; op2val:0xbfefffffffffffc8;
   valaddr_reg:x3; val_offset:300*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 300*FLEN/8, x4, x1, x2)

inst_151:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000021 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000007df and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000021; op2val:0xbff00000000007df;
   valaddr_reg:x3; val_offset:302*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 302*FLEN/8, x4, x1, x2)

inst_152:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000023 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffda and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000023; op2val:0x3fefffffffffffda;
   valaddr_reg:x3; val_offset:304*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 304*FLEN/8, x4, x1, x2)

inst_153:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000025 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xffffffffffff6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000025; op2val:0xbfeffffffffffff6;
   valaddr_reg:x3; val_offset:306*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 306*FLEN/8, x4, x1, x2)

inst_154:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000026 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffffb6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000026; op2val:0xbfefffffffffffb6;
   valaddr_reg:x3; val_offset:308*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 308*FLEN/8, x4, x1, x2)

inst_155:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000002b and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffffba and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000002b; op2val:0xbfefffffffffffba;
   valaddr_reg:x3; val_offset:310*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 310*FLEN/8, x4, x1, x2)

inst_156:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000002e and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffac and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000002e; op2val:0x3fefffffffffffac;
   valaddr_reg:x3; val_offset:312*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 312*FLEN/8, x4, x1, x2)

inst_157:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000033 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000001cd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000033; op2val:0x3ff00000000001cd;
   valaddr_reg:x3; val_offset:314*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 314*FLEN/8, x4, x1, x2)

inst_158:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000033 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000001fffcd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000033; op2val:0xbff00000001fffcd;
   valaddr_reg:x3; val_offset:316*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 316*FLEN/8, x4, x1, x2)

inst_159:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000034 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000003fcc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000034; op2val:0xbff0000000003fcc;
   valaddr_reg:x3; val_offset:318*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 318*FLEN/8, x4, x1, x2)

inst_160:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000036 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000000004a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000036; op2val:0x3ff000000000004a;
   valaddr_reg:x3; val_offset:320*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 320*FLEN/8, x4, x1, x2)

inst_161:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000003c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000001ffc4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000003c; op2val:0xbff000000001ffc4;
   valaddr_reg:x3; val_offset:322*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 322*FLEN/8, x4, x1, x2)

inst_162:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000040 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff84 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000040; op2val:0x3fefffffffffff84;
   valaddr_reg:x3; val_offset:324*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 324*FLEN/8, x4, x1, x2)

inst_163:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000043 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000001bd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000043; op2val:0xbff00000000001bd;
   valaddr_reg:x3; val_offset:326*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 326*FLEN/8, x4, x1, x2)

inst_164:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000044 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffb8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000044; op2val:0x3fefffffffffffb8;
   valaddr_reg:x3; val_offset:328*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 328*FLEN/8, x4, x1, x2)

inst_165:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000047 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000000fb9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000047; op2val:0x3ff0000000000fb9;
   valaddr_reg:x3; val_offset:330*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 330*FLEN/8, x4, x1, x2)

inst_166:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000004a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000000ffb6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000004a; op2val:0x3ff000000000ffb6;
   valaddr_reg:x3; val_offset:332*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 332*FLEN/8, x4, x1, x2)

inst_167:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000004b and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000007fb5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000004b; op2val:0x3ff0000000007fb5;
   valaddr_reg:x3; val_offset:334*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 334*FLEN/8, x4, x1, x2)

inst_168:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000004d and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000007b3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000004d; op2val:0x3ff00000000007b3;
   valaddr_reg:x3; val_offset:336*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 336*FLEN/8, x4, x1, x2)

inst_169:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000004d and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000007ffb3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000004d; op2val:0xbff000000007ffb3;
   valaddr_reg:x3; val_offset:338*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 338*FLEN/8, x4, x1, x2)

inst_170:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000056 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffff5c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000056; op2val:0xbfefffffffffff5c;
   valaddr_reg:x3; val_offset:340*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 340*FLEN/8, x4, x1, x2)

inst_171:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000000a8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000058; op2val:0x3ff00000000000a8;
   valaddr_reg:x3; val_offset:342*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 342*FLEN/8, x4, x1, x2)

inst_172:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000001fffa8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000058; op2val:0x3ff00000001fffa8;
   valaddr_reg:x3; val_offset:344*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 344*FLEN/8, x4, x1, x2)

inst_173:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000001fa6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005a; op2val:0x3ff0000000001fa6;
   valaddr_reg:x3; val_offset:346*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 346*FLEN/8, x4, x1, x2)

inst_174:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000003fa6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005a; op2val:0x3ff0000000003fa6;
   valaddr_reg:x3; val_offset:348*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 348*FLEN/8, x4, x1, x2)

inst_175:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005b and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000001fa5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005b; op2val:0xbff0000000001fa5;
   valaddr_reg:x3; val_offset:350*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 350*FLEN/8, x4, x1, x2)

inst_176:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000003a4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005c; op2val:0xbff00000000003a4;
   valaddr_reg:x3; val_offset:352*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 352*FLEN/8, x4, x1, x2)

inst_177:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005d and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff48 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005d; op2val:0x3fefffffffffff48;
   valaddr_reg:x3; val_offset:354*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 354*FLEN/8, x4, x1, x2)

inst_178:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005d and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffc6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005d; op2val:0x3fefffffffffffc6;
   valaddr_reg:x3; val_offset:356*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 356*FLEN/8, x4, x1, x2)

inst_179:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005d and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000003ffa3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005d; op2val:0xbff000000003ffa3;
   valaddr_reg:x3; val_offset:358*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 358*FLEN/8, x4, x1, x2)

inst_180:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005e and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000000ffa2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005e; op2val:0xbff000000000ffa2;
   valaddr_reg:x3; val_offset:360*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 360*FLEN/8, x4, x1, x2)

inst_181:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x000000000005f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000fffa1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1000000000005f; op2val:0xbff00000000fffa1;
   valaddr_reg:x3; val_offset:362*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 362*FLEN/8, x4, x1, x2)

inst_182:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000061 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000000001f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000061; op2val:0xbff000000000001f;
   valaddr_reg:x3; val_offset:364*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 364*FLEN/8, x4, x1, x2)

inst_183:
// fs1 == 0 and fe1 == 0x001 and fm1 == 0x0000000000062 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000007f9e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x10000000000062; op2val:0xbff0000000007f9e;
   valaddr_reg:x3; val_offset:366*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 366*FLEN/8, x4, x1, x2)

inst_184:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000001 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000000ffff and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000001; op2val:0xbff000000000ffff;
   valaddr_reg:x3; val_offset:368*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 368*FLEN/8, x4, x1, x2)

inst_185:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000003 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000000fd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000003; op2val:0xbff00000000000fd;
   valaddr_reg:x3; val_offset:370*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 370*FLEN/8, x4, x1, x2)

inst_186:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000004 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000001ffffc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000004; op2val:0xbff00000001ffffc;
   valaddr_reg:x3; val_offset:372*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 372*FLEN/8, x4, x1, x2)

inst_187:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000005 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xffffffffffffa and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000005; op2val:0xbfeffffffffffffa;
   valaddr_reg:x3; val_offset:374*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 374*FLEN/8, x4, x1, x2)

inst_188:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000006 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000000007a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000006; op2val:0xbff000000000007a;
   valaddr_reg:x3; val_offset:376*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 376*FLEN/8, x4, x1, x2)

inst_189:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000006 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000003ffa and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000006; op2val:0xbff0000000003ffa;
   valaddr_reg:x3; val_offset:378*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 378*FLEN/8, x4, x1, x2)

inst_190:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000009 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000037 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000009; op2val:0xbff0000000000037;
   valaddr_reg:x3; val_offset:380*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 380*FLEN/8, x4, x1, x2)

inst_191:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000000b and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000015 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000000b; op2val:0xbff0000000000015;
   valaddr_reg:x3; val_offset:382*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 382*FLEN/8, x4, x1, x2)

inst_192:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000000f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000007fff1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000000f; op2val:0xbff000000007fff1;
   valaddr_reg:x3; val_offset:384*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 384*FLEN/8, x4, x1, x2)

inst_193:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000014 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000007fec and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000014; op2val:0xbff0000000007fec;
   valaddr_reg:x3; val_offset:386*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 386*FLEN/8, x4, x1, x2)

inst_194:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000015 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000003eb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000015; op2val:0xbff00000000003eb;
   valaddr_reg:x3; val_offset:388*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 388*FLEN/8, x4, x1, x2)

inst_195:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000017 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffffe2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000017; op2val:0xbfefffffffffffe2;
   valaddr_reg:x3; val_offset:390*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 390*FLEN/8, x4, x1, x2)

inst_196:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000018 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000007e8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000018; op2val:0xbff00000000007e8;
   valaddr_reg:x3; val_offset:392*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 392*FLEN/8, x4, x1, x2)

inst_197:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000021 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000001df and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000021; op2val:0xbff00000000001df;
   valaddr_reg:x3; val_offset:394*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 394*FLEN/8, x4, x1, x2)

inst_198:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000002c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000000fffd4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000002c; op2val:0xbff00000000fffd4;
   valaddr_reg:x3; val_offset:396*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 396*FLEN/8, x4, x1, x2)

inst_199:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000002f and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffffaa and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000002f; op2val:0xbfefffffffffffaa;
   valaddr_reg:x3; val_offset:398*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 398*FLEN/8, x4, x1, x2)

inst_200:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000032 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000001fce and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000032; op2val:0xbff0000000001fce;
   valaddr_reg:x3; val_offset:400*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 400*FLEN/8, x4, x1, x2)

inst_201:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000003a and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x00000003fffc6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000003a; op2val:0xbff00000003fffc6;
   valaddr_reg:x3; val_offset:402*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 402*FLEN/8, x4, x1, x2)

inst_202:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000004f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000001ffb1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000004f; op2val:0xbff000000001ffb1;
   valaddr_reg:x3; val_offset:404*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 404*FLEN/8, x4, x1, x2)

inst_203:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000057 and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffff72 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000057; op2val:0xbfefffffffffff72;
   valaddr_reg:x3; val_offset:406*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 406*FLEN/8, x4, x1, x2)

inst_204:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000059 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x0000000000fa7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000059; op2val:0xbff0000000000fa7;
   valaddr_reg:x3; val_offset:408*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 408*FLEN/8, x4, x1, x2)

inst_205:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x000000000005c and fs2 == 1 and fe2 == 0x3fe and fm2 == 0xfffffffffff4a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f8000000000005c; op2val:0xbfefffffffffff4a;
   valaddr_reg:x3; val_offset:410*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 410*FLEN/8, x4, x1, x2)

inst_206:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x0000000000060 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0x000000003ffa0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3f80000000000060; op2val:0xbff000000003ffa0;
   valaddr_reg:x3; val_offset:412*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 412*FLEN/8, x4, x1, x2)

inst_207:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000007 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000000fff9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000007; op2val:0x3ff000000000fff9;
   valaddr_reg:x3; val_offset:414*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 414*FLEN/8, x4, x1, x2)

inst_208:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000008 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000003ffff8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000008; op2val:0x3ff00000003ffff8;
   valaddr_reg:x3; val_offset:416*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 416*FLEN/8, x4, x1, x2)

inst_209:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000000a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000007f6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000000a; op2val:0x3ff00000000007f6;
   valaddr_reg:x3; val_offset:418*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 418*FLEN/8, x4, x1, x2)

inst_210:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000000e and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000003ff2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000000e; op2val:0x3ff0000000003ff2;
   valaddr_reg:x3; val_offset:420*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 420*FLEN/8, x4, x1, x2)

inst_211:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000012 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000fffee and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000012; op2val:0x3ff00000000fffee;
   valaddr_reg:x3; val_offset:422*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 422*FLEN/8, x4, x1, x2)

inst_212:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000019 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000001fe7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000019; op2val:0x3ff0000000001fe7;
   valaddr_reg:x3; val_offset:424*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 424*FLEN/8, x4, x1, x2)

inst_213:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000001b and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000000e5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000001b; op2val:0x3ff00000000000e5;
   valaddr_reg:x3; val_offset:426*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 426*FLEN/8, x4, x1, x2)

inst_214:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000020 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000001fffe0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000020; op2val:0x3ff00000001fffe0;
   valaddr_reg:x3; val_offset:428*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 428*FLEN/8, x4, x1, x2)

inst_215:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000023 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffbc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000023; op2val:0x3fefffffffffffbc;
   valaddr_reg:x3; val_offset:430*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 430*FLEN/8, x4, x1, x2)

inst_216:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000027 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffba and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000027; op2val:0x3fefffffffffffba;
   valaddr_reg:x3; val_offset:432*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 432*FLEN/8, x4, x1, x2)

inst_217:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000028 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000000058 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000028; op2val:0x3ff0000000000058;
   valaddr_reg:x3; val_offset:434*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 434*FLEN/8, x4, x1, x2)

inst_218:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000003e and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff88 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000003e; op2val:0x3fefffffffffff88;
   valaddr_reg:x3; val_offset:436*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 436*FLEN/8, x4, x1, x2)

inst_219:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000041 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff8e and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000041; op2val:0x3fefffffffffff8e;
   valaddr_reg:x3; val_offset:438*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 438*FLEN/8, x4, x1, x2)

inst_220:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000042 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000001be and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000042; op2val:0x3ff00000000001be;
   valaddr_reg:x3; val_offset:440*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 440*FLEN/8, x4, x1, x2)

inst_221:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000043 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff9a and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000043; op2val:0x3fefffffffffff9a;
   valaddr_reg:x3; val_offset:442*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 442*FLEN/8, x4, x1, x2)

inst_222:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000004a and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000007fb6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000004a; op2val:0x3ff0000000007fb6;
   valaddr_reg:x3; val_offset:444*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 444*FLEN/8, x4, x1, x2)

inst_223:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000004c and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffffe8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000004c; op2val:0x3fefffffffffffe8;
   valaddr_reg:x3; val_offset:446*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 446*FLEN/8, x4, x1, x2)

inst_224:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000004c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000001ffb4 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000004c; op2val:0x3ff000000001ffb4;
   valaddr_reg:x3; val_offset:448*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 448*FLEN/8, x4, x1, x2)

inst_225:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000054 and fs2 == 0 and fe2 == 0x3fe and fm2 == 0xfffffffffff98 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000054; op2val:0x3fefffffffffff98;
   valaddr_reg:x3; val_offset:450*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 450*FLEN/8, x4, x1, x2)

inst_226:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x00000000003a8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000058; op2val:0x3ff00000000003a8;
   valaddr_reg:x3; val_offset:452*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 452*FLEN/8, x4, x1, x2)

inst_227:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000058 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000003ffa8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000058; op2val:0x3ff000000003ffa8;
   valaddr_reg:x3; val_offset:454*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 454*FLEN/8, x4, x1, x2)

inst_228:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x000000000005d and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x0000000000fa3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff000000000005d; op2val:0x3ff0000000000fa3;
   valaddr_reg:x3; val_offset:456*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 456*FLEN/8, x4, x1, x2)

inst_229:
// fs1 == 0 and fe1 == 0x3ff and fm1 == 0x0000000000061 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0x000000007ff9f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3ff0000000000061; op2val:0x3ff000000007ff9f;
   valaddr_reg:x3; val_offset:458*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 458*FLEN/8, x4, x1, x2)

inst_230:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000002 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffdffb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000002; op2val:0x3fffffffffffdffb;
   valaddr_reg:x3; val_offset:460*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 460*FLEN/8, x4, x1, x2)

inst_231:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000002 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffffdb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000002; op2val:0xbfffffffffffffdb;
   valaddr_reg:x3; val_offset:462*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 462*FLEN/8, x4, x1, x2)

inst_232:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000004 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffeffff7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000004; op2val:0xbfffffffffeffff7;
   valaddr_reg:x3; val_offset:464*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 464*FLEN/8, x4, x1, x2)

inst_233:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000009 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffff7fed and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000009; op2val:0xbfffffffffff7fed;
   valaddr_reg:x3; val_offset:466*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 466*FLEN/8, x4, x1, x2)

inst_234:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000000d and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffdffe5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000000d; op2val:0x3ffffffffffdffe5;
   valaddr_reg:x3; val_offset:468*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 468*FLEN/8, x4, x1, x2)

inst_235:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000017 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffffdd1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000017; op2val:0xbffffffffffffdd1;
   valaddr_reg:x3; val_offset:470*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 470*FLEN/8, x4, x1, x2)

inst_236:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000019 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffffc5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000019; op2val:0xbfffffffffffffc5;
   valaddr_reg:x3; val_offset:472*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 472*FLEN/8, x4, x1, x2)

inst_237:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000001c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffdfffc7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000001c; op2val:0x3fffffffffdfffc7;
   valaddr_reg:x3; val_offset:474*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 474*FLEN/8, x4, x1, x2)

inst_238:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000001d and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffffdc5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000001d; op2val:0x3ffffffffffffdc5;
   valaddr_reg:x3; val_offset:476*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 476*FLEN/8, x4, x1, x2)

inst_239:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000021 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffffbb and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000021; op2val:0x3fffffffffffffbb;
   valaddr_reg:x3; val_offset:478*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 478*FLEN/8, x4, x1, x2)

inst_240:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000024 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffffb6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000024; op2val:0x3fffffffffffffb6;
   valaddr_reg:x3; val_offset:480*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 480*FLEN/8, x4, x1, x2)

inst_241:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000024 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffffb5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000024; op2val:0xbfffffffffffffb5;
   valaddr_reg:x3; val_offset:482*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 482*FLEN/8, x4, x1, x2)

inst_242:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000002d and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffbfffa5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000002d; op2val:0xbfffffffffbfffa5;
   valaddr_reg:x3; val_offset:484*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 484*FLEN/8, x4, x1, x2)

inst_243:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000002d and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffefa5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000002d; op2val:0xbfffffffffffefa5;
   valaddr_reg:x3; val_offset:486*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 486*FLEN/8, x4, x1, x2)

inst_244:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000031 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffef9d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000031; op2val:0x3fffffffffffef9d;
   valaddr_reg:x3; val_offset:488*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 488*FLEN/8, x4, x1, x2)

inst_245:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000032 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffbfff9b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000032; op2val:0x3fffffffffbfff9b;
   valaddr_reg:x3; val_offset:490*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 490*FLEN/8, x4, x1, x2)

inst_246:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000034 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffbff97 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000034; op2val:0x3ffffffffffbff97;
   valaddr_reg:x3; val_offset:492*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 492*FLEN/8, x4, x1, x2)

inst_247:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000034 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffff797 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000034; op2val:0x3ffffffffffff797;
   valaddr_reg:x3; val_offset:494*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 494*FLEN/8, x4, x1, x2)

inst_248:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000003b and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffbff89 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000003b; op2val:0xbffffffffffbff89;
   valaddr_reg:x3; val_offset:496*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 496*FLEN/8, x4, x1, x2)

inst_249:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000003c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffbf87 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000003c; op2val:0x3fffffffffffbf87;
   valaddr_reg:x3; val_offset:498*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 498*FLEN/8, x4, x1, x2)

inst_250:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000003d and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffff75 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000003d; op2val:0x3fffffffffffff75;
   valaddr_reg:x3; val_offset:500*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 500*FLEN/8, x4, x1, x2)

inst_251:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000003e and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffff03 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000003e; op2val:0xbfffffffffffff03;
   valaddr_reg:x3; val_offset:502*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 502*FLEN/8, x4, x1, x2)

inst_252:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000003f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffdf81 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000003f; op2val:0xbfffffffffffdf81;
   valaddr_reg:x3; val_offset:504*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 504*FLEN/8, x4, x1, x2)

inst_253:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000041 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffff7ff7d and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000041; op2val:0xbffffffffff7ff7d;
   valaddr_reg:x3; val_offset:506*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 506*FLEN/8, x4, x1, x2)

inst_254:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000042 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffffe7b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000042; op2val:0xbffffffffffffe7b;
   valaddr_reg:x3; val_offset:508*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 508*FLEN/8, x4, x1, x2)

inst_255:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000047 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffff51 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000047; op2val:0x3fffffffffffff51;
   valaddr_reg:x3; val_offset:510*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 510*FLEN/8, x4, x1, x2)
RVTEST_SIGBASE(x1,signature_x1_3)

inst_256:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000004c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffeff67 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000004c; op2val:0xbffffffffffeff67;
   valaddr_reg:x3; val_offset:512*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 512*FLEN/8, x4, x1, x2)

inst_257:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000004c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffff63 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000004c; op2val:0xbfffffffffffff63;
   valaddr_reg:x3; val_offset:514*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 514*FLEN/8, x4, x1, x2)

inst_258:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000004e and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffefff63 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000004e; op2val:0x3fffffffffefff63;
   valaddr_reg:x3; val_offset:516*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 516*FLEN/8, x4, x1, x2)

inst_259:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000004f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffdfff61 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000004f; op2val:0xbfffffffffdfff61;
   valaddr_reg:x3; val_offset:518*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 518*FLEN/8, x4, x1, x2)

inst_260:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000004f and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffff51 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000004f; op2val:0xbfffffffffffff51;
   valaddr_reg:x3; val_offset:520*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 520*FLEN/8, x4, x1, x2)

inst_261:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000050 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffffb5f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000050; op2val:0x3ffffffffffffb5f;
   valaddr_reg:x3; val_offset:522*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 522*FLEN/8, x4, x1, x2)

inst_262:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000054 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffeff57 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000054; op2val:0x3ffffffffffeff57;
   valaddr_reg:x3; val_offset:524*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 524*FLEN/8, x4, x1, x2)

inst_263:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000055 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffffed5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000055; op2val:0x3ffffffffffffed5;
   valaddr_reg:x3; val_offset:526*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 526*FLEN/8, x4, x1, x2)

inst_264:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000056 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffbf53 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000056; op2val:0xbfffffffffffbf53;
   valaddr_reg:x3; val_offset:528*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 528*FLEN/8, x4, x1, x2)

inst_265:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000057 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffdff51 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000057; op2val:0xbffffffffffdff51;
   valaddr_reg:x3; val_offset:530*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 530*FLEN/8, x4, x1, x2)

inst_266:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000057 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffff11 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000057; op2val:0xbfffffffffffff11;
   valaddr_reg:x3; val_offset:532*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 532*FLEN/8, x4, x1, x2)

inst_267:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005b and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffff41 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005b; op2val:0x3fffffffffffff41;
   valaddr_reg:x3; val_offset:534*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 534*FLEN/8, x4, x1, x2)

inst_268:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffff7f47 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005c; op2val:0x3fffffffffff7f47;
   valaddr_reg:x3; val_offset:536*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 536*FLEN/8, x4, x1, x2)

inst_269:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005c and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffff07 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005c; op2val:0x3fffffffffffff07;
   valaddr_reg:x3; val_offset:538*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 538*FLEN/8, x4, x1, x2)

inst_270:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005c and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffffb47 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005c; op2val:0xbffffffffffffb47;
   valaddr_reg:x3; val_offset:540*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 540*FLEN/8, x4, x1, x2)

inst_271:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005e and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffff7ff43 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005e; op2val:0x3ffffffffff7ff43;
   valaddr_reg:x3; val_offset:542*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 542*FLEN/8, x4, x1, x2)

inst_272:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x000000000005e and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xfffffffffff3f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe000000000005e; op2val:0x3fffffffffffff3f;
   valaddr_reg:x3; val_offset:544*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 544*FLEN/8, x4, x1, x2)

inst_273:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000062 and fs2 == 0 and fe2 == 0x3ff and fm2 == 0xffffffffffe3b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000062; op2val:0x3ffffffffffffe3b;
   valaddr_reg:x3; val_offset:546*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 546*FLEN/8, x4, x1, x2)

inst_274:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000062 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xffffffffff73b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000062; op2val:0xbffffffffffff73b;
   valaddr_reg:x3; val_offset:548*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 548*FLEN/8, x4, x1, x2)

inst_275:
// fs1 == 0 and fe1 == 0x7fe and fm1 == 0x0000000000063 and fs2 == 1 and fe2 == 0x3ff and fm2 == 0xfffffffffff38 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x7fe0000000000063; op2val:0xbfffffffffffff38;
   valaddr_reg:x3; val_offset:550*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 550*FLEN/8, x4, x1, x2)

inst_276:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000001 and fs2 == 1 and fe2 == 0x40b and fm2 == 0x0010000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1; op2val:0xc0b0010000000000;
   valaddr_reg:x3; val_offset:552*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 552*FLEN/8, x4, x1, x2)

inst_277:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000001 and fs2 == 1 and fe2 == 0x432 and fm2 == 0xfffffffffffde and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x1; op2val:0xc32fffffffffffde;
   valaddr_reg:x3; val_offset:554*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 554*FLEN/8, x4, x1, x2)

inst_278:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000003 and fs2 == 0 and fe2 == 0x431 and fm2 == 0x5555555552aa9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3; op2val:0x4315555555552aa9;
   valaddr_reg:x3; val_offset:556*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 556*FLEN/8, x4, x1, x2)

inst_279:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000003 and fs2 == 0 and fe2 == 0x431 and fm2 == 0x55555555554a9 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fmul.d ; op1:f30; op2:f29; dest:f31; op1val:0x3; op2val:0x43155555555554a9;
   valaddr_reg:x3; val_offset:558*FLEN/8; rmval:dyn; fcsr: 0;
   correctval:??; testreg:x2
*/
TEST_FPRR_OP(fmul.d, f31, f30, f29, dyn, 0, 0, x3, 558*FLEN/8, x4, x1, x2)
#endif


RVTEST_CODE_END
RVMODEL_HALT

RVTEST_DATA_BEGIN
.align 4
rvtest_data:
.word 0xbabecafe
.word 0xabecafeb
.word 0xbecafeba
.word 0xecafebab
test_dataset_0:
.dword 0x1
.dword 0x1
.dword 0x1
.dword 0xc32fffffffffffde
.dword 0x3
.dword 0x3
.dword 0x3
.dword 0x43155555555554a9
.dword 0x4
.dword 0xc30fffffffffffbe
.dword 0x5
.dword 0x402999999999999a
.dword 0x5
.dword 0x409999999999999a
.dword 0x5
.dword 0x4109999b33333333
.dword 0x5
.dword 0xbff0000000000000
.dword 0x5
.dword 0xc0999a6666666666
.dword 0x8
.dword 0x3fc0000000000000
.dword 0x8
.dword 0x40f0000200000000
.dword 0xa
.dword 0xc2f99999999998cb
.dword 0xb
.dword 0x3fc745d1745d1746
.dword 0xc
.dword 0x4015aaaaaaaaaaab
.dword 0xd
.dword 0x4113b13b62762762
.dword 0xd
.dword 0x42f3b13b13a76275
.dword 0xd
.dword 0x42f3b13b13b1313a
.dword 0xd
.dword 0xc0d3b14000000000
.dword 0xe
.dword 0x40325b6db6db6db7
.dword 0xe
.dword 0xc2f249249236db6d
.dword 0xf
.dword 0xc0a1113333333333
.dword 0x10
.dword 0x42efffffffff7ffe
.dword 0x10
.dword 0xc2effffffffdfffe
.dword 0x12
.dword 0x40cc71ce38e38e39
.dword 0x13
.dword 0x407af35e50d79436
.dword 0x15
.dword 0x40f86186db6db6db
.dword 0x16
.dword 0x3fc745d1745d1746
.dword 0x16
.dword 0x40b745d1745d1746
.dword 0x16
.dword 0xc10745d1745d1746
.dword 0x17
.dword 0x40c642c8590b2164
.dword 0x17
.dword 0x40e642c8590b2164
.dword 0x17
.dword 0x40f642c8590b2164
.dword 0x18
.dword 0xbfc5555555555555
.dword 0x18
.dword 0xc0d5555800000000
.dword 0x19
.dword 0xc2e47ae147ae11ea
.dword 0x1b
.dword 0xc2e2f684bda12f62
.dword 0x1c
.dword 0x3ff2492492492492
.dword 0x1c
.dword 0x42e2492492492488
.dword 0x1c
.dword 0xc0f2492524924925
.dword 0x1c
.dword 0xc2e24924923fffff
.dword 0x1e
.dword 0x40d1111111111111
.dword 0x1e
.dword 0xbfd3333333333333
.dword 0x1e
.dword 0xc0e1111222222222
.dword 0x1f
.dword 0xc0b084294a5294a5
.dword 0x21
.dword 0x3fdf07c1f07c1f08
.dword 0x21
.dword 0xbff0000000000000
.dword 0x21
.dword 0xc02f1745d1745d17
.dword 0x21
.dword 0xc2df07c1f07b26c8
.dword 0x22
.dword 0x3fc2d2d2d2d2d2d3
.dword 0x22
.dword 0x407e1e9696969697
.dword 0x28
.dword 0x42d99999997ffffe
.dword 0x28
.dword 0x42d9999999966665
.dword 0x28
.dword 0x42d9999999999995
.dword 0x28
.dword 0xc2d9999999999932
.dword 0x29
.dword 0x4088f9c18f9c18fa
.dword 0x2a
.dword 0xc0e8618618618618
.dword 0x2e
.dword 0xbff642c8590b2164
.dword 0x2f
.dword 0x4075c9882b931057
.dword 0x2f
.dword 0x42d5c9882b92620a
.dword 0x2f
.dword 0xbf95c9882b931057
.dword 0x2f
.dword 0xbfe5c9882b931057
.dword 0x33
.dword 0x4024141414141414
.dword 0x33
.dword 0x4044169696969697
.dword 0x33
.dword 0xc2d414141413c3c3
.dword 0x33
.dword 0xc2d4141414140a09
.dword 0x34
.dword 0x3fc6276276276276
.dword 0x35
.dword 0xc073526a439f656f
.dword 0x35
.dword 0xc2d3521cfb2b78bf
.dword 0x36
.dword 0x42d2f684bda12d08
.dword 0x36
.dword 0xbfc2f684bda12f68
.dword 0x37
.dword 0x40929e4129e4129e
.dword 0x37
.dword 0x42d29e4129e41253
.dword 0x37
.dword 0xc032a2e8ba2e8ba3
.dword 0x38
.dword 0x4012492492492492
.dword 0x39
.dword 0xbfd31674c59d3167
.dword 0x3a
.dword 0x4021b08d3dcb08d4
.dword 0x3a
.dword 0x42d1a7b960d3dcaf
.dword 0x3a
.dword 0xc001a7b9611a7b96
.dword 0x3b
.dword 0xc0c15b1e5f75270d
.dword 0x3c
.dword 0x42d111111111110f
.dword 0x3c
.dword 0xc031111111111111
.dword 0x3c
.dword 0xc091111111111111
.dword 0x3c
.dword 0xc2d111111110ffff
.dword 0x3d
.dword 0x3fe14fbcda3ac10d
.dword 0x3d
.dword 0xc2d0c9714f79b474
.dword 0x3e
.dword 0x42d084210841ffff
.dword 0x3f
.dword 0xc050410410410410
.dword 0x3f
.dword 0xc2d041041041040d
.dword 0x40
.dword 0xc060000000000000
.dword 0x41
.dword 0x404f81f81f81f820
.dword 0x42
.dword 0x402f07c1f07c1f08
.dword 0x42
.dword 0x404f09b26c9b26ca
.dword 0x42
.dword 0x40ef07c1f07c1f08
.dword 0x42
.dword 0xbfa745d1745d1746
.dword 0x42
.dword 0xc06f07c1f07c1f08
.dword 0x43
.dword 0x402e98d5f85bb395
.dword 0x43
.dword 0xc0ee913226357e17
.dword 0x44
.dword 0xbfce1e1e1e1e1e1e
.dword 0x44
.dword 0xc03e1e1e1e1e1e1e
.dword 0x44
.dword 0xc03e21e1e1e1e1e2
.dword 0x46
.dword 0x403d41d41d41d41d
.dword 0x48
.dword 0xc0ac71c71c71c71c
.dword 0x49
.dword 0xc09c0e070381c0e0
.dword 0x4a
.dword 0xc2cbacf914c1b3e3
.dword 0x4b
.dword 0x42cb4e81b4e81479
.dword 0x4c
.dword 0x42caf286bca1ad78
.dword 0x4c
.dword 0xbfeb5e50d79435e5
.dword 0x4e
.dword 0x407a41d89d89d89e
.dword 0x4f
.dword 0xc2c9ec8e950cf646
.dword 0x4f
.dword 0xc2c9ec8e951033cb
.dword 0x50
.dword 0xbff9cccccccccccd
.dword 0x50
.dword 0xc2c9999999666665
.dword 0x52
.dword 0x8000
.dword 0x53
.dword 0x42c8acb90f6bf3a2
.dword 0x53
.dword 0xc2c8acb90f65c87a
.dword 0x54
.dword 0x4088619e79e79e7a
.dword 0x55
.dword 0xc078181818181818
.dword 0x55
.dword 0xc0c8181818181818
.dword 0x56
.dword 0x3fb7d05f417d05f4
.dword 0x57
.dword 0x42c78a4c8149902e
.dword 0x57
.dword 0xbf978a4c8178a4c8
.dword 0x58
.dword 0x3ff745d1745d1746
.dword 0x58
.dword 0x3ff7745d1745d174
.dword 0x58
.dword 0x42c745d1745745d0
.dword 0x59
.dword 0x42c702e05c0a1141
.dword 0x5a
.dword 0x4096c17777777777
.dword 0x5b
.dword 0x3fc7e97e97e97e98
.dword 0x5b
.dword 0xc00697e97e97e97f
.dword 0x5c
.dword 0xc01642c8590b2164
.dword 0x5d
.dword 0xc086059765d9765e
.dword 0x5e
.dword 0x42c5c9882b93102a
.dword 0x5f
.dword 0x3fa02b1da46102b2
.dword 0x61
.dword 0xc0051d07eae2f815
.dword 0x61
.dword 0xc2c51d07eae2cdda
.dword 0x61
.dword 0xc2c51d07eae2f6c2
.dword 0x62
.dword 0x42c4e5e0a72f0523
.dword 0x63
.dword 0x0
.dword 0x10000000000005
.dword 0x3ff00000003ffffb
.dword 0x10000000000007
.dword 0xbff00000003ffff9
.dword 0x10000000000009
.dword 0x3ff00000000ffff7
.dword 0x1000000000000a
.dword 0x3ff000000001fff6
.dword 0x1000000000000d
.dword 0xbff00000000000f3
.dword 0x10000000000013
.dword 0x3fefffffffffffea
.dword 0x10000000000013
.dword 0x3ff000000007ffed
.dword 0x10000000000014
.dword 0xbff000000000002c
.dword 0x10000000000015
.dword 0x3ff00000000003eb
.dword 0x10000000000015
.dword 0xbff0000000000feb
.dword 0x10000000000017
.dword 0x3ff000000003ffe9
.dword 0x10000000000017
.dword 0xbfeffffffffffff2
.dword 0x1000000000001e
.dword 0xbfefffffffffffc8
.dword 0x10000000000021
.dword 0xbff00000000007df
.dword 0x10000000000023
.dword 0x3fefffffffffffda
.dword 0x10000000000025
.dword 0xbfeffffffffffff6
.dword 0x10000000000026
.dword 0xbfefffffffffffb6
.dword 0x1000000000002b
.dword 0xbfefffffffffffba
.dword 0x1000000000002e
.dword 0x3fefffffffffffac
.dword 0x10000000000033
.dword 0x3ff00000000001cd
.dword 0x10000000000033
.dword 0xbff00000001fffcd
.dword 0x10000000000034
.dword 0xbff0000000003fcc
.dword 0x10000000000036
.dword 0x3ff000000000004a
.dword 0x1000000000003c
.dword 0xbff000000001ffc4
.dword 0x10000000000040
.dword 0x3fefffffffffff84
.dword 0x10000000000043
.dword 0xbff00000000001bd
.dword 0x10000000000044
.dword 0x3fefffffffffffb8
.dword 0x10000000000047
.dword 0x3ff0000000000fb9
.dword 0x1000000000004a
.dword 0x3ff000000000ffb6
.dword 0x1000000000004b
.dword 0x3ff0000000007fb5
.dword 0x1000000000004d
.dword 0x3ff00000000007b3
.dword 0x1000000000004d
.dword 0xbff000000007ffb3
.dword 0x10000000000056
.dword 0xbfefffffffffff5c
.dword 0x10000000000058
.dword 0x3ff00000000000a8
.dword 0x10000000000058
.dword 0x3ff00000001fffa8
.dword 0x1000000000005a
.dword 0x3ff0000000001fa6
.dword 0x1000000000005a
.dword 0x3ff0000000003fa6
.dword 0x1000000000005b
.dword 0xbff0000000001fa5
.dword 0x1000000000005c
.dword 0xbff00000000003a4
.dword 0x1000000000005d
.dword 0x3fefffffffffff48
.dword 0x1000000000005d
.dword 0x3fefffffffffffc6
.dword 0x1000000000005d
.dword 0xbff000000003ffa3
.dword 0x1000000000005e
.dword 0xbff000000000ffa2
.dword 0x1000000000005f
.dword 0xbff00000000fffa1
.dword 0x10000000000061
.dword 0xbff000000000001f
.dword 0x10000000000062
.dword 0xbff0000000007f9e
.dword 0x3f80000000000001
.dword 0xbff000000000ffff
.dword 0x3f80000000000003
.dword 0xbff00000000000fd
.dword 0x3f80000000000004
.dword 0xbff00000001ffffc
.dword 0x3f80000000000005
.dword 0xbfeffffffffffffa
.dword 0x3f80000000000006
.dword 0xbff000000000007a
.dword 0x3f80000000000006
.dword 0xbff0000000003ffa
.dword 0x3f80000000000009
.dword 0xbff0000000000037
.dword 0x3f8000000000000b
.dword 0xbff0000000000015
.dword 0x3f8000000000000f
.dword 0xbff000000007fff1
.dword 0x3f80000000000014
.dword 0xbff0000000007fec
.dword 0x3f80000000000015
.dword 0xbff00000000003eb
.dword 0x3f80000000000017
.dword 0xbfefffffffffffe2
.dword 0x3f80000000000018
.dword 0xbff00000000007e8
.dword 0x3f80000000000021
.dword 0xbff00000000001df
.dword 0x3f8000000000002c
.dword 0xbff00000000fffd4
.dword 0x3f8000000000002f
.dword 0xbfefffffffffffaa
.dword 0x3f80000000000032
.dword 0xbff0000000001fce
.dword 0x3f8000000000003a
.dword 0xbff00000003fffc6
.dword 0x3f8000000000004f
.dword 0xbff000000001ffb1
.dword 0x3f80000000000057
.dword 0xbfefffffffffff72
.dword 0x3f80000000000059
.dword 0xbff0000000000fa7
.dword 0x3f8000000000005c
.dword 0xbfefffffffffff4a
.dword 0x3f80000000000060
.dword 0xbff000000003ffa0
.dword 0x3ff0000000000007
.dword 0x3ff000000000fff9
.dword 0x3ff0000000000008
.dword 0x3ff00000003ffff8
.dword 0x3ff000000000000a
.dword 0x3ff00000000007f6
.dword 0x3ff000000000000e
.dword 0x3ff0000000003ff2
.dword 0x3ff0000000000012
.dword 0x3ff00000000fffee
.dword 0x3ff0000000000019
.dword 0x3ff0000000001fe7
.dword 0x3ff000000000001b
.dword 0x3ff00000000000e5
.dword 0x3ff0000000000020
.dword 0x3ff00000001fffe0
.dword 0x3ff0000000000023
.dword 0x3fefffffffffffbc
.dword 0x3ff0000000000027
.dword 0x3fefffffffffffba
.dword 0x3ff0000000000028
.dword 0x3ff0000000000058
.dword 0x3ff000000000003e
.dword 0x3fefffffffffff88
.dword 0x3ff0000000000041
.dword 0x3fefffffffffff8e
.dword 0x3ff0000000000042
.dword 0x3ff00000000001be
.dword 0x3ff0000000000043
.dword 0x3fefffffffffff9a
.dword 0x3ff000000000004a
.dword 0x3ff0000000007fb6
.dword 0x3ff000000000004c
.dword 0x3fefffffffffffe8
.dword 0x3ff000000000004c
.dword 0x3ff000000001ffb4
.dword 0x3ff0000000000054
.dword 0x3fefffffffffff98
.dword 0x3ff0000000000058
.dword 0x3ff00000000003a8
.dword 0x3ff0000000000058
.dword 0x3ff000000003ffa8
.dword 0x3ff000000000005d
.dword 0x3ff0000000000fa3
.dword 0x3ff0000000000061
.dword 0x3ff000000007ff9f
.dword 0x7fe0000000000002
.dword 0x3fffffffffffdffb
.dword 0x7fe0000000000002
.dword 0xbfffffffffffffdb
.dword 0x7fe0000000000004
.dword 0xbfffffffffeffff7
.dword 0x7fe0000000000009
.dword 0xbfffffffffff7fed
.dword 0x7fe000000000000d
.dword 0x3ffffffffffdffe5
.dword 0x7fe0000000000017
.dword 0xbffffffffffffdd1
.dword 0x7fe0000000000019
.dword 0xbfffffffffffffc5
.dword 0x7fe000000000001c
.dword 0x3fffffffffdfffc7
.dword 0x7fe000000000001d
.dword 0x3ffffffffffffdc5
.dword 0x7fe0000000000021
.dword 0x3fffffffffffffbb
.dword 0x7fe0000000000024
.dword 0x3fffffffffffffb6
.dword 0x7fe0000000000024
.dword 0xbfffffffffffffb5
.dword 0x7fe000000000002d
.dword 0xbfffffffffbfffa5
.dword 0x7fe000000000002d
.dword 0xbfffffffffffefa5
.dword 0x7fe0000000000031
.dword 0x3fffffffffffef9d
.dword 0x7fe0000000000032
.dword 0x3fffffffffbfff9b
.dword 0x7fe0000000000034
.dword 0x3ffffffffffbff97
.dword 0x7fe0000000000034
.dword 0x3ffffffffffff797
.dword 0x7fe000000000003b
.dword 0xbffffffffffbff89
.dword 0x7fe000000000003c
.dword 0x3fffffffffffbf87
.dword 0x7fe000000000003d
.dword 0x3fffffffffffff75
.dword 0x7fe000000000003e
.dword 0xbfffffffffffff03
.dword 0x7fe000000000003f
.dword 0xbfffffffffffdf81
.dword 0x7fe0000000000041
.dword 0xbffffffffff7ff7d
.dword 0x7fe0000000000042
.dword 0xbffffffffffffe7b
.dword 0x7fe0000000000047
.dword 0x3fffffffffffff51
.dword 0x7fe000000000004c
.dword 0xbffffffffffeff67
.dword 0x7fe000000000004c
.dword 0xbfffffffffffff63
.dword 0x7fe000000000004e
.dword 0x3fffffffffefff63
.dword 0x7fe000000000004f
.dword 0xbfffffffffdfff61
.dword 0x7fe000000000004f
.dword 0xbfffffffffffff51
.dword 0x7fe0000000000050
.dword 0x3ffffffffffffb5f
.dword 0x7fe0000000000054
.dword 0x3ffffffffffeff57
.dword 0x7fe0000000000055
.dword 0x3ffffffffffffed5
.dword 0x7fe0000000000056
.dword 0xbfffffffffffbf53
.dword 0x7fe0000000000057
.dword 0xbffffffffffdff51
.dword 0x7fe0000000000057
.dword 0xbfffffffffffff11
.dword 0x7fe000000000005b
.dword 0x3fffffffffffff41
.dword 0x7fe000000000005c
.dword 0x3fffffffffff7f47
.dword 0x7fe000000000005c
.dword 0x3fffffffffffff07
.dword 0x7fe000000000005c
.dword 0xbffffffffffffb47
.dword 0x7fe000000000005e
.dword 0x3ffffffffff7ff43
.dword 0x7fe000000000005e
.dword 0x3fffffffffffff3f
.dword 0x7fe0000000000062
.dword 0x3ffffffffffffe3b
.dword 0x7fe0000000000062
.dword 0xbffffffffffff73b
.dword 0x7fe0000000000063
.dword 0xbfffffffffffff38
.dword 0x1
.dword 0xc0b0010000000000
.dword 0x1
.dword 0xc32fffffffffffde
.dword 0x3
.dword 0x4315555555552aa9
.dword 0x3
.dword 0x43155555555554a9
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 256*((SIGALIGN)/4),4,0xdeadbeef


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


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

#ifdef rvtest_mtrap_routine

tsig_begin_canary:
CANARY;
tsig_begin_canary:
CANARY;
mtrap_sigptr:
    .fill 64*(XLEN/32),4,0xdeadbeef
tsig_end_canary:
CANARY;
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
