
// -----------
// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg)
// version   : 0.11.0
// timestamp : Thu Aug 24 04:49:41 2023 GMT
// usage     : riscv_ctg \
//                  -- cgf //                  --cgf /home/riscv/riscv-ctg/sample_cgfs/dataset.cgf \
//                  --cgf /home/riscv/riscv-ctg/sample_cgfs/sample_cgfs_fext/RV32Zdinx/fsqrt.d.cgf \
 \
//                  -- xlen 32  \
// -----------
//
// -----------
// 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 RV32_Zfinx_Zdinx,RV64_Zfinx_Zdinx extension for the fsqrt.d_b20 covergroup.
// 
#include "model_test.h"
#include "arch_test.h"
RVTEST_ISA("RV32I_Zfinx_Zdinx")

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

#ifdef TEST_CASE_1

RVTEST_CASE(0,"//check ISA:=regex(.*32.*); check ISA:=regex(.*I.*Zfinx.*Zdinx.*);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==x30, rd==x30,fs1 == 0 and fe1 == 0x7ff and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x30; dest:x30; op1val:0x7ff0000000000000; valaddr_reg:x3;
offset:0*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x30, x31,0, 0, 0, 0x00000000, 0x7ff00000,x3, 0*SIGALIGN, x4,x1, x2)

inst_1:// rs1 != rd, rs1==x26, rd==x28,fs1 == 0 and fe1 == 0x000 and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x26; dest:x28; op1val:0x0000000000000000; valaddr_reg:x3;
offset:1*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x28, x29, x26, x27,0, 0, 0, 0x00000000, 0x00000000,x3, 1*SIGALIGN, x4,x1, x2)

inst_2:// rs1==x28, rd==x26,fs1 == 0 and fe1 == 0x1c7 and fm1 == 0x9000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x26; op1val:0x1c79000000000000; valaddr_reg:x3;
offset:2*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x26, x27, x28, x29,0, 0, 0, 0x00000000, 0x1c790000,x3, 2*SIGALIGN, x4,x1, x2)

inst_3:// rs1==x22, rd==x24,fs1 == 0 and fe1 == 0x7c7 and fm1 == 0x9000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x22; dest:x24; op1val:0x7c79000000000000; valaddr_reg:x3;
offset:3*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x24, x25, x22, x23,0, 0, 0, 0x00000000, 0x7c790000,x3, 3*SIGALIGN, x4,x1, x2)

inst_4:// rs1==x24, rd==x22,fs1 == 0 and fe1 == 0x5b1 and fm1 == 0xe400000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x24; dest:x22; op1val:0x5b1e400000000000; valaddr_reg:x3;
offset:4*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x22, x23, x24, x25,0, 0, 0, 0x00000000, 0x5b1e4000,x3, 4*SIGALIGN, x4,x1, x2)

inst_5:// rs1==x18, rd==x20,fs1 == 0 and fe1 == 0x637 and fm1 == 0xe400000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x18; dest:x20; op1val:0x637e400000000000; valaddr_reg:x3;
offset:5*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x20, x21, x18, x19,0, 0, 0, 0x00000000, 0x637e4000,x3, 5*SIGALIGN, x4,x1, x2)

inst_6:// rs1==x20, rd==x18,fs1 == 0 and fe1 == 0x792 and fm1 == 0xc200000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x20; dest:x18; op1val:0x792c200000000000; valaddr_reg:x3;
offset:6*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x18, x19, x20, x21,0, 0, 0, 0x00000000, 0x792c2000,x3, 6*SIGALIGN, x4,x1, x2)

inst_7:// rs1==x14, rd==x16,fs1 == 0 and fe1 == 0x426 and fm1 == 0xe080000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x14; dest:x16; op1val:0x426e080000000000; valaddr_reg:x3;
offset:7*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x16, x17, x14, x15,0, 0, 0, 0x00000000, 0x426e0800,x3, 7*SIGALIGN, x4,x1, x2)

inst_8:// rs1==x16, rd==x14,fs1 == 0 and fe1 == 0x4b5 and fm1 == 0xb900000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x16; dest:x14; op1val:0x4b5b900000000000; valaddr_reg:x3;
offset:8*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x14, x15, x16, x17,0, 0, 0, 0x00000000, 0x4b5b9000,x3, 8*SIGALIGN, x4,x1, x2)

inst_9:// rs1==x10, rd==x12,fs1 == 0 and fe1 == 0x40a and fm1 == 0x0880000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x10; dest:x12; op1val:0x40a0880000000000; valaddr_reg:x3;
offset:9*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x12, x13, x10, x11,0, 0, 0, 0x00000000, 0x40a08800,x3, 9*SIGALIGN, x4,x1, x2)
RVTEST_VALBASEUPD(x14,test_dataset_1)

inst_10:// rs1==x12, rd==x10,fs1 == 0 and fe1 == 0x1d3 and fm1 == 0x2100000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x12; dest:x10; op1val:0x1d32100000000000; valaddr_reg:x14;
offset:0*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x10, x11, x12, x13,0, 0, 0, 0x00000000, 0x1d321000,x14, 10*SIGALIGN, x15,x1, x2)

inst_11:// rs1==x6, rd==x8,fs1 == 0 and fe1 == 0x11a and fm1 == 0xd120000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x6; dest:x8; op1val:0x11ad120000000000; valaddr_reg:x14;
offset:1*4; correctval:??; testreg:x2;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x8, x9, x6, x7,0, 0, 0, 0x00000000, 0x11ad1200,x14, 11*SIGALIGN, x15,x1, x2)
RVTEST_SIGBASE(x1,signature_x1_2)

