
// -----------
// 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:32 2022 GMT
// usage     : riscv_ctg \
//                  -- cgf //                  --cgf /scratch/pawan/work/normalised/RV32D/fsqrt.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 fsqrt.d instruction of the RISC-V RV32FD_Zicsr,RV64FD_Zicsr extension for the fsqrt.d_b20 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;",fsqrt.d_b20)

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

inst_0:
// rs1 != rd, rs1==f31, rd==f10,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f31; dest:f10; op1val:0x0; valaddr_reg:x3;
val_offset:0*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f10, f31, dyn, 0, 0, x3, 0*FLEN/8, x4, x1, x2)

inst_1:
// rs1 == rd, rs1==f9, rd==f9,fs1 == 0 and fe1 == 0x000 and fm1 == 0x00000668b9824 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f9; dest:f9; op1val:0x668b9824; valaddr_reg:x3;
val_offset:1*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f9, f9, dyn, 0, 0, x3, 1*FLEN/8, x4, x1, x2)

inst_2:
// rs1==f19, rd==f29,fs1 == 0 and fe1 == 0x000 and fm1 == 0x000fe99b3b666 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f19; dest:f29; op1val:0xfe99b3b666; valaddr_reg:x3;
val_offset:2*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f29, f19, dyn, 0, 0, x3, 2*FLEN/8, x4, x1, x2)

inst_3:
// rs1==f17, rd==f2,fs1 == 0 and fe1 == 0x000 and fm1 == 0x15f94b0040000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f17; dest:f2; op1val:0x15f94b0040000; valaddr_reg:x3;
val_offset:3*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f2, f17, dyn, 0, 0, x3, 3*FLEN/8, x4, x1, x2)

inst_4:
// rs1==f8, rd==f1,fs1 == 0 and fe1 == 0x010 and fm1 == 0x19147937aef10 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f8; dest:f1; op1val:0x1019147937aef10; valaddr_reg:x3;
val_offset:4*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f1, f8, dyn, 0, 0, x3, 4*FLEN/8, x4, x1, x2)

inst_5:
// rs1==f14, rd==f19,fs1 == 0 and fe1 == 0x011 and fm1 == 0x421e71936ce4f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f14; dest:f19; op1val:0x11421e71936ce4f; valaddr_reg:x3;
val_offset:5*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f19, f14, dyn, 0, 0, x3, 5*FLEN/8, x4, x1, x2)

inst_6:
// rs1==f4, rd==f23,fs1 == 0 and fe1 == 0x01b and fm1 == 0xd960e82d4b810 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f4; dest:f23; op1val:0x1bd960e82d4b810; valaddr_reg:x3;
val_offset:6*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f23, f4, dyn, 0, 0, x3, 6*FLEN/8, x4, x1, x2)

inst_7:
// rs1==f24, rd==f11,fs1 == 0 and fe1 == 0x01e and fm1 == 0x28a5fa032b6d5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f24; dest:f11; op1val:0x1e28a5fa032b6d5; valaddr_reg:x3;
val_offset:7*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f11, f24, dyn, 0, 0, x3, 7*FLEN/8, x4, x1, x2)

inst_8:
// rs1==f0, rd==f12,fs1 == 0 and fe1 == 0x028 and fm1 == 0x50d5c9d17a718 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f0; dest:f12; op1val:0x2850d5c9d17a718; valaddr_reg:x3;
val_offset:8*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f12, f0, dyn, 0, 0, x3, 8*FLEN/8, x4, x1, x2)

inst_9:
// rs1==f21, rd==f20,fs1 == 0 and fe1 == 0x046 and fm1 == 0x10964a3288ede and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f21; dest:f20; op1val:0x4610964a3288ede; valaddr_reg:x3;
val_offset:9*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f20, f21, dyn, 0, 0, x3, 9*FLEN/8, x4, x1, x2)

inst_10:
// rs1==f29, rd==f8,fs1 == 0 and fe1 == 0x04d and fm1 == 0xf54d566d3af23 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f29; dest:f8; op1val:0x4df54d566d3af23; valaddr_reg:x3;
val_offset:10*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f8, f29, dyn, 0, 0, x3, 10*FLEN/8, x4, x1, x2)

inst_11:
// rs1==f18, rd==f26,fs1 == 0 and fe1 == 0x05f and fm1 == 0x19ad084000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f18; dest:f26; op1val:0x5f19ad084000000; valaddr_reg:x3;
val_offset:11*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f26, f18, dyn, 0, 0, x3, 11*FLEN/8, x4, x1, x2)

inst_12:
// rs1==f28, rd==f14,fs1 == 0 and fe1 == 0x076 and fm1 == 0x033274a480488 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f28; dest:f14; op1val:0x76033274a480488; valaddr_reg:x3;
val_offset:12*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f14, f28, dyn, 0, 0, x3, 12*FLEN/8, x4, x1, x2)

inst_13:
// rs1==f22, rd==f13,fs1 == 0 and fe1 == 0x0b8 and fm1 == 0x676d52bcd2ca2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f22; dest:f13; op1val:0xb8676d52bcd2ca2; valaddr_reg:x3;
val_offset:13*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f13, f22, dyn, 0, 0, x3, 13*FLEN/8, x4, x1, x2)

