
// -----------
// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg)
// version   : 0.11.0
// timestamp : Wed Aug 16 08:12:01 2023 GMT
// usage     : riscv_ctg \
//                  -- cgf //                  --cgf /home/eman/riscof/riscv-ctg/sample_cgfs/dataset.cgf \
//                  --cgf /home/eman/riscof/riscv-ctg/sample_cgfs/rv32e_b.cgf \
 \
//                  -- xlen 32  \
//                  --randomize \
// -----------
//
// -----------
// Copyright (c) 2020. RISC-V International. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause
// -----------
//
// This assembly file tests the binvi instruction of the RISC-V RV32Zbs extension for the binvi covergroup.
// 
#include "model_test.h"
#include "arch_test.h"
RVTEST_ISA("RV32EZbs")

.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(.*E.*Zbs.*) ;def RVTEST_E = True;def TEST_CASE_1=True;",binvi)

RVTEST_SIGBASE(x2,signature_x2_1)

inst_0:
// rs1 == rd, rs1==x7, rd==x7, rs1_val == 0xFFFFFFFF and imm_val == 0x02 
// opcode: binvi ; op1:x7; dest:x7; op1val:-0x1;  immval:0x2
TEST_IMM_OP( binvi, x7, x7, 0x00000000, -0x1, 0x2, x2, 0*XLEN/8, x6)

inst_1:
// rs1 != rd, rs1==x12, rd==x9, rs1_val == 0xFFFFFFFE and imm_val == 0x1E 
// opcode: binvi ; op1:x12; dest:x9; op1val:-0x2;  immval:0x1e
TEST_IMM_OP( binvi, x9, x12, 0x00000000, -0x2, 0x1e, x2, 1*XLEN/8, x6)

inst_2:
// rs1==x0, rd==x10, rs1_val == 0xFFFFFFFD and imm_val == 0x00 
// opcode: binvi ; op1:x0; dest:x10; op1val:0x0;  immval:0x0
TEST_IMM_OP( binvi, x10, x0, 0x00000000, 0x0, 0x0, x2, 2*XLEN/8, x6)

inst_3:
// rs1==x10, rd==x4, rs1_val == 0xFFFFFFF9 and imm_val == 0x1D 
// opcode: binvi ; op1:x10; dest:x4; op1val:-0x7;  immval:0x1d
TEST_IMM_OP( binvi, x4, x10, 0x00000000, -0x7, 0x1d, x2, 3*XLEN/8, x6)

inst_4:
// rs1==x5, rd==x15, rs1_val == 0xFFFFFFF2 and imm_val == 0x1F 
// opcode: binvi ; op1:x5; dest:x15; op1val:-0xe;  immval:0x1f
TEST_IMM_OP( binvi, x15, x5, 0x00000000, -0xe, 0x1f, x2, 4*XLEN/8, x6)

inst_5:
// rs1==x8, rd==x1, rs1_val == 0xFFFFFFE8 and imm_val == 0x11 
// opcode: binvi ; op1:x8; dest:x1; op1val:-0x18;  immval:0x11
TEST_IMM_OP( binvi, x1, x8, 0x00000000, -0x18, 0x11, x2, 5*XLEN/8, x6)

inst_6:
// rs1==x3, rd==x12, rs1_val == 0x797D76DF and imm_val == 0x11 
// opcode: binvi ; op1:x3; dest:x12; op1val:0x797d76df;  immval:0x11
TEST_IMM_OP( binvi, x12, x3, 0x00000000, 0x797d76df, 0x11, x2, 6*XLEN/8, x6)

inst_7:
// rs1==x4, rd==x11, rs1_val == 0x50A03C5A and imm_val == 0x16 
// opcode: binvi ; op1:x4; dest:x11; op1val:0x50a03c5a;  immval:0x16
TEST_IMM_OP( binvi, x11, x4, 0x00000000, 0x50a03c5a, 0x16, x2, 7*XLEN/8, x7)
RVTEST_SIGBASE(x4,signature_x4_0)

inst_8:
// rs1==x1, rd==x5, rs1_val == 0x9205D39C and imm_val == 0x18 
// opcode: binvi ; op1:x1; dest:x5; op1val:-0x6dfa2c64;  immval:0x18
TEST_IMM_OP( binvi, x5, x1, 0x00000000, -0x6dfa2c64, 0x18, x4, 0*XLEN/8, x7)