inst_12:// rs1==x8, rd==x6,fs1 == 0 and fe1 == 0x2c7 and fm1 == 0xfa40000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x8; dest:x6; op1val:0x2c7fa40000000000; valaddr_reg:x14;
offset:2*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x6, x7, x8, x9,0, 0, 0, 0x00000000, 0x2c7fa400,x14, 0*SIGALIGN, x15,x1, x10)

inst_13:// rs1==x2, rd==x4,fs1 == 0 and fe1 == 0x46a and fm1 == 0xd120000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x2; dest:x4; op1val:0x46ad120000000000; valaddr_reg:x14;
offset:3*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x4, x5, x2, x3,0, 0, 0, 0x00000000, 0x46ad1200,x14, 1*SIGALIGN, x15,x1, x10)

inst_14:// rs1==x4, rd==x2,fs1 == 0 and fe1 == 0x42a and fm1 == 0x2608000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x4; dest:x2; op1val:0x42a2608000000000; valaddr_reg:x14;
offset:4*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x2, x3, x4, x5,0, 0, 0, 0x00000000, 0x42a26080,x14, 2*SIGALIGN, x15,x1, x10)

inst_15:// fs1 == 0 and fe1 == 0x43a and fm1 == 0xf808000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x43af808000000000; valaddr_reg:x14;
offset:5*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x43af8080,x14, 3*SIGALIGN, x15,x1, x10)

inst_16:// fs1 == 0 and fe1 == 0x322 and fm1 == 0xc988000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x322c988000000000; valaddr_reg:x14;
offset:6*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x322c9880,x14, 4*SIGALIGN, x15,x1, x10)

inst_17:// fs1 == 0 and fe1 == 0x7c1 and fm1 == 0xffe4000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x7c1ffe4000000000; valaddr_reg:x14;
offset:7*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x7c1ffe40,x14, 5*SIGALIGN, x15,x1, x10)

inst_18:// fs1 == 0 and fe1 == 0x1cb and fm1 == 0xd3a4000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1cbd3a4000000000; valaddr_reg:x14;
offset:8*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x1cbd3a40,x14, 6*SIGALIGN, x15,x1, x10)

inst_19:// fs1 == 0 and fe1 == 0x771 and fm1 == 0xf771000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x771f771000000000; valaddr_reg:x14;
offset:9*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x771f7710,x14, 7*SIGALIGN, x15,x1, x10)

inst_20:// fs1 == 0 and fe1 == 0x67c and fm1 == 0x12a8800000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x67c12a8800000000; valaddr_reg:x14;
offset:10*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x67c12a88,x14, 8*SIGALIGN, x15,x1, x10)

inst_21:// fs1 == 0 and fe1 == 0x3d7 and fm1 == 0x8d81000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3d78d81000000000; valaddr_reg:x14;
offset:11*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x3d78d810,x14, 9*SIGALIGN, x15,x1, x10)

inst_22:// fs1 == 0 and fe1 == 0x3fa and fm1 == 0xdab4800000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3fadab4800000000; valaddr_reg:x14;
offset:12*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x3fadab48,x14, 10*SIGALIGN, x15,x1, x10)

inst_23:// fs1 == 0 and fe1 == 0x697 and fm1 == 0xd4fe400000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x697d4fe400000000; valaddr_reg:x14;
offset:13*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x697d4fe4,x14, 11*SIGALIGN, x15,x1, x10)

inst_24:// fs1 == 0 and fe1 == 0x19e and fm1 == 0x11ed200000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x19e11ed200000000; valaddr_reg:x14;
offset:14*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x19e11ed2,x14, 12*SIGALIGN, x15,x1, x10)

inst_25:// fs1 == 0 and fe1 == 0x350 and fm1 == 0x7c46c80000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3507c46c80000000; valaddr_reg:x14;
offset:15*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x80000000, 0x3507c46c,x14, 13*SIGALIGN, x15,x1, x10)

inst_26:// fs1 == 0 and fe1 == 0x5de and fm1 == 0xd19a080000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5ded19a080000000; valaddr_reg:x14;
offset:16*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x80000000, 0x5ded19a0,x14, 14*SIGALIGN, x15,x1, x10)

inst_27:// fs1 == 0 and fe1 == 0x0db and fm1 == 0xb6b4c40000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x0dbb6b4c40000000; valaddr_reg:x14;
offset:17*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x40000000, 0x0dbb6b4c,x14, 15*SIGALIGN, x15,x1, x10)

inst_28:// fs1 == 0 and fe1 == 0x74e and fm1 == 0x9e67b20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x74e9e67b20000000; valaddr_reg:x14;
offset:18*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x20000000, 0x74e9e67b,x14, 16*SIGALIGN, x15,x1, x10)

inst_29:// fs1 == 0 and fe1 == 0x500 and fm1 == 0x21b0a20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x50021b0a20000000; valaddr_reg:x14;
offset:19*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x20000000, 0x50021b0a,x14, 17*SIGALIGN, x15,x1, x10)

inst_30:// fs1 == 0 and fe1 == 0x66e and fm1 == 0x22d1c20000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x66e22d1c20000000; valaddr_reg:x14;
offset:20*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x20000000, 0x66e22d1c,x14, 18*SIGALIGN, x15,x1, x10)

inst_31:// fs1 == 0 and fe1 == 0x282 and fm1 == 0x42d6888000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x28242d6888000000; valaddr_reg:x14;
offset:21*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x88000000, 0x28242d68,x14, 19*SIGALIGN, x15,x1, x10)

inst_32:// fs1 == 0 and fe1 == 0x1de and fm1 == 0x249cb08000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1de249cb08000000; valaddr_reg:x14;
offset:22*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x08000000, 0x1de249cb,x14, 20*SIGALIGN, x15,x1, x10)