inst_14:
// rs1==f15, rd==f0,fs1 == 0 and fe1 == 0x0db and fm1 == 0xb6b4c40000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f15; dest:f0; op1val:0xdbb6b4c40000000; valaddr_reg:x3;
val_offset:14*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f0, f15, dyn, 0, 0, x3, 14*FLEN/8, x4, x1, x2)

inst_15:
// rs1==f30, rd==f5,fs1 == 0 and fe1 == 0x0dd and fm1 == 0xb962d97d9e0d3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f5; op1val:0xddb962d97d9e0d3; valaddr_reg:x3;
val_offset:15*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f5, f30, dyn, 0, 0, x3, 15*FLEN/8, x4, x1, x2)

inst_16:
// rs1==f20, rd==f27,fs1 == 0 and fe1 == 0x0f6 and fm1 == 0x0e8dcc21fc0dc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f20; dest:f27; op1val:0xf60e8dcc21fc0dc; valaddr_reg:x3;
val_offset:16*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f27, f20, dyn, 0, 0, x3, 16*FLEN/8, x4, x1, x2)

inst_17:
// rs1==f27, rd==f3,fs1 == 0 and fe1 == 0x11a and fm1 == 0xd120000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f27; dest:f3; op1val:0x11ad120000000000; valaddr_reg:x3;
val_offset:17*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f3, f27, dyn, 0, 0, x3, 17*FLEN/8, x4, x1, x2)

inst_18:
// rs1==f23, rd==f24,fs1 == 0 and fe1 == 0x141 and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f23; dest:f24; op1val:0x1410000000000000; valaddr_reg:x3;
val_offset:18*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f24, f23, dyn, 0, 0, x3, 18*FLEN/8, x4, x1, x2)

inst_19:
// rs1==f26, rd==f31,fs1 == 0 and fe1 == 0x14c and fm1 == 0x3543bca6412dd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f26; dest:f31; op1val:0x14c3543bca6412dd; valaddr_reg:x3;
val_offset:19*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f26, dyn, 0, 0, x3, 19*FLEN/8, x4, x1, x2)

inst_20:
// rs1==f11, rd==f25,fs1 == 0 and fe1 == 0x15c and fm1 == 0xb61d12a3db43b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f11; dest:f25; op1val:0x15cb61d12a3db43b; valaddr_reg:x3;
val_offset:20*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f25, f11, dyn, 0, 0, x3, 20*FLEN/8, x4, x1, x2)

inst_21:
// rs1==f16, rd==f6,fs1 == 0 and fe1 == 0x176 and fm1 == 0xeb971282f8200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f16; dest:f6; op1val:0x176eb971282f8200; valaddr_reg:x3;
val_offset:21*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f6, f16, dyn, 0, 0, x3, 21*FLEN/8, x4, x1, x2)

inst_22:
// rs1==f6, rd==f30,fs1 == 0 and fe1 == 0x181 and fm1 == 0x0226265640000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f6; dest:f30; op1val:0x1810226265640000; valaddr_reg:x3;
val_offset:22*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f30, f6, dyn, 0, 0, x3, 22*FLEN/8, x4, x1, x2)

inst_23:
// rs1==f7, rd==f17,fs1 == 0 and fe1 == 0x19e and fm1 == 0x11ed200000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f7; dest:f17; op1val:0x19e11ed200000000; valaddr_reg:x3;
val_offset:23*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f17, f7, dyn, 0, 0, x3, 23*FLEN/8, x4, x1, x2)

inst_24:
// rs1==f2, rd==f21,fs1 == 0 and fe1 == 0x1c7 and fm1 == 0x9000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f2; dest:f21; op1val:0x1c79000000000000; valaddr_reg:x3;
val_offset:24*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f21, f2, dyn, 0, 0, x3, 24*FLEN/8, x4, x1, x2)

inst_25:
// rs1==f25, rd==f15,fs1 == 0 and fe1 == 0x1cb and fm1 == 0xd3a4000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f25; dest:f15; op1val:0x1cbd3a4000000000; valaddr_reg:x3;
val_offset:25*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f15, f25, dyn, 0, 0, x3, 25*FLEN/8, x4, x1, x2)

inst_26:
// rs1==f1, rd==f4,fs1 == 0 and fe1 == 0x1cd and fm1 == 0x1de7626400000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f1; dest:f4; op1val:0x1cd1de7626400000; valaddr_reg:x3;
val_offset:26*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f4, f1, dyn, 0, 0, x3, 26*FLEN/8, x4, x1, x2)

inst_27:
// rs1==f5, rd==f28,fs1 == 0 and fe1 == 0x1d3 and fm1 == 0x2100000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f5; dest:f28; op1val:0x1d32100000000000; valaddr_reg:x3;
val_offset:27*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f28, f5, dyn, 0, 0, x3, 27*FLEN/8, x4, x1, x2)

inst_28:
// rs1==f3, rd==f22,fs1 == 0 and fe1 == 0x1d6 and fm1 == 0xb935452b4bc7c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f3; dest:f22; op1val:0x1d6b935452b4bc7c; valaddr_reg:x3;
val_offset:28*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f22, f3, dyn, 0, 0, x3, 28*FLEN/8, x4, x1, x2)

inst_29:
// rs1==f13, rd==f18,fs1 == 0 and fe1 == 0x1dc and fm1 == 0x184be59c54b98 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f13; dest:f18; op1val:0x1dc184be59c54b98; valaddr_reg:x3;
val_offset:29*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f18, f13, dyn, 0, 0, x3, 29*FLEN/8, x4, x1, x2)