inst_9:
// rs1==x14, rd==x8, rs1_val == 0x163DFF98 and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x8; op1val:0x163dff98;  immval:0x17
TEST_IMM_OP( binvi, x8, x14, 0x00000000, 0x163dff98, 0x17, x4, 1*XLEN/8, x7)

inst_10:
// rs1==x13, rd==x14, rs1_val == 0xB87A9E30 and imm_val == 0x11 
// opcode: binvi ; op1:x13; dest:x14; op1val:-0x478561d0;  immval:0x11
TEST_IMM_OP( binvi, x14, x13, 0x00000000, -0x478561d0, 0x11, x4, 2*XLEN/8, x7)

inst_11:
// rs1==x2, rd==x13, rs1_val == 0x96CDF1A0 and imm_val == 0x1D 
// opcode: binvi ; op1:x2; dest:x13; op1val:-0x69320e60;  immval:0x1d
TEST_IMM_OP( binvi, x13, x2, 0x00000000, -0x69320e60, 0x1d, x4, 3*XLEN/8, x7)

inst_12:
// rs1==x6, rd==x3, rs1_val == 0x32AB8740 and imm_val == 0x0E 
// opcode: binvi ; op1:x6; dest:x3; op1val:0x32ab8740;  immval:0xe
TEST_IMM_OP( binvi, x3, x6, 0x00000000, 0x32ab8740, 0xe, x4, 4*XLEN/8, x7)

inst_13:
// rs1==x11, rd==x6, rs1_val == 0x72C58380 and imm_val == 0x00 
// opcode: binvi ; op1:x11; dest:x6; op1val:0x72c58380;  immval:0x0
TEST_IMM_OP( binvi, x6, x11, 0x00000000, 0x72c58380, 0x0, x4, 5*XLEN/8, x7)

inst_14:
// rs1==x15, rd==x2, rs1_val == 0x4C56BB00 and imm_val == 0x09 
// opcode: binvi ; op1:x15; dest:x2; op1val:0x4c56bb00;  immval:0x9
TEST_IMM_OP( binvi, x2, x15, 0x00000000, 0x4c56bb00, 0x9, x4, 6*XLEN/8, x7)

inst_15:
// rs1==x9, rd==x0, rs1_val == 0xC1B7AE00 and imm_val == 0x1C 
// opcode: binvi ; op1:x9; dest:x0; op1val:-0x3e485200;  immval:0x1c
TEST_IMM_OP( binvi, x0, x9, 0x00000000, -0x3e485200, 0x1c, x4, 7*XLEN/8, x2)
RVTEST_SIGBASE(x1,signature_x1_0)

inst_16:
// rs1_val == 0x7AA5E400 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x7aa5e400;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x7aa5e400, 0xa, x1, 0*XLEN/8, x2)

inst_17:
// rs1_val == 0xAA3D6800 and imm_val == 0x0D 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x55c29800;  immval:0xd
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x55c29800, 0xd, x1, 1*XLEN/8, x2)

inst_18:
// rs1_val == 0xF1C6B000 and imm_val == 0x0C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xe395000;  immval:0xc
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xe395000, 0xc, x1, 2*XLEN/8, x2)

inst_19:
// rs1_val == 0x33BC2000 and imm_val == 0x15 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x33bc2000;  immval:0x15
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x33bc2000, 0x15, x1, 3*XLEN/8, x2)

inst_20:
// rs1_val == 0xA6C04000 and imm_val == 0x19 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x593fc000;  immval:0x19
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x593fc000, 0x19, x1, 4*XLEN/8, x2)

inst_21:
// rs1_val == 0xCD2F8000 and imm_val == 0x05 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x32d08000;  immval:0x5
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x32d08000, 0x5, x1, 5*XLEN/8, x2)

inst_22:
// rs1_val == 0x405D0000 and imm_val == 0x03 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x405d0000;  immval:0x3
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x405d0000, 0x3, x1, 6*XLEN/8, x2)

inst_23:
// rs1_val == 0xA56A0000 and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5a960000;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5a960000, 0xe, x1, 7*XLEN/8, x2)