inst_33:// fs1 == 0 and fe1 == 0x5fa and fm1 == 0x6b21548000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5fa6b21548000000; valaddr_reg:x14;
offset:23*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x48000000, 0x5fa6b215,x14, 21*SIGALIGN, x15,x1, x10)

inst_34:// fs1 == 0 and fe1 == 0x79d and fm1 == 0xcca7da4000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x79dcca7da4000000; valaddr_reg:x14;
offset:24*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa4000000, 0x79dcca7d,x14, 22*SIGALIGN, x15,x1, x10)

inst_35:// fs1 == 0 and fe1 == 0x7ec and fm1 == 0xfe704e2000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x7ecfe704e2000000; valaddr_reg:x14;
offset:25*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xe2000000, 0x7ecfe704,x14, 23*SIGALIGN, x15,x1, x10)

inst_36:// fs1 == 0 and fe1 == 0x531 and fm1 == 0x1ef1f04000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5311ef1f04000000; valaddr_reg:x14;
offset:26*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x04000000, 0x5311ef1f,x14, 24*SIGALIGN, x15,x1, x10)

inst_37:// fs1 == 0 and fe1 == 0x05f and fm1 == 0x19ad084000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x05f19ad084000000; valaddr_reg:x14;
offset:27*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x84000000, 0x05f19ad0,x14, 25*SIGALIGN, x15,x1, x10)

inst_38:// fs1 == 0 and fe1 == 0x6eb and fm1 == 0x812dd01000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6eb812dd01000000; valaddr_reg:x14;
offset:28*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x01000000, 0x6eb812dd,x14, 26*SIGALIGN, x15,x1, x10)

inst_39:// fs1 == 0 and fe1 == 0x000 and fm1 == 0x00000668b9824 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x00000000668b9824; valaddr_reg:x14;
offset:29*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x668b9824, 0x00000000,x14, 27*SIGALIGN, x15,x1, x10)

inst_40:// fs1 == 0 and fe1 == 0x2c5 and fm1 == 0x1fdb0a6400000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2c51fdb0a6400000; valaddr_reg:x14;
offset:30*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa6400000, 0x2c51fdb0,x14, 28*SIGALIGN, x15,x1, x10)

inst_41:// fs1 == 0 and fe1 == 0x1cd and fm1 == 0x1de7626400000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1cd1de7626400000; valaddr_reg:x14;
offset:31*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x26400000, 0x1cd1de76,x14, 29*SIGALIGN, x15,x1, x10)

inst_42:// fs1 == 0 and fe1 == 0x000 and fm1 == 0x15f94b0040000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x00015f94b0040000; valaddr_reg:x14;
offset:32*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xb0040000, 0x00015f94,x14, 30*SIGALIGN, x15,x1, x10)

inst_43:// fs1 == 0 and fe1 == 0x7ab and fm1 == 0x155b835100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x7ab155b835100000; valaddr_reg:x14;
offset:33*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x35100000, 0x7ab155b8,x14, 31*SIGALIGN, x15,x1, x10)

inst_44:// fs1 == 0 and fe1 == 0x1f9 and fm1 == 0x0aef451100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1f90aef451100000; valaddr_reg:x14;
offset:34*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x51100000, 0x1f90aef4,x14, 32*SIGALIGN, x15,x1, x10)

inst_45:// fs1 == 0 and fe1 == 0x7c1 and fm1 == 0x56c3dcb100000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x7c156c3dcb100000; valaddr_reg:x14;
offset:35*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xcb100000, 0x7c156c3d,x14, 33*SIGALIGN, x15,x1, x10)

inst_46:// fs1 == 0 and fe1 == 0x712 and fm1 == 0x28efb9fd20000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x71228efb9fd20000; valaddr_reg:x14;
offset:36*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x9fd20000, 0x71228efb,x14, 34*SIGALIGN, x15,x1, x10)

inst_47:// fs1 == 0 and fe1 == 0x56f and fm1 == 0xeb77b14440000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x56feb77b14440000; valaddr_reg:x14;
offset:37*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x14440000, 0x56feb77b,x14, 35*SIGALIGN, x15,x1, x10)

inst_48:// fs1 == 0 and fe1 == 0x181 and fm1 == 0x0226265640000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1810226265640000; valaddr_reg:x14;
offset:38*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x65640000, 0x18102262,x14, 36*SIGALIGN, x15,x1, x10)

inst_49:// fs1 == 0 and fe1 == 0x60c and fm1 == 0x4df3876008000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x60c4df3876008000; valaddr_reg:x14;
offset:39*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x76008000, 0x60c4df38,x14, 37*SIGALIGN, x15,x1, x10)

inst_50:// fs1 == 0 and fe1 == 0x3d1 and fm1 == 0xc9c3e06610000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3d1c9c3e06610000; valaddr_reg:x14;
offset:40*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x06610000, 0x3d1c9c3e,x14, 38*SIGALIGN, x15,x1, x10)

inst_51:// fs1 == 0 and fe1 == 0x32d and fm1 == 0xb63d043d10000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x32db63d043d10000; valaddr_reg:x14;
offset:41*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x43d10000, 0x32db63d0,x14, 39*SIGALIGN, x15,x1, x10)

inst_52:// fs1 == 0 and fe1 == 0x5b0 and fm1 == 0x8f302c02c8000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5b08f302c02c8000; valaddr_reg:x14;
offset:42*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xc02c8000, 0x5b08f302,x14, 40*SIGALIGN, x15,x1, x10)

inst_53:// fs1 == 0 and fe1 == 0x26e and fm1 == 0x8a8a8502e2000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x26e8a8a8502e2000; valaddr_reg:x14;
offset:43*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x502e2000, 0x26e8a8a8,x14, 41*SIGALIGN, x15,x1, x10)