inst_30:
// rs1==f12, rd==f7,fs1 == 0 and fe1 == 0x1dd and fm1 == 0x00eff45d8a020 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f12; dest:f7; op1val:0x1dd00eff45d8a020; valaddr_reg:x3;
val_offset:30*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f7, f12, dyn, 0, 0, x3, 30*FLEN/8, x4, x1, x2)

inst_31:
// rs1==f10, rd==f16,fs1 == 0 and fe1 == 0x1de and fm1 == 0x249cb08000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f10; dest:f16; op1val:0x1de249cb08000000; valaddr_reg:x3;
val_offset:31*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f16, f10, dyn, 0, 0, x3, 31*FLEN/8, x4, x1, x2)

inst_32:
// fs1 == 0 and fe1 == 0x1f6 and fm1 == 0xddff45305d0a3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x1f6ddff45305d0a3; valaddr_reg:x3;
val_offset:32*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 32*FLEN/8, x4, x1, x2)

inst_33:
// fs1 == 0 and fe1 == 0x1f7 and fm1 == 0x0c82887c59b71 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x1f70c82887c59b71; valaddr_reg:x3;
val_offset:33*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 33*FLEN/8, x4, x1, x2)

inst_34:
// fs1 == 0 and fe1 == 0x1f9 and fm1 == 0x0aef451100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x1f90aef451100000; valaddr_reg:x3;
val_offset:34*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 34*FLEN/8, x4, x1, x2)

inst_35:
// fs1 == 0 and fe1 == 0x216 and fm1 == 0x5901f1856027c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2165901f1856027c; valaddr_reg:x3;
val_offset:35*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 35*FLEN/8, x4, x1, x2)

inst_36:
// fs1 == 0 and fe1 == 0x21c and fm1 == 0x1fc5f6573038b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x21c1fc5f6573038b; valaddr_reg:x3;
val_offset:36*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 36*FLEN/8, x4, x1, x2)

inst_37:
// fs1 == 0 and fe1 == 0x220 and fm1 == 0xb615804e82f0b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x220b615804e82f0b; valaddr_reg:x3;
val_offset:37*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 37*FLEN/8, x4, x1, x2)

inst_38:
// fs1 == 0 and fe1 == 0x227 and fm1 == 0x127f90c3b9090 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x227127f90c3b9090; valaddr_reg:x3;
val_offset:38*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 38*FLEN/8, x4, x1, x2)

inst_39:
// fs1 == 0 and fe1 == 0x243 and fm1 == 0x7730427032993 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2437730427032993; valaddr_reg:x3;
val_offset:39*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 39*FLEN/8, x4, x1, x2)

inst_40:
// fs1 == 0 and fe1 == 0x245 and fm1 == 0xe2ded1447a9b2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x245e2ded1447a9b2; valaddr_reg:x3;
val_offset:40*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 40*FLEN/8, x4, x1, x2)

inst_41:
// fs1 == 0 and fe1 == 0x24a and fm1 == 0x596ffbdcf9515 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x24a596ffbdcf9515; valaddr_reg:x3;
val_offset:41*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 41*FLEN/8, x4, x1, x2)

inst_42:
// fs1 == 0 and fe1 == 0x253 and fm1 == 0xcf11866f044c6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x253cf11866f044c6; valaddr_reg:x3;
val_offset:42*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 42*FLEN/8, x4, x1, x2)

inst_43:
// fs1 == 0 and fe1 == 0x26e and fm1 == 0x8a8a8502e2000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x26e8a8a8502e2000; valaddr_reg:x3;
val_offset:43*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 43*FLEN/8, x4, x1, x2)

inst_44:
// fs1 == 0 and fe1 == 0x277 and fm1 == 0x8a162e2f42a21 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2778a162e2f42a21; valaddr_reg:x3;
val_offset:44*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 44*FLEN/8, x4, x1, x2)

inst_45:
// fs1 == 0 and fe1 == 0x27a and fm1 == 0xfedcb647b5255 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x27afedcb647b5255; valaddr_reg:x3;
val_offset:45*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 45*FLEN/8, x4, x1, x2)

inst_46:
// fs1 == 0 and fe1 == 0x27b and fm1 == 0x9ef64199541d0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x27b9ef64199541d0; valaddr_reg:x3;
val_offset:46*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 46*FLEN/8, x4, x1, x2)

inst_47:
// fs1 == 0 and fe1 == 0x282 and fm1 == 0x42d6888000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x28242d6888000000; valaddr_reg:x3;
val_offset:47*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 47*FLEN/8, x4, x1, x2)

inst_48:
// fs1 == 0 and fe1 == 0x293 and fm1 == 0x1fa2f7bf8a3cd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2931fa2f7bf8a3cd; valaddr_reg:x3;
val_offset:48*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 48*FLEN/8, x4, x1, x2)

inst_49:
// fs1 == 0 and fe1 == 0x2ac and fm1 == 0x903f3a50115bf and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2ac903f3a50115bf; valaddr_reg:x3;
val_offset:49*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 49*FLEN/8, x4, x1, x2)

inst_50:
// fs1 == 0 and fe1 == 0x2c5 and fm1 == 0x1fdb0a6400000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2c51fdb0a6400000; valaddr_reg:x3;
val_offset:50*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 50*FLEN/8, x4, x1, x2)