inst_24:
// rs1_val == 0x55440000 and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x55440000;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x55440000, 0x1b, x1, 8*XLEN/8, x2)

inst_25:
// rs1_val == 0x46880000 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x46880000;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x46880000, 0x1c, x1, 9*XLEN/8, x2)

inst_26:
// rs1_val == 0xC7900000 and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x38700000;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x38700000, 0x1b, x1, 10*XLEN/8, x2)

inst_27:
// rs1_val == 0xA3200000 and imm_val == 0x08 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5ce00000;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5ce00000, 0x8, x1, 11*XLEN/8, x2)

inst_28:
// rs1_val == 0xC8C00000 and imm_val == 0x14 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x37400000;  immval:0x14
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x37400000, 0x14, x1, 12*XLEN/8, x2)

inst_29:
// rs1_val == 0xD8800000 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x27800000;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x27800000, 0xa, x1, 13*XLEN/8, x2)

inst_30:
// rs1_val == 0xFD000000 and imm_val == 0x03 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3000000;  immval:0x3
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3000000, 0x3, x1, 14*XLEN/8, x2)

inst_31:
// rs1_val == 0x82000000 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x7e000000;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x7e000000, 0xa, x1, 15*XLEN/8, x2)

inst_32:
// rs1_val == 0xF4000000 and imm_val == 0x05 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xc000000;  immval:0x5
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xc000000, 0x5, x1, 16*XLEN/8, x2)

inst_33:
// rs1_val == 0x08000000 and imm_val == 0x1A 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x8000000;  immval:0x1a
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x8000000, 0x1a, x1, 17*XLEN/8, x2)

inst_34:
// rs1_val == 0xB0000000 and imm_val == 0x1E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x50000000;  immval:0x1e
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x50000000, 0x1e, x1, 18*XLEN/8, x2)

inst_35:
// rs1_val == 0x60000000 and imm_val == 0x18 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x60000000;  immval:0x18
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x60000000, 0x18, x1, 19*XLEN/8, x2)

inst_36:
// rs1_val == 0x40000000 and imm_val == 0x01 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x40000000;  immval:0x1
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x40000000, 0x1, x1, 20*XLEN/8, x2)

inst_37:
// rs1_val == 0x80000000 and imm_val == 0x05 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x80000000;  immval:0x5
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x80000000, 0x5, x1, 21*XLEN/8, x2)

inst_38:
// rs1_val == 0x00000000 and imm_val == 0x0C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x0;  immval:0xc
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x0, 0xc, x1, 22*XLEN/8, x2)

inst_39:
// imm_val == 0x1B and rs1_val == 0xA9E16E27 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x561e91d9;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x561e91d9, 0x1b, x1, 23*XLEN/8, x2)

inst_40:
// imm_val == 0x1A and rs1_val == 0xF0EB21AA 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xf14de56;  immval:0x1a
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xf14de56, 0x1a, x1, 24*XLEN/8, x2)

inst_41:
// imm_val == 0x14 and rs1_val == 0xB0AB577A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x4f54a886;  immval:0x14
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x4f54a886, 0x14, x1, 25*XLEN/8, x2)

inst_42:
// imm_val == 0x18 and rs1_val == 0x4F55C73D 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x4f55c73d;  immval:0x18
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x4f55c73d, 0x18, x1, 26*XLEN/8, x2)

inst_43:
// imm_val == 0x10 and rs1_val == 0x3C272728 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x3c272728;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x3c272728, 0x10, x1, 27*XLEN/8, x2)

inst_44:
// imm_val == 0x00 and rs1_val == 0x2DEDB6A7 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x2dedb6a7;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x2dedb6a7, 0x0, x1, 28*XLEN/8, x2)

inst_45:
// rs1_val == 0xFFFFFFFF and imm_val == 0x12 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1;  immval:0x12
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1, 0x12, x1, 29*XLEN/8, x2)

inst_46:
// rs1_val == 0x7FFFFFFF and imm_val == 0x0B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x7fffffff;  immval:0xb
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x7fffffff, 0xb, x1, 30*XLEN/8, x2)

inst_47:
// rs1_val == 0xBFFFFFFF and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x40000001;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x40000001, 0xe, x1, 31*XLEN/8, x2)