inst_54:// fs1 == 0 and fe1 == 0x74a and fm1 == 0x5095cd3c62000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x74a5095cd3c62000; valaddr_reg:x14;
offset:44*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xd3c62000, 0x74a5095c,x14, 42*SIGALIGN, x15,x1, x10)

inst_55:// fs1 == 0 and fe1 == 0x693 and fm1 == 0x32159f7764000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x69332159f7764000; valaddr_reg:x14;
offset:45*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xf7764000, 0x69332159,x14, 43*SIGALIGN, x15,x1, x10)

inst_56:// fs1 == 0 and fe1 == 0x32b and fm1 == 0x0c8ac416c9000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x32b0c8ac416c9000; valaddr_reg:x14;
offset:46*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x416c9000, 0x32b0c8ac,x14, 44*SIGALIGN, x15,x1, x10)

inst_57:// fs1 == 0 and fe1 == 0x55c and fm1 == 0x27109d2e38800 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x55c27109d2e38800; valaddr_reg:x14;
offset:47*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xd2e38800, 0x55c27109,x14, 45*SIGALIGN, x15,x1, x10)

inst_58:// fs1 == 0 and fe1 == 0x3cb and fm1 == 0xf0b8ab6b51000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3cbf0b8ab6b51000; valaddr_reg:x14;
offset:48*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xb6b51000, 0x3cbf0b8a,x14, 46*SIGALIGN, x15,x1, x10)

inst_59:// fs1 == 0 and fe1 == 0x176 and fm1 == 0xeb971282f8200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x176eb971282f8200; valaddr_reg:x14;
offset:49*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x282f8200, 0x176eb971,x14, 47*SIGALIGN, x15,x1, x10)

inst_60:// fs1 == 0 and fe1 == 0x5b3 and fm1 == 0x979ca2ec8c400 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5b3979ca2ec8c400; valaddr_reg:x14;
offset:50*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x2ec8c400, 0x5b3979ca,x14, 48*SIGALIGN, x15,x1, x10)

inst_61:// fs1 == 0 and fe1 == 0x674 and fm1 == 0x0202a3cf79200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6740202a3cf79200; valaddr_reg:x14;
offset:51*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x3cf79200, 0x6740202a,x14, 49*SIGALIGN, x15,x1, x10)

inst_62:// fs1 == 0 and fe1 == 0x4ee and fm1 == 0x71b0e933c2200 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x4ee71b0e933c2200; valaddr_reg:x14;
offset:52*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x933c2200, 0x4ee71b0e,x14, 50*SIGALIGN, x15,x1, x10)

inst_63:// fs1 == 0 and fe1 == 0x6bb and fm1 == 0x4d07b1ed41100 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6bb4d07b1ed41100; valaddr_reg:x14;
offset:53*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1ed41100, 0x6bb4d07b,x14, 51*SIGALIGN, x15,x1, x10)

inst_64:// fs1 == 0 and fe1 == 0x62a and fm1 == 0x0e613a46ac880 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x62a0e613a46ac880; valaddr_reg:x14;
offset:54*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa46ac880, 0x62a0e613,x14, 52*SIGALIGN, x15,x1, x10)

inst_65:// fs1 == 0 and fe1 == 0x000 and fm1 == 0x000fe99b3b666 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x000000fe99b3b666; valaddr_reg:x14;
offset:55*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x99b3b666, 0x000000fe,x14, 53*SIGALIGN, x15,x1, x10)

inst_66:// fs1 == 0 and fe1 == 0x31e and fm1 == 0x77fad24880120 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x31e77fad24880120; valaddr_reg:x14;
offset:56*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x24880120, 0x31e77fad,x14, 54*SIGALIGN, x15,x1, x10)

inst_67:// fs1 == 0 and fe1 == 0x5fd and fm1 == 0x822bf1e14a240 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5fd822bf1e14a240; valaddr_reg:x14;
offset:57*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1e14a240, 0x5fd822bf,x14, 55*SIGALIGN, x15,x1, x10)

inst_68:// fs1 == 0 and fe1 == 0x5fc and fm1 == 0x9ed0caa415ec8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5fc9ed0caa415ec8; valaddr_reg:x14;
offset:58*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xaa415ec8, 0x5fc9ed0c,x14, 56*SIGALIGN, x15,x1, x10)

inst_69:// fs1 == 0 and fe1 == 0x01b and fm1 == 0xd960e82d4b810 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x01bd960e82d4b810; valaddr_reg:x14;
offset:59*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x82d4b810, 0x01bd960e,x14, 57*SIGALIGN, x15,x1, x10)

inst_70:// fs1 == 0 and fe1 == 0x076 and fm1 == 0x033274a480488 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x076033274a480488; valaddr_reg:x14;
offset:60*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x4a480488, 0x07603327,x14, 58*SIGALIGN, x15,x1, x10)

inst_71:// fs1 == 0 and fe1 == 0x227 and fm1 == 0x127f90c3b9090 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x227127f90c3b9090; valaddr_reg:x14;
offset:61*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x0c3b9090, 0x227127f9,x14, 59*SIGALIGN, x15,x1, x10)

inst_72:// fs1 == 0 and fe1 == 0x6b8 and fm1 == 0x28048e71f9d08 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6b828048e71f9d08; valaddr_reg:x14;
offset:62*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xe71f9d08, 0x6b828048,x14, 60*SIGALIGN, x15,x1, x10)

inst_73:// fs1 == 0 and fe1 == 0x0f6 and fm1 == 0x0e8dcc21fc0dc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x0f60e8dcc21fc0dc; valaddr_reg:x14;
offset:63*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xc21fc0dc, 0x0f60e8dc,x14, 61*SIGALIGN, x15,x1, x10)