inst_51:
// fs1 == 0 and fe1 == 0x2c7 and fm1 == 0xfa40000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2c7fa40000000000; valaddr_reg:x3;
val_offset:51*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 51*FLEN/8, x4, x1, x2)

inst_52:
// fs1 == 0 and fe1 == 0x2f2 and fm1 == 0xa186bad3f3b95 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x2f2a186bad3f3b95; valaddr_reg:x3;
val_offset:52*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 52*FLEN/8, x4, x1, x2)

inst_53:
// fs1 == 0 and fe1 == 0x31e and fm1 == 0x77fad24880120 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x31e77fad24880120; valaddr_reg:x3;
val_offset:53*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 53*FLEN/8, x4, x1, x2)

inst_54:
// fs1 == 0 and fe1 == 0x322 and fm1 == 0xc988000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x322c988000000000; valaddr_reg:x3;
val_offset:54*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 54*FLEN/8, x4, x1, x2)

inst_55:
// fs1 == 0 and fe1 == 0x32b and fm1 == 0x0c8ac416c9000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x32b0c8ac416c9000; valaddr_reg:x3;
val_offset:55*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 55*FLEN/8, x4, x1, x2)

inst_56:
// fs1 == 0 and fe1 == 0x32d and fm1 == 0xb63d043d10000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x32db63d043d10000; valaddr_reg:x3;
val_offset:56*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 56*FLEN/8, x4, x1, x2)

inst_57:
// fs1 == 0 and fe1 == 0x350 and fm1 == 0x7c46c80000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3507c46c80000000; valaddr_reg:x3;
val_offset:57*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 57*FLEN/8, x4, x1, x2)

inst_58:
// fs1 == 0 and fe1 == 0x352 and fm1 == 0x68bf7bba24887 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x35268bf7bba24887; valaddr_reg:x3;
val_offset:58*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 58*FLEN/8, x4, x1, x2)

inst_59:
// fs1 == 0 and fe1 == 0x361 and fm1 == 0x67017bfbb2e14 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x36167017bfbb2e14; valaddr_reg:x3;
val_offset:59*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 59*FLEN/8, x4, x1, x2)

inst_60:
// fs1 == 0 and fe1 == 0x36a and fm1 == 0x1a98d1d649d85 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x36a1a98d1d649d85; valaddr_reg:x3;
val_offset:60*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 60*FLEN/8, x4, x1, x2)

inst_61:
// fs1 == 0 and fe1 == 0x36f and fm1 == 0xb907cc9a3dfc5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x36fb907cc9a3dfc5; valaddr_reg:x3;
val_offset:61*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 61*FLEN/8, x4, x1, x2)

inst_62:
// fs1 == 0 and fe1 == 0x379 and fm1 == 0x609ba7e28b6d6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x379609ba7e28b6d6; valaddr_reg:x3;
val_offset:62*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 62*FLEN/8, x4, x1, x2)

inst_63:
// fs1 == 0 and fe1 == 0x390 and fm1 == 0x5ad9865ef1ae8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3905ad9865ef1ae8; valaddr_reg:x3;
val_offset:63*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 63*FLEN/8, x4, x1, x2)

inst_64:
// fs1 == 0 and fe1 == 0x3a6 and fm1 == 0x8dea07a7d2f66 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3a68dea07a7d2f66; valaddr_reg:x3;
val_offset:64*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 64*FLEN/8, x4, x1, x2)

inst_65:
// fs1 == 0 and fe1 == 0x3cb and fm1 == 0xf0b8ab6b51000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3cbf0b8ab6b51000; valaddr_reg:x3;
val_offset:65*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 65*FLEN/8, x4, x1, x2)

inst_66:
// fs1 == 0 and fe1 == 0x3d1 and fm1 == 0xc9c3e06610000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3d1c9c3e06610000; valaddr_reg:x3;
val_offset:66*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 66*FLEN/8, x4, x1, x2)

inst_67:
// fs1 == 0 and fe1 == 0x3d7 and fm1 == 0x8d81000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3d78d81000000000; valaddr_reg:x3;
val_offset:67*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 67*FLEN/8, x4, x1, x2)

inst_68:
// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x74733452ff5d7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3f874733452ff5d7; valaddr_reg:x3;
val_offset:68*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 68*FLEN/8, x4, x1, x2)

inst_69:
// fs1 == 0 and fe1 == 0x3fa and fm1 == 0xdab4800000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x3fadab4800000000; valaddr_reg:x3;
val_offset:69*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 69*FLEN/8, x4, x1, x2)

inst_70:
// fs1 == 0 and fe1 == 0x40a and fm1 == 0x0880000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x40a0880000000000; valaddr_reg:x3;
val_offset:70*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 70*FLEN/8, x4, x1, x2)

inst_71:
// fs1 == 0 and fe1 == 0x426 and fm1 == 0xe080000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x426e080000000000; valaddr_reg:x3;
val_offset:71*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 71*FLEN/8, x4, x1, x2)

inst_72:
// fs1 == 0 and fe1 == 0x429 and fm1 == 0xf1125eaac3f81 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x429f1125eaac3f81; valaddr_reg:x3;
val_offset:72*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 72*FLEN/8, x4, x1, x2)