inst_48:
// rs1_val == 0x9FFFFFFF and imm_val == 0x09 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x60000001;  immval:0x9
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x60000001, 0x9, x1, 32*XLEN/8, x2)

inst_49:
// rs1_val == 0xCFFFFFFF and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x30000001;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x30000001, 0xe, x1, 33*XLEN/8, x2)

inst_50:
// rs1_val == 0xA7FFFFFF and imm_val == 0x0B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x58000001;  immval:0xb
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x58000001, 0xb, x1, 34*XLEN/8, x2)

inst_51:
// rs1_val == 0x23FFFFFF and imm_val == 0x04 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x23ffffff;  immval:0x4
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x23ffffff, 0x4, x1, 35*XLEN/8, x2)

inst_52:
// rs1_val == 0x89FFFFFF and imm_val == 0x0D 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x76000001;  immval:0xd
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x76000001, 0xd, x1, 36*XLEN/8, x2)

inst_53:
// rs1_val == 0xBEFFFFFF and imm_val == 0x12 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x41000001;  immval:0x12
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x41000001, 0x12, x1, 37*XLEN/8, x2)

inst_54:
// rs1_val == 0x077FFFFF and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x77fffff;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x77fffff, 0x1b, x1, 38*XLEN/8, x2)

inst_55:
// rs1_val == 0x203FFFFF and imm_val == 0x00 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x203fffff;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x203fffff, 0x0, x1, 39*XLEN/8, x2)

inst_56:
// rs1_val == 0xFE1FFFFF and imm_val == 0x11 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1e00001;  immval:0x11
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1e00001, 0x11, x1, 40*XLEN/8, x2)

inst_57:
// rs1_val == 0xD58FFFFF and imm_val == 0x09 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x2a700001;  immval:0x9
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x2a700001, 0x9, x1, 41*XLEN/8, x2)

inst_58:
// rs1_val == 0x15B7FFFF and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x15b7ffff;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x15b7ffff, 0x10, x1, 42*XLEN/8, x2)

inst_59:
// rs1_val == 0xD38BFFFF and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x2c740001;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x2c740001, 0x1c, x1, 43*XLEN/8, x2)

inst_60:
// rs1_val == 0xBEA5FFFF and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x415a0001;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x415a0001, 0x1b, x1, 44*XLEN/8, x2)

inst_61:
// rs1_val == 0xF306FFFF and imm_val == 0x08 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xcf90001;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xcf90001, 0x8, x1, 45*XLEN/8, x2)

inst_62:
// rs1_val == 0xCB347FFF and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x34cb8001;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x34cb8001, 0x10, x1, 46*XLEN/8, x2)

inst_63:
// rs1_val == 0x5B11BFFF and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x5b11bfff;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x5b11bfff, 0xe, x1, 47*XLEN/8, x2)

inst_64:
// rs1_val == 0x7C9DDFFF and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x7c9ddfff;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x7c9ddfff, 0x1b, x1, 48*XLEN/8, x2)

inst_65:
// rs1_val == 0xABB4CFFF and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x544b3001;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x544b3001, 0x17, x1, 49*XLEN/8, x2)

inst_66:
// rs1_val == 0xE37D37FF and imm_val == 0x1B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1c82c801;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1c82c801, 0x1b, x1, 50*XLEN/8, x2)

inst_67:
// rs1_val == 0xA37E33FF and imm_val == 0x14 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5c81cc01;  immval:0x14
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5c81cc01, 0x14, x1, 51*XLEN/8, x2)

inst_68:
// rs1_val == 0xA7BE99FF and imm_val == 0x07 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x58416601;  immval:0x7
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x58416601, 0x7, x1, 52*XLEN/8, x2)

inst_69:
// rs1_val == 0x589218FF and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x589218ff;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x589218ff, 0x10, x1, 53*XLEN/8, x2)

inst_70:
// rs1_val == 0xB0E04E7F and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x4f1fb181;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x4f1fb181, 0x1c, x1, 54*XLEN/8, x2)

inst_71:
// rs1_val == 0x8DE1C73F and imm_val == 0x08 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x721e38c1;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x721e38c1, 0x8, x1, 55*XLEN/8, x2)