inst_74:// fs1 == 0 and fe1 == 0x216 and fm1 == 0x5901f1856027c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2165901f1856027c; valaddr_reg:x14;
offset:64*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1856027c, 0x2165901f,x14, 62*SIGALIGN, x15,x1, x10)

inst_75:// fs1 == 0 and fe1 == 0x2f2 and fm1 == 0xa186bad3f3b95 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2f2a186bad3f3b95; valaddr_reg:x14;
offset:65*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xad3f3b95, 0x2f2a186b,x14, 63*SIGALIGN, x15,x1, x10)

inst_76:// fs1 == 0 and fe1 == 0x69d and fm1 == 0x3245461ecff87 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x69d3245461ecff87; valaddr_reg:x14;
offset:66*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x61ecff87, 0x69d32454,x14, 64*SIGALIGN, x15,x1, x10)

inst_77:// fs1 == 0 and fe1 == 0x1dc and fm1 == 0x184be59c54b98 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1dc184be59c54b98; valaddr_reg:x14;
offset:67*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x59c54b98, 0x1dc184be,x14, 65*SIGALIGN, x15,x1, x10)

inst_78:// fs1 == 0 and fe1 == 0x5c5 and fm1 == 0x4051a49e409ef and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5c54051a49e409ef; valaddr_reg:x14;
offset:68*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x49e409ef, 0x5c54051a,x14, 66*SIGALIGN, x15,x1, x10)

inst_79:// fs1 == 0 and fe1 == 0x70b and fm1 == 0xa9bb9576e08fe and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x70ba9bb9576e08fe; valaddr_reg:x14;
offset:69*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x576e08fe, 0x70ba9bb9,x14, 67*SIGALIGN, x15,x1, x10)

inst_80:// fs1 == 0 and fe1 == 0x1f6 and fm1 == 0xddff45305d0a3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1f6ddff45305d0a3; valaddr_reg:x14;
offset:70*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x5305d0a3, 0x1f6ddff4,x14, 68*SIGALIGN, x15,x1, x10)

inst_81:// fs1 == 0 and fe1 == 0x6c4 and fm1 == 0x936ef74f68734 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6c4936ef74f68734; valaddr_reg:x14;
offset:71*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x74f68734, 0x6c4936ef,x14, 69*SIGALIGN, x15,x1, x10)

inst_82:// fs1 == 0 and fe1 == 0x293 and fm1 == 0x1fa2f7bf8a3cd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2931fa2f7bf8a3cd; valaddr_reg:x14;
offset:72*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x7bf8a3cd, 0x2931fa2f,x14, 70*SIGALIGN, x15,x1, x10)

inst_83:// fs1 == 0 and fe1 == 0x36a and fm1 == 0x1a98d1d649d85 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x36a1a98d1d649d85; valaddr_reg:x14;
offset:73*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1d649d85, 0x36a1a98d,x14, 71*SIGALIGN, x15,x1, x10)

inst_84:// fs1 == 0 and fe1 == 0x56c and fm1 == 0xc901d6ca9fe73 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x56cc901d6ca9fe73; valaddr_reg:x14;
offset:74*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x6ca9fe73, 0x56cc901d,x14, 72*SIGALIGN, x15,x1, x10)

inst_85:// fs1 == 0 and fe1 == 0x1f7 and fm1 == 0x0c82887c59b71 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1f70c82887c59b71; valaddr_reg:x14;
offset:75*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x87c59b71, 0x1f70c828,x14, 73*SIGALIGN, x15,x1, x10)

inst_86:// fs1 == 0 and fe1 == 0x794 and fm1 == 0xdf650f96fc9dc and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x794df650f96fc9dc; valaddr_reg:x14;
offset:76*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xf96fc9dc, 0x794df650,x14, 74*SIGALIGN, x15,x1, x10)

inst_87:// fs1 == 0 and fe1 == 0x245 and fm1 == 0xe2ded1447a9b2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x245e2ded1447a9b2; valaddr_reg:x14;
offset:77*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1447a9b2, 0x245e2ded,x14, 75*SIGALIGN, x15,x1, x10)

inst_88:// fs1 == 0 and fe1 == 0x253 and fm1 == 0xcf11866f044c6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x253cf11866f044c6; valaddr_reg:x14;
offset:78*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x66f044c6, 0x253cf118,x14, 76*SIGALIGN, x15,x1, x10)

inst_89:// fs1 == 0 and fe1 == 0x011 and fm1 == 0x421e71936ce4f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x011421e71936ce4f; valaddr_reg:x14;
offset:79*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1936ce4f, 0x011421e7,x14, 77*SIGALIGN, x15,x1, x10)

inst_90:// fs1 == 0 and fe1 == 0x15c and fm1 == 0xb61d12a3db43b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x15cb61d12a3db43b; valaddr_reg:x14;
offset:80*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x2a3db43b, 0x15cb61d1,x14, 78*SIGALIGN, x15,x1, x10)

inst_91:// fs1 == 0 and fe1 == 0x68c and fm1 == 0x4f2b6e728ce0c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x68c4f2b6e728ce0c; valaddr_reg:x14;
offset:81*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xe728ce0c, 0x68c4f2b6,x14, 79*SIGALIGN, x15,x1, x10)

inst_92:// fs1 == 0 and fe1 == 0x3f8 and fm1 == 0x74733452ff5d7 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3f874733452ff5d7; valaddr_reg:x14;
offset:82*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x452ff5d7, 0x3f874733,x14, 80*SIGALIGN, x15,x1, x10)