inst_73:
// fs1 == 0 and fe1 == 0x42a and fm1 == 0x2608000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x42a2608000000000; valaddr_reg:x3;
val_offset:73*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 73*FLEN/8, x4, x1, x2)

inst_74:
// fs1 == 0 and fe1 == 0x43a and fm1 == 0xf808000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x43af808000000000; valaddr_reg:x3;
val_offset:74*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 74*FLEN/8, x4, x1, x2)

inst_75:
// fs1 == 0 and fe1 == 0x443 and fm1 == 0xbb0584a3e9fb1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x443bb0584a3e9fb1; valaddr_reg:x3;
val_offset:75*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 75*FLEN/8, x4, x1, x2)

inst_76:
// fs1 == 0 and fe1 == 0x463 and fm1 == 0x53fdb488151bd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x46353fdb488151bd; valaddr_reg:x3;
val_offset:76*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 76*FLEN/8, x4, x1, x2)

inst_77:
// fs1 == 0 and fe1 == 0x46a and fm1 == 0xd120000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x46ad120000000000; valaddr_reg:x3;
val_offset:77*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 77*FLEN/8, x4, x1, x2)

inst_78:
// fs1 == 0 and fe1 == 0x49e and fm1 == 0x6d6aa7b5d5523 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x49e6d6aa7b5d5523; valaddr_reg:x3;
val_offset:78*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 78*FLEN/8, x4, x1, x2)

inst_79:
// fs1 == 0 and fe1 == 0x4a7 and fm1 == 0x480c0e0c26ad5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x4a7480c0e0c26ad5; valaddr_reg:x3;
val_offset:79*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 79*FLEN/8, x4, x1, x2)

inst_80:
// fs1 == 0 and fe1 == 0x4b5 and fm1 == 0xb900000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x4b5b900000000000; valaddr_reg:x3;
val_offset:80*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 80*FLEN/8, x4, x1, x2)

inst_81:
// fs1 == 0 and fe1 == 0x4eb and fm1 == 0xa52bfc61f44e1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x4eba52bfc61f44e1; valaddr_reg:x3;
val_offset:81*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 81*FLEN/8, x4, x1, x2)

inst_82:
// fs1 == 0 and fe1 == 0x4ee and fm1 == 0x71b0e933c2200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x4ee71b0e933c2200; valaddr_reg:x3;
val_offset:82*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 82*FLEN/8, x4, x1, x2)

inst_83:
// fs1 == 0 and fe1 == 0x500 and fm1 == 0x21b0a20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x50021b0a20000000; valaddr_reg:x3;
val_offset:83*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 83*FLEN/8, x4, x1, x2)

inst_84:
// fs1 == 0 and fe1 == 0x531 and fm1 == 0x1ef1f04000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5311ef1f04000000; valaddr_reg:x3;
val_offset:84*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 84*FLEN/8, x4, x1, x2)

inst_85:
// fs1 == 0 and fe1 == 0x55c and fm1 == 0x27109d2e38800 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x55c27109d2e38800; valaddr_reg:x3;
val_offset:85*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 85*FLEN/8, x4, x1, x2)

inst_86:
// fs1 == 0 and fe1 == 0x55f and fm1 == 0x831433085a13f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x55f831433085a13f; valaddr_reg:x3;
val_offset:86*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 86*FLEN/8, x4, x1, x2)

inst_87:
// fs1 == 0 and fe1 == 0x562 and fm1 == 0xd8a88b54ddbd1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x562d8a88b54ddbd1; valaddr_reg:x3;
val_offset:87*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 87*FLEN/8, x4, x1, x2)

inst_88:
// fs1 == 0 and fe1 == 0x56c and fm1 == 0xc901d6ca9fe73 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x56cc901d6ca9fe73; valaddr_reg:x3;
val_offset:88*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 88*FLEN/8, x4, x1, x2)

inst_89:
// fs1 == 0 and fe1 == 0x56f and fm1 == 0xeb77b14440000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x56feb77b14440000; valaddr_reg:x3;
val_offset:89*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 89*FLEN/8, x4, x1, x2)

inst_90:
// fs1 == 0 and fe1 == 0x5b0 and fm1 == 0x8f302c02c8000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5b08f302c02c8000; valaddr_reg:x3;
val_offset:90*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 90*FLEN/8, x4, x1, x2)

inst_91:
// fs1 == 0 and fe1 == 0x5b1 and fm1 == 0xe400000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5b1e400000000000; valaddr_reg:x3;
val_offset:91*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 91*FLEN/8, x4, x1, x2)

inst_92:
// fs1 == 0 and fe1 == 0x5b3 and fm1 == 0x979ca2ec8c400 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5b3979ca2ec8c400; valaddr_reg:x3;
val_offset:92*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 92*FLEN/8, x4, x1, x2)

inst_93:
// fs1 == 0 and fe1 == 0x5b4 and fm1 == 0x3b6ba19f71958 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5b43b6ba19f71958; valaddr_reg:x3;
val_offset:93*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 93*FLEN/8, x4, x1, x2)

inst_94:
// fs1 == 0 and fe1 == 0x5c5 and fm1 == 0x4051a49e409ef and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5c54051a49e409ef; valaddr_reg:x3;
val_offset:94*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 94*FLEN/8, x4, x1, x2)