inst_72:
// rs1_val == 0x70BCB8DF and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x70bcb8df;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x70bcb8df, 0x1c, x1, 56*XLEN/8, x2)

inst_73:
// rs1_val == 0x8935B82F and imm_val == 0x0B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x76ca47d1;  immval:0xb
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x76ca47d1, 0xb, x1, 57*XLEN/8, x2)

inst_74:
// rs1_val == 0x4B1634E7 and imm_val == 0x0C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x4b1634e7;  immval:0xc
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x4b1634e7, 0xc, x1, 58*XLEN/8, x2)

inst_75:
// rs1_val == 0x2DEDF123 and imm_val == 0x16 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x2dedf123;  immval:0x16
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x2dedf123, 0x16, x1, 59*XLEN/8, x2)

inst_76:
// rs1_val == 0x40D90A1D and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x40d90a1d;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x40d90a1d, 0x17, x1, 60*XLEN/8, x2)

inst_77:
// rs1_val == 0x759F1B44 and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x759f1b44;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x759f1b44, 0x10, x1, 61*XLEN/8, x2)

inst_78:
// imm_val == 0x1F and rs1_val == 0x47B7097B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x47b7097b;  immval:0x1f
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x47b7097b, 0x1f, x1, 62*XLEN/8, x2)

inst_79:
// imm_val == 0x0F and rs1_val == 0x5DCF019D 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x5dcf019d;  immval:0xf
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x5dcf019d, 0xf, x1, 63*XLEN/8, x2)

inst_80:
// imm_val == 0x07 and rs1_val == 0x76B1FD3D 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x76b1fd3d;  immval:0x7
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x76b1fd3d, 0x7, x1, 64*XLEN/8, x2)

inst_81:
// imm_val == 0x03 and rs1_val == 0xB808A677 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x47f75989;  immval:0x3
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x47f75989, 0x3, x1, 65*XLEN/8, x2)

inst_82:
// imm_val == 0x1D and rs1_val == 0xDE14BFF2 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x21eb400e;  immval:0x1d
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x21eb400e, 0x1d, x1, 66*XLEN/8, x2)

inst_83:
// imm_val == 0x08 and rs1_val == 0x24496FE3 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x24496fe3;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x24496fe3, 0x8, x1, 67*XLEN/8, x2)

inst_84:
// rs1_val == 0x00000000 and imm_val == 0x1D 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x0;  immval:0x1d
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x0, 0x1d, x1, 68*XLEN/8, x2)

inst_85:
// rs1_val == 0x00000001 and imm_val == 0x0C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x1;  immval:0xc
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x1, 0xc, x1, 69*XLEN/8, x2)

inst_86:
// rs1_val == 0x00000003 and imm_val == 0x1E 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x3;  immval:0x1e
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x3, 0x1e, x1, 70*XLEN/8, x2)

inst_87:
// rs1_val == 0x00000006 and imm_val == 0x0B 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x6;  immval:0xb
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x6, 0xb, x1, 71*XLEN/8, x2)

inst_88:
// rs1_val == 0x0000000C and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0xc;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0xc, 0x1c, x1, 72*XLEN/8, x2)

inst_89:
// rs1_val == 0x00000012 and imm_val == 0x09 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x12;  immval:0x9
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x12, 0x9, x1, 73*XLEN/8, x2)

inst_90:
// rs1_val == 0x00000026 and imm_val == 0x02 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x26;  immval:0x2
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x26, 0x2, x1, 74*XLEN/8, x2)

inst_91:
// rs1_val == 0x0000004C and imm_val == 0x19 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x4c;  immval:0x19
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x4c, 0x19, x1, 75*XLEN/8, x2)

inst_92:
// rs1_val == 0x000000B9 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0xb9;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0xb9, 0x1c, x1, 76*XLEN/8, x2)

inst_93:
// rs1_val == 0x00000197 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x197;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x197, 0xa, x1, 77*XLEN/8, x2)

inst_94:
// rs1_val == 0x000002A7 and imm_val == 0x00 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x2a7;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x2a7, 0x0, x1, 78*XLEN/8, x2)

inst_95:
// rs1_val == 0x000005D1 and imm_val == 0x04 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x5d1;  immval:0x4
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x5d1, 0x4, x1, 79*XLEN/8, x2)