inst_93:// fs1 == 0 and fe1 == 0x352 and fm1 == 0x68bf7bba24887 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x35268bf7bba24887; valaddr_reg:x14;
offset:83*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xbba24887, 0x35268bf7,x14, 81*SIGALIGN, x15,x1, x10)

inst_94:// fs1 == 0 and fe1 == 0x04d and fm1 == 0xf54d566d3af23 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x04df54d566d3af23; valaddr_reg:x14;
offset:84*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x66d3af23, 0x04df54d5,x14, 82*SIGALIGN, x15,x1, x10)

inst_95:// fs1 == 0 and fe1 == 0x3a6 and fm1 == 0x8dea07a7d2f66 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3a68dea07a7d2f66; valaddr_reg:x14;
offset:85*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x7a7d2f66, 0x3a68dea0,x14, 83*SIGALIGN, x15,x1, x10)

inst_96:// fs1 == 0 and fe1 == 0x028 and fm1 == 0x50d5c9d17a718 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x02850d5c9d17a718; valaddr_reg:x14;
offset:86*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x9d17a718, 0x02850d5c,x14, 84*SIGALIGN, x15,x1, x10)

inst_97:// fs1 == 0 and fe1 == 0x6de and fm1 == 0x4a8493263d912 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6de4a8493263d912; valaddr_reg:x14;
offset:87*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x3263d912, 0x6de4a849,x14, 85*SIGALIGN, x15,x1, x10)

inst_98:// fs1 == 0 and fe1 == 0x55f and fm1 == 0x831433085a13f and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x55f831433085a13f; valaddr_reg:x14;
offset:88*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x3085a13f, 0x55f83143,x14, 86*SIGALIGN, x15,x1, x10)

inst_99:// fs1 == 0 and fe1 == 0x2ac and fm1 == 0x903f3a50115bf and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2ac903f3a50115bf; valaddr_reg:x14;
offset:89*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa50115bf, 0x2ac903f3,x14, 87*SIGALIGN, x15,x1, x10)

inst_100:// fs1 == 0 and fe1 == 0x6e6 and fm1 == 0xd658cf235f718 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6e6d658cf235f718; valaddr_reg:x14;
offset:90*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xf235f718, 0x6e6d658c,x14, 88*SIGALIGN, x15,x1, x10)

inst_101:// fs1 == 0 and fe1 == 0x463 and fm1 == 0x53fdb488151bd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x46353fdb488151bd; valaddr_reg:x14;
offset:91*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x488151bd, 0x46353fdb,x14, 89*SIGALIGN, x15,x1, x10)

inst_102:// fs1 == 0 and fe1 == 0x4a7 and fm1 == 0x480c0e0c26ad5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x4a7480c0e0c26ad5; valaddr_reg:x14;
offset:92*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xe0c26ad5, 0x4a7480c0,x14, 90*SIGALIGN, x15,x1, x10)

inst_103:// fs1 == 0 and fe1 == 0x443 and fm1 == 0xbb0584a3e9fb1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x443bb0584a3e9fb1; valaddr_reg:x14;
offset:93*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x4a3e9fb1, 0x443bb058,x14, 91*SIGALIGN, x15,x1, x10)

inst_104:// fs1 == 0 and fe1 == 0x01e and fm1 == 0x28a5fa032b6d5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x01e28a5fa032b6d5; valaddr_reg:x14;
offset:94*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa032b6d5, 0x01e28a5f,x14, 92*SIGALIGN, x15,x1, x10)

inst_105:// fs1 == 0 and fe1 == 0x361 and fm1 == 0x67017bfbb2e14 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x36167017bfbb2e14; valaddr_reg:x14;
offset:95*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xbfbb2e14, 0x36167017,x14, 93*SIGALIGN, x15,x1, x10)

inst_106:// fs1 == 0 and fe1 == 0x277 and fm1 == 0x8a162e2f42a21 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2778a162e2f42a21; valaddr_reg:x14;
offset:96*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xe2f42a21, 0x2778a162,x14, 94*SIGALIGN, x15,x1, x10)

inst_107:// fs1 == 0 and fe1 == 0x429 and fm1 == 0xf1125eaac3f81 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x429f1125eaac3f81; valaddr_reg:x14;
offset:97*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xeaac3f81, 0x429f1125,x14, 95*SIGALIGN, x15,x1, x10)

inst_108:// fs1 == 0 and fe1 == 0x27b and fm1 == 0x9ef64199541d0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x27b9ef64199541d0; valaddr_reg:x14;
offset:98*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x199541d0, 0x27b9ef64,x14, 96*SIGALIGN, x15,x1, x10)

inst_109:// fs1 == 0 and fe1 == 0x390 and fm1 == 0x5ad9865ef1ae8 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x3905ad9865ef1ae8; valaddr_reg:x14;
offset:99*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x65ef1ae8, 0x3905ad98,x14, 97*SIGALIGN, x15,x1, x10)

inst_110:// fs1 == 0 and fe1 == 0x14c and fm1 == 0x3543bca6412dd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x14c3543bca6412dd; valaddr_reg:x14;
offset:100*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xca6412dd, 0x14c3543b,x14, 98*SIGALIGN, x15,x1, x10)

inst_111:// fs1 == 0 and fe1 == 0x68a and fm1 == 0xd3f8d47593f76 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x68ad3f8d47593f76; valaddr_reg:x14;
offset:101*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x47593f76, 0x68ad3f8d,x14, 99*SIGALIGN, x15,x1, x10)

inst_112:// fs1 == 0 and fe1 == 0x5f2 and fm1 == 0x2c7839914630c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5f22c7839914630c; valaddr_reg:x14;
offset:102*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x9914630c, 0x5f22c783,x14, 100*SIGALIGN, x15,x1, x10)