inst_95:
// fs1 == 0 and fe1 == 0x5cd and fm1 == 0x0415c96d286b2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5cd0415c96d286b2; valaddr_reg:x3;
val_offset:95*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 95*FLEN/8, x4, x1, x2)

inst_96:
// fs1 == 0 and fe1 == 0x5de and fm1 == 0xd19a080000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5ded19a080000000; valaddr_reg:x3;
val_offset:96*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 96*FLEN/8, x4, x1, x2)

inst_97:
// fs1 == 0 and fe1 == 0x5f2 and fm1 == 0x2c7839914630c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5f22c7839914630c; valaddr_reg:x3;
val_offset:97*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 97*FLEN/8, x4, x1, x2)

inst_98:
// fs1 == 0 and fe1 == 0x5fa and fm1 == 0x6b21548000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5fa6b21548000000; valaddr_reg:x3;
val_offset:98*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 98*FLEN/8, x4, x1, x2)

inst_99:
// fs1 == 0 and fe1 == 0x5fc and fm1 == 0x9ed0caa415ec8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5fc9ed0caa415ec8; valaddr_reg:x3;
val_offset:99*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 99*FLEN/8, x4, x1, x2)

inst_100:
// fs1 == 0 and fe1 == 0x5fd and fm1 == 0x822bf1e14a240 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x5fd822bf1e14a240; valaddr_reg:x3;
val_offset:100*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 100*FLEN/8, x4, x1, x2)

inst_101:
// fs1 == 0 and fe1 == 0x60c and fm1 == 0x4df3876008000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x60c4df3876008000; valaddr_reg:x3;
val_offset:101*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 101*FLEN/8, x4, x1, x2)

inst_102:
// fs1 == 0 and fe1 == 0x610 and fm1 == 0x21ccea37c6190 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x61021ccea37c6190; valaddr_reg:x3;
val_offset:102*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 102*FLEN/8, x4, x1, x2)

inst_103:
// fs1 == 0 and fe1 == 0x62a and fm1 == 0x0e613a46ac880 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x62a0e613a46ac880; valaddr_reg:x3;
val_offset:103*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 103*FLEN/8, x4, x1, x2)

inst_104:
// fs1 == 0 and fe1 == 0x62a and fm1 == 0xc5b706ee884bd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x62ac5b706ee884bd; valaddr_reg:x3;
val_offset:104*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 104*FLEN/8, x4, x1, x2)

inst_105:
// fs1 == 0 and fe1 == 0x637 and fm1 == 0xe400000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x637e400000000000; valaddr_reg:x3;
val_offset:105*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 105*FLEN/8, x4, x1, x2)

inst_106:
// fs1 == 0 and fe1 == 0x664 and fm1 == 0x1f53f3796faa0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6641f53f3796faa0; valaddr_reg:x3;
val_offset:106*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 106*FLEN/8, x4, x1, x2)

inst_107:
// fs1 == 0 and fe1 == 0x66e and fm1 == 0x22d1c20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x66e22d1c20000000; valaddr_reg:x3;
val_offset:107*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 107*FLEN/8, x4, x1, x2)

inst_108:
// fs1 == 0 and fe1 == 0x674 and fm1 == 0x0202a3cf79200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6740202a3cf79200; valaddr_reg:x3;
val_offset:108*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 108*FLEN/8, x4, x1, x2)

inst_109:
// fs1 == 0 and fe1 == 0x67c and fm1 == 0x12a8800000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x67c12a8800000000; valaddr_reg:x3;
val_offset:109*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 109*FLEN/8, x4, x1, x2)

inst_110:
// fs1 == 0 and fe1 == 0x68a and fm1 == 0xd3f8d47593f76 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x68ad3f8d47593f76; valaddr_reg:x3;
val_offset:110*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 110*FLEN/8, x4, x1, x2)

inst_111:
// fs1 == 0 and fe1 == 0x68c and fm1 == 0x4f2b6e728ce0c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x68c4f2b6e728ce0c; valaddr_reg:x3;
val_offset:111*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 111*FLEN/8, x4, x1, x2)

inst_112:
// fs1 == 0 and fe1 == 0x693 and fm1 == 0x32159f7764000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x69332159f7764000; valaddr_reg:x3;
val_offset:112*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 112*FLEN/8, x4, x1, x2)

inst_113:
// fs1 == 0 and fe1 == 0x697 and fm1 == 0xd4fe400000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x697d4fe400000000; valaddr_reg:x3;
val_offset:113*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 113*FLEN/8, x4, x1, x2)

inst_114:
// fs1 == 0 and fe1 == 0x69d and fm1 == 0x3245461ecff87 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x69d3245461ecff87; valaddr_reg:x3;
val_offset:114*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 114*FLEN/8, x4, x1, x2)

inst_115:
// fs1 == 0 and fe1 == 0x6ac and fm1 == 0xa53af1e9e6297 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6aca53af1e9e6297; valaddr_reg:x3;
val_offset:115*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 115*FLEN/8, x4, x1, x2)

inst_116:
// fs1 == 0 and fe1 == 0x6b8 and fm1 == 0x28048e71f9d08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6b828048e71f9d08; valaddr_reg:x3;
val_offset:116*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 116*FLEN/8, x4, x1, x2)

inst_117:
// fs1 == 0 and fe1 == 0x6bb and fm1 == 0x4d07b1ed41100 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6bb4d07b1ed41100; valaddr_reg:x3;
val_offset:117*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 117*FLEN/8, x4, x1, x2)