inst_96:
// rs1_val == 0x00000DD4 and imm_val == 0x02 
// opcode: binvi ; op1:x14; dest:x15; op1val:0xdd4;  immval:0x2
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0xdd4, 0x2, x1, 80*XLEN/8, x2)

inst_97:
// rs1_val == 0x00001D0C and imm_val == 0x0F 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x1d0c;  immval:0xf
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x1d0c, 0xf, x1, 81*XLEN/8, x2)

inst_98:
// rs1_val == 0x00003226 and imm_val == 0x01 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x3226;  immval:0x1
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x3226, 0x1, x1, 82*XLEN/8, x2)

inst_99:
// rs1_val == 0x00005CC1 and imm_val == 0x1D 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x5cc1;  immval:0x1d
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x5cc1, 0x1d, x1, 83*XLEN/8, x2)

inst_100:
// rs1_val == 0x0000F614 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0xf614;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0xf614, 0x1c, x1, 84*XLEN/8, x2)

inst_101:
// rs1_val == 0x00011E24 and imm_val == 0x0C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x11e24;  immval:0xc
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x11e24, 0xc, x1, 85*XLEN/8, x2)

inst_102:
// rs1_val == 0x00035161 and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x35161;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x35161, 0xe, x1, 86*XLEN/8, x2)

inst_103:
// rs1_val == 0x0006284E and imm_val == 0x12 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x6284e;  immval:0x12
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x6284e, 0x12, x1, 87*XLEN/8, x2)

inst_104:
// rs1_val == 0x0009222A and imm_val == 0x00 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x9222a;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x9222a, 0x0, x1, 88*XLEN/8, x2)

inst_105:
// rs1_val == 0x00164AF0 and imm_val == 0x05 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x164af0;  immval:0x5
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x164af0, 0x5, x1, 89*XLEN/8, x2)

inst_106:
// rs1_val == 0x00339238 and imm_val == 0x11 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x339238;  immval:0x11
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x339238, 0x11, x1, 90*XLEN/8, x2)

inst_107:
// rs1_val == 0x0062A6B3 and imm_val == 0x05 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x62a6b3;  immval:0x5
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x62a6b3, 0x5, x1, 91*XLEN/8, x2)

inst_108:
// rs1_val == 0x00B302FD and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:0xb302fd;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0xb302fd, 0x10, x1, 92*XLEN/8, x2)

inst_109:
// rs1_val == 0x01B601FD and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x1b601fd;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x1b601fd, 0xe, x1, 93*XLEN/8, x2)

inst_110:
// rs1_val == 0x034C687B and imm_val == 0x12 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x34c687b;  immval:0x12
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x34c687b, 0x12, x1, 94*XLEN/8, x2)

inst_111:
// rs1_val == 0x079DD25B and imm_val == 0x04 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x79dd25b;  immval:0x4
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x79dd25b, 0x4, x1, 95*XLEN/8, x2)

inst_112:
// rs1_val == 0x082A1750 and imm_val == 0x06 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x82a1750;  immval:0x6
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x82a1750, 0x6, x1, 96*XLEN/8, x2)

inst_113:
// rs1_val == 0x16809A12 and imm_val == 0x06 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x16809a12;  immval:0x6
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x16809a12, 0x6, x1, 97*XLEN/8, x2)

inst_114:
// rs1_val == 0x38B9B45D and imm_val == 0x12 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x38b9b45d;  immval:0x12
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x38b9b45d, 0x12, x1, 98*XLEN/8, x2)

inst_115:
// rs1_val == 0x62F28D1B and imm_val == 0x04 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x62f28d1b;  immval:0x4
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x62f28d1b, 0x4, x1, 99*XLEN/8, x2)

inst_116:
// rs1_val == 0xF542441E and imm_val == 0x01 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xabdbbe2;  immval:0x1
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xabdbbe2, 0x1, x1, 100*XLEN/8, x2)

inst_117:
// imm_val == 0x00 and rs1_val == 0xAF5570EE 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x50aa8f12;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x50aa8f12, 0x0, x1, 101*XLEN/8, x2)

inst_118:
// imm_val == 0x01 and rs1_val == 0xE90794DF 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x16f86b21;  immval:0x1
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x16f86b21, 0x1, x1, 102*XLEN/8, x2)