inst_113:// fs1 == 0 and fe1 == 0x6ac and fm1 == 0xa53af1e9e6297 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6aca53af1e9e6297; valaddr_reg:x14;
offset:103*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x1e9e6297, 0x6aca53af,x14, 101*SIGALIGN, x15,x1, x10)

inst_114:// fs1 == 0 and fe1 == 0x62a and fm1 == 0xc5b706ee884bd and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x62ac5b706ee884bd; valaddr_reg:x14;
offset:104*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x6ee884bd, 0x62ac5b70,x14, 102*SIGALIGN, x15,x1, x10)

inst_115:// fs1 == 0 and fe1 == 0x36f and fm1 == 0xb907cc9a3dfc5 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x36fb907cc9a3dfc5; valaddr_reg:x14;
offset:105*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xc9a3dfc5, 0x36fb907c,x14, 103*SIGALIGN, x15,x1, x10)

inst_116:// fs1 == 0 and fe1 == 0x5b4 and fm1 == 0x3b6ba19f71958 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5b43b6ba19f71958; valaddr_reg:x14;
offset:106*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x19f71958, 0x5b43b6ba,x14, 104*SIGALIGN, x15,x1, x10)

inst_117:// fs1 == 0 and fe1 == 0x562 and fm1 == 0xd8a88b54ddbd1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x562d8a88b54ddbd1; valaddr_reg:x14;
offset:107*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xb54ddbd1, 0x562d8a88,x14, 105*SIGALIGN, x15,x1, x10)

inst_118:// fs1 == 0 and fe1 == 0x5cd and fm1 == 0x0415c96d286b2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x5cd0415c96d286b2; valaddr_reg:x14;
offset:108*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x96d286b2, 0x5cd0415c,x14, 106*SIGALIGN, x15,x1, x10)

inst_119:// fs1 == 0 and fe1 == 0x010 and fm1 == 0x19147937aef10 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x01019147937aef10; valaddr_reg:x14;
offset:109*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x937aef10, 0x01019147,x14, 107*SIGALIGN, x15,x1, x10)

inst_120:// fs1 == 0 and fe1 == 0x379 and fm1 == 0x609ba7e28b6d6 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x379609ba7e28b6d6; valaddr_reg:x14;
offset:110*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x7e28b6d6, 0x379609ba,x14, 108*SIGALIGN, x15,x1, x10)

inst_121:// fs1 == 0 and fe1 == 0x6cc and fm1 == 0xda4837dc75a45 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6ccda4837dc75a45; valaddr_reg:x14;
offset:111*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x7dc75a45, 0x6ccda483,x14, 109*SIGALIGN, x15,x1, x10)

inst_122:// fs1 == 0 and fe1 == 0x046 and fm1 == 0x10964a3288ede and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x04610964a3288ede; valaddr_reg:x14;
offset:112*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa3288ede, 0x04610964,x14, 110*SIGALIGN, x15,x1, x10)

inst_123:// fs1 == 0 and fe1 == 0x27a and fm1 == 0xfedcb647b5255 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x27afedcb647b5255; valaddr_reg:x14;
offset:113*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x647b5255, 0x27afedcb,x14, 111*SIGALIGN, x15,x1, x10)

inst_124:// fs1 == 0 and fe1 == 0x21c and fm1 == 0x1fc5f6573038b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x21c1fc5f6573038b; valaddr_reg:x14;
offset:114*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x6573038b, 0x21c1fc5f,x14, 112*SIGALIGN, x15,x1, x10)

inst_125:// fs1 == 0 and fe1 == 0x0b8 and fm1 == 0x676d52bcd2ca2 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x0b8676d52bcd2ca2; valaddr_reg:x14;
offset:115*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x2bcd2ca2, 0x0b8676d5,x14, 113*SIGALIGN, x15,x1, x10)

inst_126:// fs1 == 0 and fe1 == 0x4eb and fm1 == 0xa52bfc61f44e1 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x4eba52bfc61f44e1; valaddr_reg:x14;
offset:116*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xc61f44e1, 0x4eba52bf,x14, 114*SIGALIGN, x15,x1, x10)

inst_127:// fs1 == 0 and fe1 == 0x1dd and fm1 == 0x00eff45d8a020 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1dd00eff45d8a020; valaddr_reg:x14;
offset:117*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x45d8a020, 0x1dd00eff,x14, 115*SIGALIGN, x15,x1, x10)

inst_128:// fs1 == 0 and fe1 == 0x220 and fm1 == 0xb615804e82f0b and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x220b615804e82f0b; valaddr_reg:x14;
offset:118*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x04e82f0b, 0x220b6158,x14, 116*SIGALIGN, x15,x1, x10)

inst_129:// fs1 == 0 and fe1 == 0x664 and fm1 == 0x1f53f3796faa0 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x6641f53f3796faa0; valaddr_reg:x14;
offset:119*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x3796faa0, 0x6641f53f,x14, 117*SIGALIGN, x15,x1, x10)

inst_130:// fs1 == 0 and fe1 == 0x49e and fm1 == 0x6d6aa7b5d5523 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x49e6d6aa7b5d5523; valaddr_reg:x14;
offset:120*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x7b5d5523, 0x49e6d6aa,x14, 118*SIGALIGN, x15,x1, x10)

inst_131:// fs1 == 0 and fe1 == 0x0dd and fm1 == 0xb962d97d9e0d3 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x0ddb962d97d9e0d3; valaddr_reg:x14;
offset:121*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x97d9e0d3, 0x0ddb962d,x14, 119*SIGALIGN, x15,x1, x10)