inst_118:
// fs1 == 0 and fe1 == 0x6c4 and fm1 == 0x936ef74f68734 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6c4936ef74f68734; valaddr_reg:x3;
val_offset:118*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 118*FLEN/8, x4, x1, x2)

inst_119:
// fs1 == 0 and fe1 == 0x6cc and fm1 == 0xda4837dc75a45 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6ccda4837dc75a45; valaddr_reg:x3;
val_offset:119*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 119*FLEN/8, x4, x1, x2)

inst_120:
// fs1 == 0 and fe1 == 0x6de and fm1 == 0x4a8493263d912 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6de4a8493263d912; valaddr_reg:x3;
val_offset:120*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 120*FLEN/8, x4, x1, x2)

inst_121:
// fs1 == 0 and fe1 == 0x6e6 and fm1 == 0xd658cf235f718 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6e6d658cf235f718; valaddr_reg:x3;
val_offset:121*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 121*FLEN/8, x4, x1, x2)

inst_122:
// fs1 == 0 and fe1 == 0x6eb and fm1 == 0x812dd01000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x6eb812dd01000000; valaddr_reg:x3;
val_offset:122*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 122*FLEN/8, x4, x1, x2)

inst_123:
// fs1 == 0 and fe1 == 0x70b and fm1 == 0xa9bb9576e08fe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x70ba9bb9576e08fe; valaddr_reg:x3;
val_offset:123*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 123*FLEN/8, x4, x1, x2)

inst_124:
// fs1 == 0 and fe1 == 0x712 and fm1 == 0x28efb9fd20000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x71228efb9fd20000; valaddr_reg:x3;
val_offset:124*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 124*FLEN/8, x4, x1, x2)

inst_125:
// fs1 == 0 and fe1 == 0x74a and fm1 == 0x5095cd3c62000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x74a5095cd3c62000; valaddr_reg:x3;
val_offset:125*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 125*FLEN/8, x4, x1, x2)

inst_126:
// fs1 == 0 and fe1 == 0x74e and fm1 == 0x9e67b20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x74e9e67b20000000; valaddr_reg:x3;
val_offset:126*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 126*FLEN/8, x4, x1, x2)

inst_127:
// fs1 == 0 and fe1 == 0x771 and fm1 == 0xf771000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x771f771000000000; valaddr_reg:x3;
val_offset:127*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 127*FLEN/8, x4, x1, x2)
RVTEST_SIGBASE(x1,signature_x1_2)

inst_128:
// fs1 == 0 and fe1 == 0x792 and fm1 == 0xc200000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x792c200000000000; valaddr_reg:x3;
val_offset:128*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 128*FLEN/8, x4, x1, x2)

inst_129:
// fs1 == 0 and fe1 == 0x794 and fm1 == 0xdf650f96fc9dc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x794df650f96fc9dc; valaddr_reg:x3;
val_offset:129*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 129*FLEN/8, x4, x1, x2)

inst_130:
// fs1 == 0 and fe1 == 0x79d and fm1 == 0xcca7da4000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x79dcca7da4000000; valaddr_reg:x3;
val_offset:130*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 130*FLEN/8, x4, x1, x2)

inst_131:
// fs1 == 0 and fe1 == 0x7ab and fm1 == 0x155b835100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7ab155b835100000; valaddr_reg:x3;
val_offset:131*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 131*FLEN/8, x4, x1, x2)

inst_132:
// fs1 == 0 and fe1 == 0x7c1 and fm1 == 0x56c3dcb100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7c156c3dcb100000; valaddr_reg:x3;
val_offset:132*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 132*FLEN/8, x4, x1, x2)

inst_133:
// fs1 == 0 and fe1 == 0x7c1 and fm1 == 0xffe4000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7c1ffe4000000000; valaddr_reg:x3;
val_offset:133*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 133*FLEN/8, x4, x1, x2)

inst_134:
// fs1 == 0 and fe1 == 0x7c7 and fm1 == 0x9000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7c79000000000000; valaddr_reg:x3;
val_offset:134*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 134*FLEN/8, x4, x1, x2)

inst_135:
// fs1 == 0 and fe1 == 0x7ec and fm1 == 0xfe704e2000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7ecfe704e2000000; valaddr_reg:x3;
val_offset:135*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 135*FLEN/8, x4, x1, x2)

inst_136:
// fs1 == 0 and fe1 == 0x7ff and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x7ff0000000000000; valaddr_reg:x3;
val_offset:136*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 136*FLEN/8, x4, x1, x2)