inst_119:
// imm_val == 0x02 and rs1_val == 0xB57A6A1D 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x4a8595e3;  immval:0x2
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x4a8595e3, 0x2, x1, 103*XLEN/8, x2)

inst_120:
// imm_val == 0x06 and rs1_val == 0xA123F501 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5edc0aff;  immval:0x6
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5edc0aff, 0x6, x1, 104*XLEN/8, x2)

inst_121:
// imm_val == 0x09 and rs1_val == 0xACC6D8F2 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5339270e;  immval:0x9
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5339270e, 0x9, x1, 105*XLEN/8, x2)

inst_122:
// imm_val == 0x1B and rs1_val == 0x164F1513 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x164f1513;  immval:0x1b
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x164f1513, 0x1b, x1, 106*XLEN/8, x2)

inst_123:
// rs1_val == 0xFFFFFFC6 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3a;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3a, 0xa, x1, 107*XLEN/8, x2)

inst_124:
// rs1_val == 0xFFFFFFBA and imm_val == 0x1F 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x46;  immval:0x1f
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x46, 0x1f, x1, 108*XLEN/8, x2)

inst_125:
// rs1_val == 0xFFFFFF44 and imm_val == 0x04 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xbc;  immval:0x4
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xbc, 0x4, x1, 109*XLEN/8, x2)

inst_126:
// rs1_val == 0xFFFFFE31 and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1cf;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1cf, 0x17, x1, 110*XLEN/8, x2)

inst_127:
// rs1_val == 0xFFFFFC1D and imm_val == 0x1A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3e3;  immval:0x1a
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3e3, 0x1a, x1, 111*XLEN/8, x2)

inst_128:
// rs1_val == 0xFFFFFB84 and imm_val == 0x08 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x47c;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x47c, 0x8, x1, 112*XLEN/8, x2)

inst_129:
// rs1_val == 0xFFFFF32A and imm_val == 0x16 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xcd6;  immval:0x16
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xcd6, 0x16, x1, 113*XLEN/8, x2)

inst_130:
// rs1_val == 0xFFFFEE0A and imm_val == 0x1A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x11f6;  immval:0x1a
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x11f6, 0x1a, x1, 114*XLEN/8, x2)

inst_131:
// rs1_val == 0xFFFFD410 and imm_val == 0x10 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x2bf0;  immval:0x10
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x2bf0, 0x10, x1, 115*XLEN/8, x2)

inst_132:
// rs1_val == 0xFFFFA2EE and imm_val == 0x0B 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x5d12;  immval:0xb
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x5d12, 0xb, x1, 116*XLEN/8, x2)

inst_133:
// rs1_val == 0xFFFF1E5F and imm_val == 0x13 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xe1a1;  immval:0x13
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xe1a1, 0x13, x1, 117*XLEN/8, x2)

inst_134:
// rs1_val == 0xFFFEC2B4 and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x13d4c;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x13d4c, 0x17, x1, 118*XLEN/8, x2)

inst_135:
// rs1_val == 0xFFFCDB0B and imm_val == 0x1D 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x324f5;  immval:0x1d
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x324f5, 0x1d, x1, 119*XLEN/8, x2)

inst_136:
// rs1_val == 0xFFF904D1 and imm_val == 0x0F 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x6fb2f;  immval:0xf
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x6fb2f, 0xf, x1, 120*XLEN/8, x2)

inst_137:
// rs1_val == 0xFFF1D2A0 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0xe2d60;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0xe2d60, 0x1c, x1, 121*XLEN/8, x2)

inst_138:
// rs1_val == 0xFFE2FC91 and imm_val == 0x18 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1d036f;  immval:0x18
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1d036f, 0x18, x1, 122*XLEN/8, x2)

inst_139:
// rs1_val == 0xFFD4AA23 and imm_val == 0x00 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x2b55dd;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x2b55dd, 0x0, x1, 123*XLEN/8, x2)

inst_140:
// rs1_val == 0xFF93D0E4 and imm_val == 0x08 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x6c2f1c;  immval:0x8
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x6c2f1c, 0x8, x1, 124*XLEN/8, x2)

inst_141:
// rs1_val == 0xFF6875BB and imm_val == 0x13 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x978a45;  immval:0x13
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x978a45, 0x13, x1, 125*XLEN/8, x2)