inst_132:// fs1 == 0 and fe1 == 0x24a and fm1 == 0x596ffbdcf9515 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x24a596ffbdcf9515; valaddr_reg:x14;
offset:122*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xbdcf9515, 0x24a596ff,x14, 120*SIGALIGN, x15,x1, x10)

inst_133:// fs1 == 0 and fe1 == 0x243 and fm1 == 0x7730427032993 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x2437730427032993; valaddr_reg:x14;
offset:123*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x27032993, 0x24377304,x14, 121*SIGALIGN, x15,x1, x10)

inst_134:// fs1 == 0 and fe1 == 0x610 and fm1 == 0x21ccea37c6190 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x61021ccea37c6190; valaddr_reg:x14;
offset:124*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0xa37c6190, 0x61021cce,x14, 122*SIGALIGN, x15,x1, x10)

inst_135:// fs1 == 0 and fe1 == 0x1d6 and fm1 == 0xb935452b4bc7c and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1d6b935452b4bc7c; valaddr_reg:x14;
offset:125*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x52b4bc7c, 0x1d6b9354,x14, 123*SIGALIGN, x15,x1, x10)

inst_136:// fs1 == 0 and fe1 == 0x141 and fm1 == 0x0000000000000 and  fcsr == 0x0 and rm_val == 7   
/* opcode: fsqrt.d ; op1:x28; dest:x30; op1val:0x1410000000000000; valaddr_reg:x14;
offset:126*4; correctval:??; testreg:x10;
fcsr_val:0*/
TEST_ZDINX_OP_32(fsqrt.d, x30, x31, x28, x29,0, 0, 0, 0x00000000, 0x14100000,x14, 124*SIGALIGN, x15,x1, x10)
#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  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
test_dataset_1:
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x00000000;
.dword  0x80000000;
.dword  0x80000000;
.dword  0x40000000;
.dword  0x20000000;
.dword  0x20000000;
.dword  0x20000000;
.dword  0x88000000;
.dword  0x08000000;
.dword  0x48000000;
.dword  0xa4000000;
.dword  0xe2000000;
.dword  0x04000000;
.dword  0x84000000;
.dword  0x01000000;
.dword  0x668b9824;
.dword  0xa6400000;
.dword  0x26400000;
.dword  0xb0040000;
.dword  0x35100000;
.dword  0x51100000;
.dword  0xcb100000;
.dword  0x9fd20000;
.dword  0x14440000;
.dword  0x65640000;
.dword  0x76008000;
.dword  0x06610000;
.dword  0x43d10000;
.dword  0xc02c8000;
.dword  0x502e2000;
.dword  0xd3c62000;
.dword  0xf7764000;
.dword  0x416c9000;
.dword  0xd2e38800;
.dword  0xb6b51000;
.dword  0x282f8200;
.dword  0x2ec8c400;
.dword  0x3cf79200;
.dword  0x933c2200;
.dword  0x1ed41100;
.dword  0xa46ac880;
.dword  0x99b3b666;
.dword  0x24880120;
.dword  0x1e14a240;
.dword  0xaa415ec8;
.dword  0x82d4b810;
.dword  0x4a480488;
.dword  0x0c3b9090;
.dword  0xe71f9d08;
.dword  0xc21fc0dc;
.dword  0x1856027c;
.dword  0xad3f3b95;
.dword  0x61ecff87;
.dword  0x59c54b98;
.dword  0x49e409ef;
.dword  0x576e08fe;
.dword  0x5305d0a3;
.dword  0x74f68734;
.dword  0x7bf8a3cd;
.dword  0x1d649d85;
.dword  0x6ca9fe73;
.dword  0x87c59b71;
.dword  0xf96fc9dc;
.dword  0x1447a9b2;
.dword  0x66f044c6;
.dword  0x1936ce4f;
.dword  0x2a3db43b;
.dword  0xe728ce0c;
.dword  0x452ff5d7;
.dword  0xbba24887;
.dword  0x66d3af23;
.dword  0x7a7d2f66;
.dword  0x9d17a718;
.dword  0x3263d912;
.dword  0x3085a13f;
.dword  0xa50115bf;
.dword  0xf235f718;
.dword  0x488151bd;
.dword  0xe0c26ad5;
.dword  0x4a3e9fb1;
.dword  0xa032b6d5;
.dword  0xbfbb2e14;
.dword  0xe2f42a21;
.dword  0xeaac3f81;
.dword  0x199541d0;
.dword  0x65ef1ae8;
.dword  0xca6412dd;
.dword  0x47593f76;
.dword  0x9914630c;
.dword  0x1e9e6297;
.dword  0x6ee884bd;
.dword  0xc9a3dfc5;
.dword  0x19f71958;
.dword  0xb54ddbd1;
.dword  0x96d286b2;
.dword  0x937aef10;
.dword  0x7e28b6d6;
.dword  0x7dc75a45;
.dword  0xa3288ede;
.dword  0x647b5255;
.dword  0x6573038b;
.dword  0x2bcd2ca2;
.dword  0xc61f44e1;
.dword  0x45d8a020;
.dword  0x04e82f0b;
.dword  0x3796faa0;
.dword  0x7b5d5523;
.dword  0x97d9e0d3;
.dword  0xbdcf9515;
.dword  0x27032993;
.dword  0xa37c6190;
.dword  0x52b4bc7c;
.dword  0x00000000;
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 12*((SIGALIGN)/4),4,0xdeadbeef


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

#ifdef rvtest_mtrap_routine
tsig_begin_canary:
CANARY;

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

tsig_end_canary:
CANARY;
#endif

#ifdef rvtest_gpr_save

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

#endif


sig_end_canary:
CANARY;
rvtest_sig_end:
RVMODEL_DATA_END