inst_137:
// fs1 == 0 and fe1 == 0x000 and fm1 == 0x00000668b9824 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:f30; dest:f31; op1val:0x668b9824; valaddr_reg:x3;
val_offset:137*FLEN/8; rmval:dyn; correctval:??; testreg:x2;
fcsr_val: 0 */
TEST_FPSR_OP(fsqrt.d, f31, f30, dyn, 0, 0, x3, 137*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 0x0
.dword 0x668b9824
.dword 0xfe99b3b666
.dword 0x15f94b0040000
.dword 0x1019147937aef10
.dword 0x11421e71936ce4f
.dword 0x1bd960e82d4b810
.dword 0x1e28a5fa032b6d5
.dword 0x2850d5c9d17a718
.dword 0x4610964a3288ede
.dword 0x4df54d566d3af23
.dword 0x5f19ad084000000
.dword 0x76033274a480488
.dword 0xb8676d52bcd2ca2
.dword 0xdbb6b4c40000000
.dword 0xddb962d97d9e0d3
.dword 0xf60e8dcc21fc0dc
.dword 0x11ad120000000000
.dword 0x1410000000000000
.dword 0x14c3543bca6412dd
.dword 0x15cb61d12a3db43b
.dword 0x176eb971282f8200
.dword 0x1810226265640000
.dword 0x19e11ed200000000
.dword 0x1c79000000000000
.dword 0x1cbd3a4000000000
.dword 0x1cd1de7626400000
.dword 0x1d32100000000000
.dword 0x1d6b935452b4bc7c
.dword 0x1dc184be59c54b98
.dword 0x1dd00eff45d8a020
.dword 0x1de249cb08000000
.dword 0x1f6ddff45305d0a3
.dword 0x1f70c82887c59b71
.dword 0x1f90aef451100000
.dword 0x2165901f1856027c
.dword 0x21c1fc5f6573038b
.dword 0x220b615804e82f0b
.dword 0x227127f90c3b9090
.dword 0x2437730427032993
.dword 0x245e2ded1447a9b2
.dword 0x24a596ffbdcf9515
.dword 0x253cf11866f044c6
.dword 0x26e8a8a8502e2000
.dword 0x2778a162e2f42a21
.dword 0x27afedcb647b5255
.dword 0x27b9ef64199541d0
.dword 0x28242d6888000000
.dword 0x2931fa2f7bf8a3cd
.dword 0x2ac903f3a50115bf
.dword 0x2c51fdb0a6400000
.dword 0x2c7fa40000000000
.dword 0x2f2a186bad3f3b95
.dword 0x31e77fad24880120
.dword 0x322c988000000000
.dword 0x32b0c8ac416c9000
.dword 0x32db63d043d10000
.dword 0x3507c46c80000000
.dword 0x35268bf7bba24887
.dword 0x36167017bfbb2e14
.dword 0x36a1a98d1d649d85
.dword 0x36fb907cc9a3dfc5
.dword 0x379609ba7e28b6d6
.dword 0x3905ad9865ef1ae8
.dword 0x3a68dea07a7d2f66
.dword 0x3cbf0b8ab6b51000
.dword 0x3d1c9c3e06610000
.dword 0x3d78d81000000000
.dword 0x3f874733452ff5d7
.dword 0x3fadab4800000000
.dword 0x40a0880000000000
.dword 0x426e080000000000
.dword 0x429f1125eaac3f81
.dword 0x42a2608000000000
.dword 0x43af808000000000
.dword 0x443bb0584a3e9fb1
.dword 0x46353fdb488151bd
.dword 0x46ad120000000000
.dword 0x49e6d6aa7b5d5523
.dword 0x4a7480c0e0c26ad5
.dword 0x4b5b900000000000
.dword 0x4eba52bfc61f44e1
.dword 0x4ee71b0e933c2200
.dword 0x50021b0a20000000
.dword 0x5311ef1f04000000
.dword 0x55c27109d2e38800
.dword 0x55f831433085a13f
.dword 0x562d8a88b54ddbd1
.dword 0x56cc901d6ca9fe73
.dword 0x56feb77b14440000
.dword 0x5b08f302c02c8000
.dword 0x5b1e400000000000
.dword 0x5b3979ca2ec8c400
.dword 0x5b43b6ba19f71958
.dword 0x5c54051a49e409ef
.dword 0x5cd0415c96d286b2
.dword 0x5ded19a080000000
.dword 0x5f22c7839914630c
.dword 0x5fa6b21548000000
.dword 0x5fc9ed0caa415ec8
.dword 0x5fd822bf1e14a240
.dword 0x60c4df3876008000
.dword 0x61021ccea37c6190
.dword 0x62a0e613a46ac880
.dword 0x62ac5b706ee884bd
.dword 0x637e400000000000
.dword 0x6641f53f3796faa0
.dword 0x66e22d1c20000000
.dword 0x6740202a3cf79200
.dword 0x67c12a8800000000
.dword 0x68ad3f8d47593f76
.dword 0x68c4f2b6e728ce0c
.dword 0x69332159f7764000
.dword 0x697d4fe400000000
.dword 0x69d3245461ecff87
.dword 0x6aca53af1e9e6297
.dword 0x6b828048e71f9d08
.dword 0x6bb4d07b1ed41100
.dword 0x6c4936ef74f68734
.dword 0x6ccda4837dc75a45
.dword 0x6de4a8493263d912
.dword 0x6e6d658cf235f718
.dword 0x6eb812dd01000000
.dword 0x70ba9bb9576e08fe
.dword 0x71228efb9fd20000
.dword 0x74a5095cd3c62000
.dword 0x74e9e67b20000000
.dword 0x771f771000000000
.dword 0x792c200000000000
.dword 0x794df650f96fc9dc
.dword 0x79dcca7da4000000
.dword 0x7ab155b835100000
.dword 0x7c156c3dcb100000
.dword 0x7c1ffe4000000000
.dword 0x7c79000000000000
.dword 0x7ecfe704e2000000
.dword 0x7ff0000000000000
.dword 0x668b9824
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 20*((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