inst_142:
// rs1_val == 0xFE4DEAB5 and imm_val == 0x17 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1b2154b;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1b2154b, 0x17, x1, 126*XLEN/8, x2)

inst_143:
// rs1_val == 0xFDA56D7F and imm_val == 0x0F 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x25a9281;  immval:0xf
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x25a9281, 0xf, x1, 127*XLEN/8, x2)

inst_144:
// rs1_val == 0xF87A2561 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x785da9f;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x785da9f, 0x1c, x1, 128*XLEN/8, x2)

inst_145:
// rs1_val == 0xF79FB998 and imm_val == 0x1E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x8604668;  immval:0x1e
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x8604668, 0x1e, x1, 129*XLEN/8, x2)

inst_146:
// rs1_val == 0xE0A37559 and imm_val == 0x14 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x1f5c8aa7;  immval:0x14
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x1f5c8aa7, 0x14, x1, 130*XLEN/8, x2)

inst_147:
// rs1_val == 0xD814D576 and imm_val == 0x0A 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x27eb2a8a;  immval:0xa
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x27eb2a8a, 0xa, x1, 131*XLEN/8, x2)

inst_148:
// rs1_val == 0x9798C9D0 and imm_val == 0x0E 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x68673630;  immval:0xe
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x68673630, 0xe, x1, 132*XLEN/8, x2)

inst_149:
// rs1_val == 0x7843BDB9 and imm_val == 0x1A 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x7843bdb9;  immval:0x1a
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x7843bdb9, 0x1a, x1, 133*XLEN/8, x2)

inst_150:
// imm_val == 0x1F and rs1_val == 0x0973E89C 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x973e89c;  immval:0x1f
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x973e89c, 0x1f, x1, 134*XLEN/8, x2)

inst_151:
// imm_val == 0x1E and rs1_val == 0x14B91C79 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x14b91c79;  immval:0x1e
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x14b91c79, 0x1e, x1, 135*XLEN/8, x2)

inst_152:
// imm_val == 0x1D and rs1_val == 0x99EF1857 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x6610e7a9;  immval:0x1d
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x6610e7a9, 0x1d, x1, 136*XLEN/8, x2)

inst_153:
// imm_val == 0x18 and rs1_val == 0xC5EC6148 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3a139eb8;  immval:0x18
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3a139eb8, 0x18, x1, 137*XLEN/8, x2)

inst_154:
// imm_val == 0x17 and rs1_val == 0xCEB506F6 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x314af90a;  immval:0x17
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x314af90a, 0x17, x1, 138*XLEN/8, x2)

inst_155:
// imm_val == 0x0F and rs1_val == 0x59432A19 
// opcode: binvi ; op1:x14; dest:x15; op1val:0x59432a19;  immval:0xf
TEST_IMM_OP( binvi, x15, x14, 0x00000000, 0x59432a19, 0xf, x1, 139*XLEN/8, x2)

inst_156:
// rs1_val == 0xFFFFFFFD and imm_val == 0x00 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3;  immval:0x0
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3, 0x0, x1, 140*XLEN/8, x2)

inst_157:
// rs1_val == 0xC1B7AE00 and imm_val == 0x1C 
// opcode: binvi ; op1:x14; dest:x15; op1val:-0x3e485200;  immval:0x1c
TEST_IMM_OP( binvi, x15, x14, 0x00000000, -0x3e485200, 0x1c, x1, 141*XLEN/8, x2)
#endif


RVTEST_CODE_END
RVMODEL_HALT

RVTEST_DATA_BEGIN
.align 4
rvtest_data:
.word 0xbabecafe
.word 0xabecafeb
.word 0xbecafeba
.word 0xecafebab
RVTEST_DATA_END

RVMODEL_DATA_BEGIN
rvtest_sig_begin:
sig_begin_canary:
CANARY;



signature_x2_0:
    .fill 0*((XLEN/8)/4),4,0xdeadbeef


signature_x2_1:
    .fill 8*((XLEN/8)/4),4,0xdeadbeef


signature_x4_0:
    .fill 8*((XLEN/8)/4),4,0xdeadbeef


signature_x1_0:
    .fill 142*((XLEN/8)/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
