// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "riscv/riscv32gv_bin_decoder.h"

#include <cstdint>

#include "googlemock/include/gmock/gmock.h"
#include "riscv/riscv32gv_enums.h"

namespace {

// This file contains tests for verifying that the vector instructions in
// RiscV32GV are decoded properly by the generated decoder, thus validating
// the binary coder descriptions.

using OpcodeEnum = mpact::sim::riscv::isa32v::OpcodeEnum;
using mpact::sim::riscv::encoding::DecodeRiscV32GV;

// Constexpr for vector instruction opcodes for RV32GV instructions grouped by
// isa group.

// RV32V
// Vector config instructions
constexpr uint32_t kVsetvli_xn = 0b0'00000000000'00001'111'00000'1010111;
constexpr uint32_t kVsetvli_nz = 0b0'00000000000'00000'111'00001'1010111;
constexpr uint32_t kVsetvli_zz = 0b0'00000000000'00000'111'00000'1010111;
constexpr uint32_t kVsetivli = 0b11'0000000000'00000'111'00000'1010111;
constexpr uint32_t kVsetvl_xn = 0b1000000'00000'00001'111'00000'1010111;
constexpr uint32_t kVsetvl_nz = 0b1000000'00000'00000'111'00001'1010111;
constexpr uint32_t kVsetvl_zz = 0b1000000'00000'00000'111'00000'1010111;
// Vector load instructions
// Unit stride.
constexpr uint32_t kVle8 = 0b0000000'00000'00000'000'00000'000'0111;
constexpr uint32_t kVle16 = 0b0000000'00000'00000'101'00000'000'0111;
constexpr uint32_t kVle32 = 0b0000000'00000'00000'110'00000'000'0111;
constexpr uint32_t kVle64 = 0b0000000'00000'00000'111'00000'000'0111;
// Load vector mask.
constexpr uint32_t kVlm = 0b0000000'01011'00000'000'00000'000'0111;
// Load unit stride, fault first.
constexpr uint32_t kVle8ff = 0b0000000'10000'00000'000'00000'000'0111;
constexpr uint32_t kVle16ff = 0b0000000'10000'00000'101'00000'000'0111;
constexpr uint32_t kVle32ff = 0b0000000'10000'00000'110'00000'000'0111;
constexpr uint32_t kVle64ff = 0b0000000'10000'00000'111'00000'000'0111;
// Load whole register.
constexpr uint32_t kVl1re8 = 0b000'000'1'01000'00000'000'00000'000'0111;
constexpr uint32_t kVl1re16 = 0b000'000'1'01000'00000'101'00000'000'0111;
constexpr uint32_t kVl1re32 = 0b000'000'1'01000'00000'110'00000'000'0111;
constexpr uint32_t kVl1re64 = 0b000'000'1'01000'00000'111'00000'000'0111;
constexpr uint32_t kVl2re8 = 0b001'000'1'01000'00000'000'00000'000'0111;
constexpr uint32_t kVl2re16 = 0b001'000'1'01000'00000'101'00000'000'0111;
constexpr uint32_t kVl2re32 = 0b001'000'1'01000'00000'110'00000'000'0111;
constexpr uint32_t kVl2re64 = 0b001'000'1'01000'00000'111'00000'000'0111;
constexpr uint32_t kVl4re8 = 0b011'000'1'01000'00000'000'00000'000'0111;
constexpr uint32_t kVl4re16 = 0b011'000'1'01000'00000'101'00000'000'0111;
constexpr uint32_t kVl4re32 = 0b011'000'1'01000'00000'110'00000'000'0111;
constexpr uint32_t kVl4re64 = 0b011'000'1'01000'00000'111'00000'000'0111;
constexpr uint32_t kVl8re8 = 0b111'000'1'01000'00000'000'00000'000'0111;
constexpr uint32_t kVl8re16 = 0b111'000'1'01000'00000'101'00000'000'0111;
constexpr uint32_t kVl8re32 = 0b111'000'1'01000'00000'110'00000'000'0111;
constexpr uint32_t kVl8re64 = 0b111'000'1'01000'00000'111'00000'000'0111;
// Load strided.
constexpr uint32_t kVlse8 = 0b0000'10'0'00000'00000'000'00000'000'0111;
constexpr uint32_t kVlse16 = 0b0000'10'0'00000'00000'101'00000'000'0111;
constexpr uint32_t kVlse32 = 0b0000'10'0'00000'00000'110'00000'000'0111;
constexpr uint32_t kVlse64 = 0b0000'10'0'00000'00000'111'00000'000'0111;
// Load indexed, unordered.
constexpr uint32_t kVluxei8 = 0b0000'01'0'00000'00000'000'00000'000'0111;
constexpr uint32_t kVluxei16 = 0b0000'01'0'00000'00000'101'00000'000'0111;
constexpr uint32_t kVluxei32 = 0b0000'01'0'00000'00000'110'00000'000'0111;
constexpr uint32_t kVluxei64 = 0b0000'01'0'00000'00000'111'00000'000'0111;
// Load indexed, ordered.
constexpr uint32_t kVloxei8 = 0b0000'11'0'00000'00000'000'00000'000'0111;
constexpr uint32_t kVloxei16 = 0b0000'11'0'00000'00000'101'00000'000'0111;
constexpr uint32_t kVloxei32 = 0b0000'11'0'00000'00000'110'00000'000'0111;
constexpr uint32_t kVloxei64 = 0b0000'11'0'00000'00000'111'00000'000'0111;
// Load segment, unit stride.
constexpr uint32_t kVlsegNFe8 = 0b000'0'00'1'00000'00000'000'00000'000'0111;
constexpr uint32_t kVlsegNFe16 = 0b000'0'00'1'00000'00000'101'00000'000'0111;
constexpr uint32_t kVlsegNFe32 = 0b000'0'00'1'00000'00000'110'00000'000'0111;
constexpr uint32_t kVlsegNFe64 = 0b000'0'00'1'00000'00000'111'00000'000'0111;
// Load segment, strided.
constexpr uint32_t kVlssegNFe8 = 0b000'0'10'1'00000'00000'000'00000'000'0111;
constexpr uint32_t kVlssegNFe16 = 0b000'0'10'1'00000'00000'101'00000'000'0111;
constexpr uint32_t kVlssegNFe32 = 0b000'0'10'1'00000'00000'110'00000'000'0111;
constexpr uint32_t kVlssegNFe64 = 0b000'0'10'1'00000'00000'111'00000'000'0111;
// Load segment, indexed, unordered.
constexpr uint32_t kVluxsegNFei8 = 0b000'0'01'1'00000'00000'000'00000'000'0111;
constexpr uint32_t kVluxsegNFei16 = 0b000'0'01'1'00000'00000'101'00000'000'0111;
constexpr uint32_t kVluxsegNFei32 = 0b000'0'01'1'00000'00000'110'00000'000'0111;
constexpr uint32_t kVluxsegNFei64 = 0b000'0'01'1'00000'00000'111'00000'000'0111;
// Load segment, indexed, ordered.
constexpr uint32_t kVloxsegNFei8 = 0b000'0'11'1'00000'00000'000'00000'000'0111;
constexpr uint32_t kVloxsegNFei16 = 0b000'0'11'1'00000'00000'101'00000'000'0111;
constexpr uint32_t kVloxsegNFei32 = 0b000'0'11'1'00000'00000'110'00000'000'0111;
constexpr uint32_t kVloxsegNFei64 = 0b000'0'11'1'00000'00000'111'00000'000'0111;

// Vector store instructions
// Unit stride.
constexpr uint32_t kVse8 = 0b0000000'00000'00000'000'00000'0100111;
constexpr uint32_t kVse16 = 0b0000000'00000'00000'101'00000'0100111;
constexpr uint32_t kVse32 = 0b0000000'00000'00000'110'00000'0100111;
constexpr uint32_t kVse64 = 0b0000000'00000'00000'111'00000'0100111;
// Store vector mask.
constexpr uint32_t kVsm = 0b0000000'01011'00000'000'00000'0100111;
// Store, unit stride, fault first.
constexpr uint32_t kVse8ff = 0b0000000'10000'00000'000'00000'0100111;
constexpr uint32_t kVse16ff = 0b0000000'10000'00000'101'00000'0100111;
constexpr uint32_t kVse32ff = 0b0000000'10000'00000'110'00000'0100111;
constexpr uint32_t kVse64ff = 0b0000000'10000'00000'111'00000'0100111;
// Store whole register.
constexpr uint32_t kVs1re8 = 0b000'000'1'01000'00000'000'00000'010'0111;
constexpr uint32_t kVs1re16 = 0b000'000'1'01000'00000'101'00000'010'0111;
constexpr uint32_t kVs1re32 = 0b000'000'1'01000'00000'110'00000'010'0111;
constexpr uint32_t kVs1re64 = 0b000'000'1'01000'00000'111'00000'010'0111;
constexpr uint32_t kVs2re8 = 0b001'000'1'01000'00000'000'00000'010'0111;
constexpr uint32_t kVs2re16 = 0b001'000'1'01000'00000'101'00000'010'0111;
constexpr uint32_t kVs2re32 = 0b001'000'1'01000'00000'110'00000'010'0111;
constexpr uint32_t kVs2re64 = 0b001'000'1'01000'00000'111'00000'010'0111;
constexpr uint32_t kVs4re8 = 0b011'000'1'01000'00000'000'00000'010'0111;
constexpr uint32_t kVs4re16 = 0b011'000'1'01000'00000'101'00000'010'0111;
constexpr uint32_t kVs4re32 = 0b011'000'1'01000'00000'110'00000'010'0111;
constexpr uint32_t kVs4re64 = 0b011'000'1'01000'00000'111'00000'010'0111;
constexpr uint32_t kVs8re8 = 0b111'000'1'01000'00000'000'00000'010'0111;
constexpr uint32_t kVs8re16 = 0b111'000'1'01000'00000'101'00000'010'0111;
constexpr uint32_t kVs8re32 = 0b111'000'1'01000'00000'110'00000'010'0111;
constexpr uint32_t kVs8re64 = 0b111'000'1'01000'00000'111'00000'010'0111;
// Store strided.
constexpr uint32_t kVsse8 = 0b0000'10'0'00000'00000'000'00000'0100111;
constexpr uint32_t kVsse16 = 0b0000'10'0'00000'00000'101'00000'0100111;
constexpr uint32_t kVsse32 = 0b0000'10'0'00000'00000'110'00000'0100111;
constexpr uint32_t kVsse64 = 0b0000'10'0'00000'00000'111'00000'0100111;
// Store indexed, unordered.
constexpr uint32_t kVsuxei8 = 0b0000'01'0'00000'00000'000'00000'0100111;
constexpr uint32_t kVsuxei16 = 0b0000'01'0'00000'00000'101'00000'0100111;
constexpr uint32_t kVsuxei32 = 0b0000'01'0'00000'00000'110'00000'0100111;
constexpr uint32_t kVsuxei64 = 0b0000'01'0'00000'00000'111'00000'0100111;
// Stored indexed, ordered.
constexpr uint32_t kVsoxei8 = 0b0000'11'0'00000'00000'000'00000'0100111;
constexpr uint32_t kVsoxei16 = 0b0000'11'0'00000'00000'101'00000'0100111;
constexpr uint32_t kVsoxei32 = 0b0000'11'0'00000'00000'110'00000'0100111;
constexpr uint32_t kVsoxei64 = 0b0000'11'0'00000'00000'111'00000'0100111;
// Store segment, unit stride.
// Store segment, strided.
// Store segment, indexed, unordered.
// Store segment, indexed, ordered.
// Integer vector-vector, vector-scalar OPIVV, OPIVX, OPIVI
constexpr uint32_t kVaddVv = 0b000000'0'0000000000'000'00000'1010111;
constexpr uint32_t kVaddVx = 0b000000'0'0000000000'100'00000'1010111;
constexpr uint32_t kVaddVi = 0b000000'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsubVv = 0b000010'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsubVx = 0b000010'0'0000000000'100'00000'1010111;
constexpr uint32_t kVrsubVx = 0b000011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVrsubVi = 0b000011'0'0000000000'011'00000'1010111;
constexpr uint32_t kVminuVv = 0b000100'0'0000000000'000'00000'1010111;
constexpr uint32_t kVminuVx = 0b000100'0'0000000000'100'00000'1010111;
constexpr uint32_t kVminVv = 0b000101'0'0000000000'000'00000'1010111;
constexpr uint32_t kVminVx = 0b000101'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmaxuVv = 0b000110'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmaxuVx = 0b000110'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmaxVv = 0b000111'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmaxVx = 0b000111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVandVv = 0b001001'0'0000000000'000'00000'1010111;
constexpr uint32_t kVandVx = 0b001001'0'0000000000'100'00000'1010111;
constexpr uint32_t kVandVi = 0b001001'0'0000000000'011'00000'1010111;
constexpr uint32_t kVorVv = 0b001010'0'0000000000'000'00000'1010111;
constexpr uint32_t kVorVx = 0b001010'0'0000000000'100'00000'1010111;
constexpr uint32_t kVorVi = 0b001010'0'0000000000'011'00000'1010111;
constexpr uint32_t kVxorVv = 0b001011'0'0000000000'000'00000'1010111;
constexpr uint32_t kVxorVx = 0b001011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVxorVi = 0b001011'0'0000000000'011'00000'1010111;
constexpr uint32_t kVrgatherVv = 0b001100'0'0000000000'000'00000'1010111;
constexpr uint32_t kVrgatherVx = 0b001100'0'0000000000'100'00000'1010111;
constexpr uint32_t kVrgatherVi = 0b001100'0'0000000000'011'00000'1010111;
constexpr uint32_t kVrgatherei16Vv = 0b001110'0'0000000000'000'00000'1010111;
constexpr uint32_t kVslideupVx = 0b001110'0'0000000000'100'00000'1010111;
constexpr uint32_t kVslideupVi = 0b001110'0'0000000000'011'00000'1010111;
constexpr uint32_t kVslidedownVx = 0b001111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVslidedownVi = 0b001111'0'0000000000'011'00000'1010111;
constexpr uint32_t kVadcVv = 0b010000'0'0000000000'000'00001'1010111;
constexpr uint32_t kVadcVx = 0b010000'0'0000000000'100'00001'1010111;
constexpr uint32_t kVadcVi = 0b010000'0'0000000000'011'00001'1010111;
constexpr uint32_t kVmadcVv = 0b010001'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmadcVx = 0b010001'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmadcVi = 0b010001'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsbcVv = 0b010010'0'0000000000'000'00001'1010111;
constexpr uint32_t kVsbcVx = 0b010010'0'0000000000'100'00001'1010111;
constexpr uint32_t kVmsbcVv = 0b010011'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsbcVx = 0b010011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmergeVv = 0b010111'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmergeVx = 0b010111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmergeVi = 0b010111'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmvVv = 0b010111'1'0000000000'000'00000'1010111;
constexpr uint32_t kVmvVx = 0b010111'1'0000000000'100'00000'1010111;
constexpr uint32_t kVmvVi = 0b010111'1'0000000000'011'00000'1010111;
constexpr uint32_t kVmseqVv = 0b011000'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmseqVx = 0b011000'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmseqVi = 0b011000'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmsneVv = 0b011001'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsneVx = 0b011001'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsneVi = 0b011001'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmsltuVv = 0b011010'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsltuVx = 0b011010'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsltVv = 0b011011'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsltVx = 0b011011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsleuVv = 0b011100'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsleuVx = 0b011100'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsleuVi = 0b011100'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmsleVv = 0b011101'0'0000000000'000'00000'1010111;
constexpr uint32_t kVmsleVx = 0b011101'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsleVi = 0b011101'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmsgtuVx = 0b011110'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsgtuVi = 0b011110'0'0000000000'011'00000'1010111;
constexpr uint32_t kVmsgtVx = 0b011111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmsgtVi = 0b011111'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsadduVv = 0b100000'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsadduVx = 0b100000'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsadduVi = 0b100000'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsaddVv = 0b100001'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsaddVx = 0b100001'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsaddVi = 0b100001'0'0000000000'011'00000'1010111;
constexpr uint32_t kVssubuVv = 0b100010'0'0000000000'000'00000'1010111;
constexpr uint32_t kVssubuVx = 0b100010'0'0000000000'100'00000'1010111;
constexpr uint32_t kVssubVv = 0b100011'0'0000000000'000'00000'1010111;
constexpr uint32_t kVssubVx = 0b100011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsllVv = 0b100101'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsllVx = 0b100101'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsllVi = 0b100101'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsmulVv = 0b100111'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsmulVx = 0b100111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVmv1rVi = 0b100111'0'00000'00000'011'00000'1010111;
constexpr uint32_t kVmv2rVi = 0b100111'0'00000'00001'011'00000'1010111;
constexpr uint32_t kVmv4rVi = 0b100111'0'00000'00011'011'00000'1010111;
constexpr uint32_t kVmv8rVi = 0b100111'0'00000'00111'011'00000'1010111;
constexpr uint32_t kVsrlVv = 0b101000'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsrlVx = 0b101000'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsrlVi = 0b101000'0'0000000000'011'00000'1010111;
constexpr uint32_t kVsraVv = 0b101001'0'0000000000'000'00000'1010111;
constexpr uint32_t kVsraVx = 0b101001'0'0000000000'100'00000'1010111;
constexpr uint32_t kVsraVi = 0b101001'0'0000000000'011'00000'1010111;
constexpr uint32_t kVssrlVv = 0b101010'0'0000000000'000'00000'1010111;
constexpr uint32_t kVssrlVx = 0b101010'0'0000000000'100'00000'1010111;
constexpr uint32_t kVssrlVi = 0b101010'0'0000000000'011'00000'1010111;
constexpr uint32_t kVssraVv = 0b101011'0'0000000000'000'00000'1010111;
constexpr uint32_t kVssraVx = 0b101011'0'0000000000'100'00000'1010111;
constexpr uint32_t kVssraVi = 0b101011'0'0000000000'011'00000'1010111;
constexpr uint32_t kVnsrlVv = 0b101100'0'0000000000'000'00000'1010111;
constexpr uint32_t kVnsrlVx = 0b101100'0'0000000000'100'00000'1010111;
constexpr uint32_t kVnsrlVi = 0b101100'0'0000000000'011'00000'1010111;
constexpr uint32_t kVnsraVv = 0b101101'0'0000000000'000'00000'1010111;
constexpr uint32_t kVnsraVx = 0b101101'0'0000000000'100'00000'1010111;
constexpr uint32_t kVnsraVi = 0b101101'0'0000000000'011'00000'1010111;
constexpr uint32_t kVnclipuVv = 0b101110'0'0000000000'000'00000'1010111;
constexpr uint32_t kVnclipuVx = 0b101110'0'0000000000'100'00000'1010111;
constexpr uint32_t kVnclipuVi = 0b101110'0'0000000000'011'00000'1010111;
constexpr uint32_t kVnclipVv = 0b101111'0'0000000000'000'00000'1010111;
constexpr uint32_t kVnclipVx = 0b101111'0'0000000000'100'00000'1010111;
constexpr uint32_t kVnclipVi = 0b101111'0'0000000000'011'00000'1010111;
constexpr uint32_t kVwredsumuVv = 0b110000'0'0000000000'000'00000'1010111;
constexpr uint32_t kVwredsumVv = 0b110001'0'0000000000'000'00000'1010111;

// Integer Vector OPMVV, OPMVX
constexpr uint32_t kVredsumVv = 0b000000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredandVv = 0b000001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredorVv = 0b000010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredxorVv = 0b000011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredminuVv = 0b000100'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredminVv = 0b000101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredmaxuVv = 0b000110'0'0000000000'010'00000'1010111;
constexpr uint32_t kVredmaxVv = 0b000111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVaadduVv = 0b001000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVaadduVx = 0b001000'0'0000000000'110'00000'1010111;
constexpr uint32_t kVaaddVv = 0b001001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVaaddVx = 0b001001'0'0000000000'110'00000'1010111;
constexpr uint32_t kVasubuVv = 0b001010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVasubuVx = 0b001010'0'0000000000'110'00000'1010111;
constexpr uint32_t kVasubVv = 0b001011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVasubVx = 0b001011'0'0000000000'110'00000'1010111;
constexpr uint32_t kVslide1upVx = 0b001110'0'0000000000'110'00000'1010111;
constexpr uint32_t kVslide1downVx = 0b001111'0'0000000000'110'00000'1010111;
constexpr uint32_t kVcompressVv = 0b010111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmandnotVv = 0b011000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmandVv = 0b011001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmorVv = 0b011010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmxorVv = 0b011011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmornotVv = 0b011100'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmnandVv = 0b011101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmnorVv = 0b011110'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmxnorVv = 0b011111'0'0000000000'010'00000'1010111;

constexpr uint32_t kVdivuVv = 0b100000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVdivuVx = 0b100000'0'0000000000'110'00000'1010111;
constexpr uint32_t kVdivVv = 0b100001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVdivVx = 0b100001'0'0000000000'110'00000'1010111;
constexpr uint32_t kVremuVv = 0b100010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVremuVx = 0b100010'0'0000000000'110'00000'1010111;
constexpr uint32_t kVremVv = 0b100011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVremVx = 0b100011'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmulhuVv = 0b100100'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmulhuVx = 0b100100'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmulVv = 0b100101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmulVx = 0b100101'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmulhsuVv = 0b100110'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmulhsuVx = 0b100110'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmulhVv = 0b100111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmulhVx = 0b100111'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmaddVv = 0b101001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmaddVx = 0b101001'0'0000000000'110'00000'1010111;
constexpr uint32_t kVnmsubVv = 0b101011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVnmsubVx = 0b101011'0'0000000000'110'00000'1010111;
constexpr uint32_t kVmaccVv = 0b101101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVmaccVx = 0b101101'0'0000000000'110'00000'1010111;
constexpr uint32_t kVnmsacVv = 0b101111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVnmsacVx = 0b101111'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwadduVv = 0b110000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwadduVx = 0b110000'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwaddVv = 0b110001'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwaddVx = 0b110001'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwsubuVv = 0b110010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwsubuVx = 0b110010'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwsubVv = 0b110011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwsubVx = 0b110011'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwadduWVv = 0b110100'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwadduWVx = 0b110100'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwaddWVv = 0b110101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwaddWVx = 0b110101'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwsubuWVv = 0b110110'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwsubuWVx = 0b110110'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwsubWVv = 0b110111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwsubWVx = 0b110111'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmuluVv = 0b111000'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmuluVx = 0b111000'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmulsuVv = 0b111010'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmulsuVx = 0b111010'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmulVv = 0b111011'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmulVx = 0b111011'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmaccuVv = 0b111100'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmaccuVx = 0b111100'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmaccVv = 0b111101'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmaccVx = 0b111101'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmaccusVv = 0b111110'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmaccusVx = 0b111110'0'0000000000'110'00000'1010111;
constexpr uint32_t kVwmaccsuVv = 0b111111'0'0000000000'010'00000'1010111;
constexpr uint32_t kVwmaccsuVx = 0b111111'0'0000000000'110'00000'1010111;

// FP Vector OPFVV, OPFVF
constexpr uint32_t kVfaddVv = 0b000000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfaddVf = 0b000000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfredusumVv = 0b000001'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsubVv = 0b000010'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsubVf = 0b000010'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfredosumVv = 0b000011'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfminVv = 0b000100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfminVf = 0b000100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfredminVv = 0b000101'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmaxVv = 0b000110'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmaxVf = 0b000110'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfredmaxVv = 0b000111'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsgnjVv = 0b001000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsgnjVf = 0b001000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfsgnjnVv = 0b001001'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsgnjnVf = 0b001001'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfsgnjxVv = 0b001010'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfsgnjxVf = 0b001010'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfslide1upVf = 0b001110'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfslide1downVf = 0b001111'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmergeVf = 0b010111'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfeqVv = 0b011000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVmfeqVf = 0b011000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfleVv = 0b011001'0'0000000000'001'00000'1010111;
constexpr uint32_t kVmfleVf = 0b011001'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfltVv = 0b011011'0'0000000000'001'00000'1010111;
constexpr uint32_t kVmfltVf = 0b011011'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfneVv = 0b011100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVmfneVf = 0b011100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfgtVf = 0b011101'0'0000000000'101'00000'1010111;
constexpr uint32_t kVmfgeVf = 0b011111'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfdivVv = 0b100000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfdivVf = 0b100000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfrdivVf = 0b100001'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmulVv = 0b100100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmulVf = 0b100100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfrsubVf = 0b100111'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmaddVv = 0b101000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmaddVf = 0b101000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfnmaddVv = 0b101001'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfnmaddVf = 0b101001'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmsubVv = 0b101010'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmsubVf = 0b101010'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfnmsubVv = 0b101011'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfnmsubVf = 0b101011'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmaccVv = 0b101100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmaccVf = 0b101100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfnmaccVv = 0b101101'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfnmaccVf = 0b101101'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfmsacVv = 0b101110'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfmsacVf = 0b101110'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfnmsacVv = 0b101111'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfnmsacVf = 0b101111'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwaddVv = 0b110000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwaddVf = 0b110000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwredusumVv = 0b110001'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwsubVv = 0b110010'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwsubVf = 0b110010'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwredosumVv = 0b110011'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwaddWVv = 0b110100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwaddWVf = 0b110100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwsubWVv = 0b110110'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwsubWVf = 0b110110'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwmulVv = 0b111000'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwmulVf = 0b111000'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwmaccVv = 0b111100'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwmaccVf = 0b111100'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwnmaccVv = 0b111101'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwnmaccVf = 0b111101'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwmsacVv = 0b111110'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwmsacVf = 0b111110'0'0000000000'101'00000'1010111;
constexpr uint32_t kVfwnmsacVv = 0b111111'0'0000000000'001'00000'1010111;
constexpr uint32_t kVfwnmsacVf = 0b111111'0'0000000000'101'00000'1010111;

// VWXUNARY0
constexpr uint32_t kVmvXS = 0b010000'0'00000'00000'010'00000'1010111;
constexpr uint32_t kVcpop = 0b010000'0'00000'10000'010'00000'1010111;
constexpr uint32_t kVfirst = 0b010000'0'00000'10001'010'00000'1010111;

// VRXUNARY0
constexpr uint32_t kVmvSX = 0b010000'0'00000'00000'110'00000'1010111;

// VXUNARY0
constexpr uint32_t kVzextVf8 = 0b010010'0'00000'00010'010'00000'1010111;
constexpr uint32_t kVsextVf8 = 0b010010'0'00000'00011'010'00000'1010111;
constexpr uint32_t kVzextVf4 = 0b010010'0'00000'00100'010'00000'1010111;
constexpr uint32_t kVsextVf4 = 0b010010'0'00000'00101'010'00000'1010111;
constexpr uint32_t kVzextVf2 = 0b010010'0'00000'00110'010'00000'1010111;
constexpr uint32_t kVsextVf2 = 0b010010'0'00000'00111'010'00000'1010111;

// VMUNARY0
constexpr uint32_t kVmsbf = 0b010100'0'00000'00001'010'00000'1010111;
constexpr uint32_t kVmsof = 0b010100'0'00000'00010'010'00000'1010111;
constexpr uint32_t kVmsif = 0b010100'0'00000'00011'010'00000'1010111;
constexpr uint32_t kViota = 0b010100'0'00000'10000'010'00000'1010111;
constexpr uint32_t kVid = 0b010100'0'00000'10001'010'00000'1010111;

// VWFUNARY0
constexpr uint32_t kVfmvFS = 0b010000'0'00000'00000'001'00000'1010111;

// VRFUNARY0
constexpr uint32_t kVfmvSF = 0b010000'0'00000'00000'101'00000'1010111;

// VFUNARY0
constexpr uint32_t kVfcvtXuFV = 0b010010'0'00000'00000'001'00000'1010111;
constexpr uint32_t kVfcvtXFV = 0b010010'0'00000'00001'001'00000'1010111;
constexpr uint32_t kVfcvtFXuV = 0b010010'0'00000'00010'001'00000'1010111;
constexpr uint32_t kVfcvtFXV = 0b010010'0'00000'00011'001'00000'1010111;
constexpr uint32_t kVfcvtRtzXuFV = 0b010010'0'00000'00110'001'00000'1010111;
constexpr uint32_t kVfcvtRtzXFV = 0b010010'0'00000'00111'001'00000'1010111;

constexpr uint32_t kVfwcvtXuFV = 0b010010'0'00000'01000'001'00000'1010111;
constexpr uint32_t kVfwcvtXFV = 0b010010'0'00000'01001'001'00000'1010111;
constexpr uint32_t kVfwcvtFXuV = 0b010010'0'00000'01010'001'00000'1010111;
constexpr uint32_t kVfwcvtFXV = 0b010010'0'00000'01011'001'00000'1010111;
constexpr uint32_t kVfwcvtFFV = 0b010010'0'00000'01100'001'00000'1010111;
constexpr uint32_t kVfwcvtRtzXuFV = 0b010010'0'00000'01110'001'00000'1010111;
constexpr uint32_t kVfwcvtRtzXFV = 0b010010'0'00000'01111'001'00000'1010111;

constexpr uint32_t kVfncvtXuFW = 0b010010'0'00000'10000'001'00000'1010111;
constexpr uint32_t kVfncvtXFW = 0b010010'0'00000'10001'001'00000'1010111;
constexpr uint32_t kVfncvtFXuW = 0b010010'0'00000'10010'001'00000'1010111;
constexpr uint32_t kVfncvtFXW = 0b010010'0'00000'10011'001'00000'1010111;
constexpr uint32_t kVfncvtFFW = 0b010010'0'00000'10100'001'00000'1010111;
constexpr uint32_t kVfncvtRodFFW = 0b010010'0'00000'10101'001'00000'1010111;
constexpr uint32_t kVfncvtRtzXuFW = 0b010010'0'00000'10110'001'00000'1010111;
constexpr uint32_t kVfncvtRtzXFW = 0b010010'0'00000'10111'001'00000'1010111;

// VFUNARY1
constexpr uint32_t kVfsqrtV = 0b010011'0'00000'00000'001'00000'1010111;
constexpr uint32_t kVfrsqrt7V = 0b010011'0'00000'00100'001'00000'1010111;
constexpr uint32_t kVfrec7V = 0b010011'0'00000'00101'001'00000'1010111;
constexpr uint32_t kVfclassV = 0b010011'0'00000'10000'001'00000'1010111;

constexpr int kRdValue = 1;
constexpr int kSuccValue = 0xf;
constexpr int kPredValue = 0xf;

static uint32_t SetRd(uint32_t iword, uint32_t rdval) {
  return (iword | ((rdval & 0x1f) << 7));
}

static uint32_t SetRs1(uint32_t iword, uint32_t rsval) {
  return (iword | ((rsval & 0x1f) << 15));
}

static uint32_t SetPred(uint32_t iword, uint32_t pred) {
  return (iword | ((pred & 0xf) << 24));
}

static uint32_t SetSucc(uint32_t iword, uint32_t succ) {
  return (iword | ((succ & 0xf) << 20));
}

static uint32_t Set16Rd(uint32_t iword, uint32_t val) {
  return (iword | ((val & 0x1f) << 7));
}

static uint32_t Set16Rs2(uint32_t iword, uint32_t val) {
  return (iword | ((val & 0x1f) << 2));
}

static uint32_t SetNf(uint32_t iword, uint32_t nf) {
  return (iword | ((nf & 0x7) << 29));
}

// This test is only used to make sure all functions and variables are used,
// instead of deleting them and then having to put them back later as more
// encodings are added.
TEST(RiscV32GVBinDecoderTest, None) {
  (void)kRdValue;
  (void)kSuccValue;
  (void)kPredValue;
  (void)SetRd(0, 0);
  (void)SetRs1(0, 0);
  (void)SetPred(0, 0);
  (void)SetSucc(0, 0);
  (void)Set16Rd(0, 0);
  (void)Set16Rs2(0, 0);
}

TEST(RiscV32GVBinDecoderTest, VectorConfig) {
  EXPECT_EQ(DecodeRiscV32GV(kVsetvli_xn), OpcodeEnum::kVsetvliXn);
  EXPECT_EQ(DecodeRiscV32GV(kVsetvli_nz), OpcodeEnum::kVsetvliNz);
  EXPECT_EQ(DecodeRiscV32GV(kVsetvli_zz), OpcodeEnum::kVsetvliZz);
  EXPECT_EQ(DecodeRiscV32GV(kVsetivli), OpcodeEnum::kVsetivli);
  EXPECT_EQ(DecodeRiscV32GV(kVsetvl_xn), OpcodeEnum::kVsetvlXn);
  EXPECT_EQ(DecodeRiscV32GV(kVsetvl_nz), OpcodeEnum::kVsetvlNz);
  EXPECT_EQ(DecodeRiscV32GV(kVsetvl_zz), OpcodeEnum::kVsetvlZz);
}

TEST(RiscV32GVBinDecoderTest, VectorLoads) {
  EXPECT_EQ(DecodeRiscV32GV(kVle8), OpcodeEnum::kVle8);
  EXPECT_EQ(DecodeRiscV32GV(kVle16), OpcodeEnum::kVle16);
  EXPECT_EQ(DecodeRiscV32GV(kVle32), OpcodeEnum::kVle32);
  EXPECT_EQ(DecodeRiscV32GV(kVle64), OpcodeEnum::kVle64);

  EXPECT_EQ(DecodeRiscV32GV(kVlm), OpcodeEnum::kVlm);

  EXPECT_EQ(DecodeRiscV32GV(kVle8ff), OpcodeEnum::kVle8ff);
  EXPECT_EQ(DecodeRiscV32GV(kVle16ff), OpcodeEnum::kVle16ff);
  EXPECT_EQ(DecodeRiscV32GV(kVle32ff), OpcodeEnum::kVle32ff);
  EXPECT_EQ(DecodeRiscV32GV(kVle64ff), OpcodeEnum::kVle64ff);

  EXPECT_EQ(DecodeRiscV32GV(kVl1re8), OpcodeEnum::kVl1re8);
  EXPECT_EQ(DecodeRiscV32GV(kVl1re16), OpcodeEnum::kVl1re16);
  EXPECT_EQ(DecodeRiscV32GV(kVl1re32), OpcodeEnum::kVl1re32);
  EXPECT_EQ(DecodeRiscV32GV(kVl1re64), OpcodeEnum::kVl1re64);
  EXPECT_EQ(DecodeRiscV32GV(kVl2re8), OpcodeEnum::kVl2re8);
  EXPECT_EQ(DecodeRiscV32GV(kVl2re16), OpcodeEnum::kVl2re16);
  EXPECT_EQ(DecodeRiscV32GV(kVl2re32), OpcodeEnum::kVl2re32);
  EXPECT_EQ(DecodeRiscV32GV(kVl2re64), OpcodeEnum::kVl2re64);
  EXPECT_EQ(DecodeRiscV32GV(kVl4re8), OpcodeEnum::kVl4re8);
  EXPECT_EQ(DecodeRiscV32GV(kVl4re16), OpcodeEnum::kVl4re16);
  EXPECT_EQ(DecodeRiscV32GV(kVl4re32), OpcodeEnum::kVl4re32);
  EXPECT_EQ(DecodeRiscV32GV(kVl4re64), OpcodeEnum::kVl4re64);
  EXPECT_EQ(DecodeRiscV32GV(kVl8re8), OpcodeEnum::kVl8re8);
  EXPECT_EQ(DecodeRiscV32GV(kVl8re16), OpcodeEnum::kVl8re16);
  EXPECT_EQ(DecodeRiscV32GV(kVl8re32), OpcodeEnum::kVl8re32);
  EXPECT_EQ(DecodeRiscV32GV(kVl8re64), OpcodeEnum::kVl8re64);

  EXPECT_EQ(DecodeRiscV32GV(kVlse8), OpcodeEnum::kVlse8);
  EXPECT_EQ(DecodeRiscV32GV(kVlse16), OpcodeEnum::kVlse16);
  EXPECT_EQ(DecodeRiscV32GV(kVlse32), OpcodeEnum::kVlse32);
  EXPECT_EQ(DecodeRiscV32GV(kVlse64), OpcodeEnum::kVlse64);

  EXPECT_EQ(DecodeRiscV32GV(kVluxei8), OpcodeEnum::kVluxei8);
  EXPECT_EQ(DecodeRiscV32GV(kVluxei16), OpcodeEnum::kVluxei16);
  EXPECT_EQ(DecodeRiscV32GV(kVluxei32), OpcodeEnum::kVluxei32);
  EXPECT_EQ(DecodeRiscV32GV(kVluxei64), OpcodeEnum::kVluxei64);

  EXPECT_EQ(DecodeRiscV32GV(kVloxei8), OpcodeEnum::kVloxei8);
  EXPECT_EQ(DecodeRiscV32GV(kVloxei16), OpcodeEnum::kVloxei16);
  EXPECT_EQ(DecodeRiscV32GV(kVloxei32), OpcodeEnum::kVloxei32);
  EXPECT_EQ(DecodeRiscV32GV(kVloxei64), OpcodeEnum::kVloxei64);

  for (int nf = 1; nf < 8; nf++) {
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlsegNFe8, nf)), OpcodeEnum::kVlsege8);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlsegNFe16, nf)), OpcodeEnum::kVlsege16);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlsegNFe32, nf)), OpcodeEnum::kVlsege32);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlsegNFe64, nf)), OpcodeEnum::kVlsege64);
  }

  for (int nf = 1; nf < 8; nf++) {
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlssegNFe8, nf)), OpcodeEnum::kVlssege8);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlssegNFe16, nf)), OpcodeEnum::kVlssege16);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlssegNFe32, nf)), OpcodeEnum::kVlssege32);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVlssegNFe64, nf)), OpcodeEnum::kVlssege64);
  }

  for (int nf = 1; nf < 8; nf++) {
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVluxsegNFei8, nf)),
              OpcodeEnum::kVluxsegei8);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVluxsegNFei16, nf)),
              OpcodeEnum::kVluxsegei16);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVluxsegNFei32, nf)),
              OpcodeEnum::kVluxsegei32);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVluxsegNFei64, nf)),
              OpcodeEnum::kVluxsegei64);
  }

  for (int nf = 1; nf < 8; nf++) {
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVloxsegNFei8, nf)),
              OpcodeEnum::kVloxsegei8);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVloxsegNFei16, nf)),
              OpcodeEnum::kVloxsegei16);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVloxsegNFei32, nf)),
              OpcodeEnum::kVloxsegei32);
    EXPECT_EQ(DecodeRiscV32GV(SetNf(kVloxsegNFei64, nf)),
              OpcodeEnum::kVloxsegei64);
  }
}

TEST(RiscV32GVBinDecoderTest, VectorStores) {
  // Unit stride.
  EXPECT_EQ(DecodeRiscV32GV(kVse8), OpcodeEnum::kVse8);
  EXPECT_EQ(DecodeRiscV32GV(kVse16), OpcodeEnum::kVse16);
  EXPECT_EQ(DecodeRiscV32GV(kVse32), OpcodeEnum::kVse32);
  EXPECT_EQ(DecodeRiscV32GV(kVse64), OpcodeEnum::kVse64);
  // Store mask.
  EXPECT_EQ(DecodeRiscV32GV(kVsm), OpcodeEnum::kVsm);
  // Unit stride, fail first.
  EXPECT_EQ(DecodeRiscV32GV(kVse8ff), OpcodeEnum::kVse8ff);
  EXPECT_EQ(DecodeRiscV32GV(kVse16ff), OpcodeEnum::kVse16ff);
  EXPECT_EQ(DecodeRiscV32GV(kVse32ff), OpcodeEnum::kVse32ff);
  EXPECT_EQ(DecodeRiscV32GV(kVse64ff), OpcodeEnum::kVse64ff);
  // Store whole register.
  EXPECT_EQ(DecodeRiscV32GV(kVs1re8), OpcodeEnum::kVs1re8);
  EXPECT_EQ(DecodeRiscV32GV(kVs1re16), OpcodeEnum::kVs1re16);
  EXPECT_EQ(DecodeRiscV32GV(kVs1re32), OpcodeEnum::kVs1re32);
  EXPECT_EQ(DecodeRiscV32GV(kVs1re64), OpcodeEnum::kVs1re64);
  EXPECT_EQ(DecodeRiscV32GV(kVs2re8), OpcodeEnum::kVs2re8);
  EXPECT_EQ(DecodeRiscV32GV(kVs2re16), OpcodeEnum::kVs2re16);
  EXPECT_EQ(DecodeRiscV32GV(kVs2re32), OpcodeEnum::kVs2re32);
  EXPECT_EQ(DecodeRiscV32GV(kVs2re64), OpcodeEnum::kVs2re64);
  EXPECT_EQ(DecodeRiscV32GV(kVs4re8), OpcodeEnum::kVs4re8);
  EXPECT_EQ(DecodeRiscV32GV(kVs4re16), OpcodeEnum::kVs4re16);
  EXPECT_EQ(DecodeRiscV32GV(kVs4re32), OpcodeEnum::kVs4re32);
  EXPECT_EQ(DecodeRiscV32GV(kVs4re64), OpcodeEnum::kVs4re64);
  EXPECT_EQ(DecodeRiscV32GV(kVs8re8), OpcodeEnum::kVs8re8);
  EXPECT_EQ(DecodeRiscV32GV(kVs8re16), OpcodeEnum::kVs8re16);
  EXPECT_EQ(DecodeRiscV32GV(kVs8re32), OpcodeEnum::kVs8re32);
  EXPECT_EQ(DecodeRiscV32GV(kVs8re64), OpcodeEnum::kVs8re64);
  // Store strided.
  EXPECT_EQ(DecodeRiscV32GV(kVsse8), OpcodeEnum::kVsse8);
  EXPECT_EQ(DecodeRiscV32GV(kVsse16), OpcodeEnum::kVsse16);
  EXPECT_EQ(DecodeRiscV32GV(kVsse32), OpcodeEnum::kVsse32);
  EXPECT_EQ(DecodeRiscV32GV(kVsse64), OpcodeEnum::kVsse64);
  // Store indexed, unordered.
  EXPECT_EQ(DecodeRiscV32GV(kVsuxei8), OpcodeEnum::kVsuxei8);
  EXPECT_EQ(DecodeRiscV32GV(kVsuxei16), OpcodeEnum::kVsuxei16);
  EXPECT_EQ(DecodeRiscV32GV(kVsuxei32), OpcodeEnum::kVsuxei32);
  EXPECT_EQ(DecodeRiscV32GV(kVsuxei64), OpcodeEnum::kVsuxei64);
  // Store indexed, ordered.
  EXPECT_EQ(DecodeRiscV32GV(kVsoxei8), OpcodeEnum::kVsoxei8);
  EXPECT_EQ(DecodeRiscV32GV(kVsoxei16), OpcodeEnum::kVsoxei16);
  EXPECT_EQ(DecodeRiscV32GV(kVsoxei32), OpcodeEnum::kVsoxei32);
  EXPECT_EQ(DecodeRiscV32GV(kVsoxei64), OpcodeEnum::kVsoxei64);
}

TEST(RiscV32GVBinDecoderTest, OPIVV_OPIVX_OPIVI) {
  EXPECT_EQ(DecodeRiscV32GV(kVaddVv), OpcodeEnum::kVaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVaddVx), OpcodeEnum::kVaddVx);
  EXPECT_EQ(DecodeRiscV32GV(kVaddVi), OpcodeEnum::kVaddVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsubVv), OpcodeEnum::kVsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsubVx), OpcodeEnum::kVsubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVrsubVx), OpcodeEnum::kVrsubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVrsubVi), OpcodeEnum::kVrsubVi);
  EXPECT_EQ(DecodeRiscV32GV(kVminuVv), OpcodeEnum::kVminuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVminuVx), OpcodeEnum::kVminuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVminVv), OpcodeEnum::kVminVv);
  EXPECT_EQ(DecodeRiscV32GV(kVminVx), OpcodeEnum::kVminVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmaxuVv), OpcodeEnum::kVmaxuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmaxuVx), OpcodeEnum::kVmaxuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmaxVv), OpcodeEnum::kVmaxVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmaxVx), OpcodeEnum::kVmaxVx);
  EXPECT_EQ(DecodeRiscV32GV(kVandVv), OpcodeEnum::kVandVv);
  EXPECT_EQ(DecodeRiscV32GV(kVandVx), OpcodeEnum::kVandVx);
  EXPECT_EQ(DecodeRiscV32GV(kVandVi), OpcodeEnum::kVandVi);
  EXPECT_EQ(DecodeRiscV32GV(kVorVv), OpcodeEnum::kVorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVorVx), OpcodeEnum::kVorVx);
  EXPECT_EQ(DecodeRiscV32GV(kVorVi), OpcodeEnum::kVorVi);
  EXPECT_EQ(DecodeRiscV32GV(kVxorVv), OpcodeEnum::kVxorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVxorVx), OpcodeEnum::kVxorVx);
  EXPECT_EQ(DecodeRiscV32GV(kVxorVi), OpcodeEnum::kVxorVi);
  EXPECT_EQ(DecodeRiscV32GV(kVrgatherVv), OpcodeEnum::kVrgatherVv);
  EXPECT_EQ(DecodeRiscV32GV(kVrgatherVx), OpcodeEnum::kVrgatherVx);
  EXPECT_EQ(DecodeRiscV32GV(kVrgatherVi), OpcodeEnum::kVrgatherVi);
  EXPECT_EQ(DecodeRiscV32GV(kVrgatherei16Vv), OpcodeEnum::kVrgatherei16Vv);
  EXPECT_EQ(DecodeRiscV32GV(kVslideupVx), OpcodeEnum::kVslideupVx);
  EXPECT_EQ(DecodeRiscV32GV(kVslideupVi), OpcodeEnum::kVslideupVi);
  EXPECT_EQ(DecodeRiscV32GV(kVslidedownVx), OpcodeEnum::kVslidedownVx);
  EXPECT_EQ(DecodeRiscV32GV(kVslidedownVi), OpcodeEnum::kVslidedownVi);
  EXPECT_EQ(DecodeRiscV32GV(kVadcVv), OpcodeEnum::kVadcVv);
  EXPECT_EQ(DecodeRiscV32GV(kVadcVx), OpcodeEnum::kVadcVx);
  EXPECT_EQ(DecodeRiscV32GV(kVadcVi), OpcodeEnum::kVadcVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmadcVv), OpcodeEnum::kVmadcVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmadcVx), OpcodeEnum::kVmadcVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmadcVi), OpcodeEnum::kVmadcVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsbcVv), OpcodeEnum::kVsbcVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsbcVx), OpcodeEnum::kVsbcVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsbcVv), OpcodeEnum::kVmsbcVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsbcVx), OpcodeEnum::kVmsbcVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmergeVv), OpcodeEnum::kVmergeVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmergeVx), OpcodeEnum::kVmergeVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmergeVi), OpcodeEnum::kVmergeVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmvVv), OpcodeEnum::kVmvVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmvVx), OpcodeEnum::kVmvVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmvVi), OpcodeEnum::kVmvVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmseqVv), OpcodeEnum::kVmseqVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmseqVx), OpcodeEnum::kVmseqVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmseqVi), OpcodeEnum::kVmseqVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmsneVv), OpcodeEnum::kVmsneVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsneVx), OpcodeEnum::kVmsneVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsneVi), OpcodeEnum::kVmsneVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmsltuVv), OpcodeEnum::kVmsltuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsltuVx), OpcodeEnum::kVmsltuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsltVv), OpcodeEnum::kVmsltVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsltVx), OpcodeEnum::kVmsltVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleuVv), OpcodeEnum::kVmsleuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleuVx), OpcodeEnum::kVmsleuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleuVi), OpcodeEnum::kVmsleuVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleVv), OpcodeEnum::kVmsleVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleVx), OpcodeEnum::kVmsleVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsleVi), OpcodeEnum::kVmsleVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmsgtuVx), OpcodeEnum::kVmsgtuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsgtuVi), OpcodeEnum::kVmsgtuVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmsgtVx), OpcodeEnum::kVmsgtVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmsgtVi), OpcodeEnum::kVmsgtVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsadduVv), OpcodeEnum::kVsadduVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsadduVx), OpcodeEnum::kVsadduVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsadduVi), OpcodeEnum::kVsadduVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsaddVv), OpcodeEnum::kVsaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsaddVx), OpcodeEnum::kVsaddVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsaddVi), OpcodeEnum::kVsaddVi);
  EXPECT_EQ(DecodeRiscV32GV(kVssubuVv), OpcodeEnum::kVssubuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVssubuVx), OpcodeEnum::kVssubuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVssubVv), OpcodeEnum::kVssubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVssubVx), OpcodeEnum::kVssubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsllVv), OpcodeEnum::kVsllVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsllVx), OpcodeEnum::kVsllVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsllVi), OpcodeEnum::kVsllVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsmulVv), OpcodeEnum::kVsmulVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsmulVx), OpcodeEnum::kVsmulVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmv1rVi), OpcodeEnum::kVmv1rVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmv2rVi), OpcodeEnum::kVmv2rVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmv4rVi), OpcodeEnum::kVmv4rVi);
  EXPECT_EQ(DecodeRiscV32GV(kVmv8rVi), OpcodeEnum::kVmv8rVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsrlVv), OpcodeEnum::kVsrlVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsrlVx), OpcodeEnum::kVsrlVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsrlVi), OpcodeEnum::kVsrlVi);
  EXPECT_EQ(DecodeRiscV32GV(kVsraVv), OpcodeEnum::kVsraVv);
  EXPECT_EQ(DecodeRiscV32GV(kVsraVx), OpcodeEnum::kVsraVx);
  EXPECT_EQ(DecodeRiscV32GV(kVsraVi), OpcodeEnum::kVsraVi);
  EXPECT_EQ(DecodeRiscV32GV(kVssrlVv), OpcodeEnum::kVssrlVv);
  EXPECT_EQ(DecodeRiscV32GV(kVssrlVx), OpcodeEnum::kVssrlVx);
  EXPECT_EQ(DecodeRiscV32GV(kVssrlVi), OpcodeEnum::kVssrlVi);
  EXPECT_EQ(DecodeRiscV32GV(kVssraVv), OpcodeEnum::kVssraVv);
  EXPECT_EQ(DecodeRiscV32GV(kVssraVx), OpcodeEnum::kVssraVx);
  EXPECT_EQ(DecodeRiscV32GV(kVssraVi), OpcodeEnum::kVssraVi);
  EXPECT_EQ(DecodeRiscV32GV(kVnsrlVv), OpcodeEnum::kVnsrlVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnsrlVx), OpcodeEnum::kVnsrlVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnsrlVi), OpcodeEnum::kVnsrlVi);
  EXPECT_EQ(DecodeRiscV32GV(kVnsraVv), OpcodeEnum::kVnsraVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnsraVx), OpcodeEnum::kVnsraVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnsraVi), OpcodeEnum::kVnsraVi);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipuVv), OpcodeEnum::kVnclipuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipuVx), OpcodeEnum::kVnclipuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipuVi), OpcodeEnum::kVnclipuVi);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipVv), OpcodeEnum::kVnclipVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipVx), OpcodeEnum::kVnclipVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnclipVi), OpcodeEnum::kVnclipVi);
  EXPECT_EQ(DecodeRiscV32GV(kVwredsumuVv), OpcodeEnum::kVwredsumuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwredsumVv), OpcodeEnum::kVwredsumVv);
}

TEST(RiscV32GVBinDecoderTest, OPPMVV_OPMVX) {
  EXPECT_EQ(DecodeRiscV32GV(kVredsumVv), OpcodeEnum::kVredsumVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredandVv), OpcodeEnum::kVredandVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredorVv), OpcodeEnum::kVredorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredxorVv), OpcodeEnum::kVredxorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredminuVv), OpcodeEnum::kVredminuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredminVv), OpcodeEnum::kVredminVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredmaxuVv), OpcodeEnum::kVredmaxuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVredmaxVv), OpcodeEnum::kVredmaxVv);
  EXPECT_EQ(DecodeRiscV32GV(kVaadduVv), OpcodeEnum::kVaadduVv);
  EXPECT_EQ(DecodeRiscV32GV(kVaadduVx), OpcodeEnum::kVaadduVx);
  EXPECT_EQ(DecodeRiscV32GV(kVaaddVv), OpcodeEnum::kVaaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVaaddVx), OpcodeEnum::kVaaddVx);
  EXPECT_EQ(DecodeRiscV32GV(kVasubuVv), OpcodeEnum::kVasubuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVasubuVx), OpcodeEnum::kVasubuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVasubVv), OpcodeEnum::kVasubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVasubVx), OpcodeEnum::kVasubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVslide1upVx), OpcodeEnum::kVslide1upVx);
  EXPECT_EQ(DecodeRiscV32GV(kVslide1downVx), OpcodeEnum::kVslide1downVx);
  EXPECT_EQ(DecodeRiscV32GV(kVcompressVv), OpcodeEnum::kVcompressVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmandnotVv), OpcodeEnum::kVmandnotVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmandVv), OpcodeEnum::kVmandVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmorVv), OpcodeEnum::kVmorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmxorVv), OpcodeEnum::kVmxorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmornotVv), OpcodeEnum::kVmornotVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmnandVv), OpcodeEnum::kVmnandVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmnorVv), OpcodeEnum::kVmnorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmxnorVv), OpcodeEnum::kVmxnorVv);
  EXPECT_EQ(DecodeRiscV32GV(kVdivuVv), OpcodeEnum::kVdivuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVdivuVx), OpcodeEnum::kVdivuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVdivVv), OpcodeEnum::kVdivVv);
  EXPECT_EQ(DecodeRiscV32GV(kVdivVx), OpcodeEnum::kVdivVx);
  EXPECT_EQ(DecodeRiscV32GV(kVremuVv), OpcodeEnum::kVremuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVremuVx), OpcodeEnum::kVremuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVremVv), OpcodeEnum::kVremVv);
  EXPECT_EQ(DecodeRiscV32GV(kVremVx), OpcodeEnum::kVremVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhuVv), OpcodeEnum::kVmulhuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhuVx), OpcodeEnum::kVmulhuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmulVv), OpcodeEnum::kVmulVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmulVx), OpcodeEnum::kVmulVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhsuVv), OpcodeEnum::kVmulhsuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhsuVx), OpcodeEnum::kVmulhsuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhVv), OpcodeEnum::kVmulhVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmulhVx), OpcodeEnum::kVmulhVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmaddVv), OpcodeEnum::kVmaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmaddVx), OpcodeEnum::kVmaddVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnmsubVv), OpcodeEnum::kVnmsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnmsubVx), OpcodeEnum::kVnmsubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVmaccVv), OpcodeEnum::kVmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmaccVx), OpcodeEnum::kVmaccVx);
  EXPECT_EQ(DecodeRiscV32GV(kVnmsacVv), OpcodeEnum::kVnmsacVv);
  EXPECT_EQ(DecodeRiscV32GV(kVnmsacVx), OpcodeEnum::kVnmsacVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwadduVv), OpcodeEnum::kVwadduVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwadduVx), OpcodeEnum::kVwadduVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwaddVv), OpcodeEnum::kVwaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwaddVx), OpcodeEnum::kVwaddVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubuVv), OpcodeEnum::kVwsubuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubuVx), OpcodeEnum::kVwsubuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubVv), OpcodeEnum::kVwsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubVx), OpcodeEnum::kVwsubVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwadduWVv), OpcodeEnum::kVwadduWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwadduWVx), OpcodeEnum::kVwadduWVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwaddWVv), OpcodeEnum::kVwaddWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwaddWVx), OpcodeEnum::kVwaddWVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubuWVv), OpcodeEnum::kVwsubuWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubuWVx), OpcodeEnum::kVwsubuWVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubWVv), OpcodeEnum::kVwsubWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwsubWVx), OpcodeEnum::kVwsubWVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmuluVv), OpcodeEnum::kVwmuluVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmuluVx), OpcodeEnum::kVwmuluVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmulsuVv), OpcodeEnum::kVwmulsuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmulsuVx), OpcodeEnum::kVwmulsuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmulVv), OpcodeEnum::kVwmulVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmulVx), OpcodeEnum::kVwmulVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccuVv), OpcodeEnum::kVwmaccuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccuVx), OpcodeEnum::kVwmaccuVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccVv), OpcodeEnum::kVwmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccVx), OpcodeEnum::kVwmaccVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccusVv), OpcodeEnum::kVwmaccusVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccusVx), OpcodeEnum::kVwmaccusVx);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccsuVv), OpcodeEnum::kVwmaccsuVv);
  EXPECT_EQ(DecodeRiscV32GV(kVwmaccsuVx), OpcodeEnum::kVwmaccsuVx);
}

TEST(RiscV32GVBinDecoderTest, OPPFVV_OPFVF) {
  EXPECT_EQ(DecodeRiscV32GV(kVfaddVv), OpcodeEnum::kVfaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfaddVf), OpcodeEnum::kVfaddVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfredusumVv), OpcodeEnum::kVfredusumVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsubVv), OpcodeEnum::kVfsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsubVf), OpcodeEnum::kVfsubVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfredosumVv), OpcodeEnum::kVfredosumVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfminVv), OpcodeEnum::kVfminVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfminVf), OpcodeEnum::kVfminVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfredminVv), OpcodeEnum::kVfredminVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaxVv), OpcodeEnum::kVfmaxVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaxVf), OpcodeEnum::kVfmaxVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfredmaxVv), OpcodeEnum::kVfredmaxVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjVv), OpcodeEnum::kVfsgnjVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjVf), OpcodeEnum::kVfsgnjVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjnVv), OpcodeEnum::kVfsgnjnVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjnVf), OpcodeEnum::kVfsgnjnVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjxVv), OpcodeEnum::kVfsgnjxVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfsgnjxVf), OpcodeEnum::kVfsgnjxVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfslide1upVf), OpcodeEnum::kVfslide1upVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfslide1downVf), OpcodeEnum::kVfslide1downVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmergeVf), OpcodeEnum::kVfmergeVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfeqVv), OpcodeEnum::kVmfeqVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmfeqVf), OpcodeEnum::kVmfeqVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfleVv), OpcodeEnum::kVmfleVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmfleVf), OpcodeEnum::kVmfleVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfltVv), OpcodeEnum::kVmfltVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmfltVf), OpcodeEnum::kVmfltVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfneVv), OpcodeEnum::kVmfneVv);
  EXPECT_EQ(DecodeRiscV32GV(kVmfneVf), OpcodeEnum::kVmfneVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfgtVf), OpcodeEnum::kVmfgtVf);
  EXPECT_EQ(DecodeRiscV32GV(kVmfgeVf), OpcodeEnum::kVmfgeVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfdivVv), OpcodeEnum::kVfdivVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfdivVf), OpcodeEnum::kVfdivVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfrdivVf), OpcodeEnum::kVfrdivVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmulVv), OpcodeEnum::kVfmulVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmulVf), OpcodeEnum::kVfmulVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfrsubVf), OpcodeEnum::kVfrsubVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaddVv), OpcodeEnum::kVfmaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaddVf), OpcodeEnum::kVfmaddVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmaddVv), OpcodeEnum::kVfnmaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmaddVf), OpcodeEnum::kVfnmaddVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmsubVv), OpcodeEnum::kVfmsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmsubVf), OpcodeEnum::kVfmsubVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmsubVv), OpcodeEnum::kVfnmsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmsubVf), OpcodeEnum::kVfnmsubVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaccVv), OpcodeEnum::kVfmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmaccVf), OpcodeEnum::kVfmaccVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmaccVv), OpcodeEnum::kVfnmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmaccVf), OpcodeEnum::kVfnmaccVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfmsacVv), OpcodeEnum::kVfmsacVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfmsacVf), OpcodeEnum::kVfmsacVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmsacVv), OpcodeEnum::kVfnmsacVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfnmsacVf), OpcodeEnum::kVfnmsacVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwaddVv), OpcodeEnum::kVfwaddVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwaddVf), OpcodeEnum::kVfwaddVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwredusumVv), OpcodeEnum::kVfwredusumVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwsubVv), OpcodeEnum::kVfwsubVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwsubVf), OpcodeEnum::kVfwsubVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwredosumVv), OpcodeEnum::kVfwredosumVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwaddWVv), OpcodeEnum::kVfwaddWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwaddWVf), OpcodeEnum::kVfwaddWVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwsubWVv), OpcodeEnum::kVfwsubWVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwsubWVf), OpcodeEnum::kVfwsubWVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmulVv), OpcodeEnum::kVfwmulVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmulVf), OpcodeEnum::kVfwmulVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmaccVv), OpcodeEnum::kVfwmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmaccVf), OpcodeEnum::kVfwmaccVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwnmaccVv), OpcodeEnum::kVfwnmaccVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwnmaccVf), OpcodeEnum::kVfwnmaccVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmsacVv), OpcodeEnum::kVfwmsacVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwmsacVf), OpcodeEnum::kVfwmsacVf);
  EXPECT_EQ(DecodeRiscV32GV(kVfwnmsacVv), OpcodeEnum::kVfwnmsacVv);
  EXPECT_EQ(DecodeRiscV32GV(kVfwnmsacVf), OpcodeEnum::kVfwnmsacVf);
}

TEST(RiscV32GVBinDecoderTest, VWXUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVmvXS), OpcodeEnum::kVmvXS);
  EXPECT_EQ(DecodeRiscV32GV(kVcpop), OpcodeEnum::kVcpop);
  EXPECT_EQ(DecodeRiscV32GV(kVfirst), OpcodeEnum::kVfirst);
}

TEST(RiscV32GVBinDecoderTest, VRXUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVmvSX), OpcodeEnum::kVmvSX);
}

TEST(RiscV32GVBinDecoderTest, VXUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVzextVf8), OpcodeEnum::kVzextVf8);
  EXPECT_EQ(DecodeRiscV32GV(kVsextVf8), OpcodeEnum::kVsextVf8);
  EXPECT_EQ(DecodeRiscV32GV(kVzextVf4), OpcodeEnum::kVzextVf4);
  EXPECT_EQ(DecodeRiscV32GV(kVsextVf4), OpcodeEnum::kVsextVf4);
  EXPECT_EQ(DecodeRiscV32GV(kVzextVf2), OpcodeEnum::kVzextVf2);
  EXPECT_EQ(DecodeRiscV32GV(kVsextVf2), OpcodeEnum::kVsextVf2);
}

TEST(RiscV32GVBinDecoderTest, VMUNARY) {
  EXPECT_EQ(DecodeRiscV32GV(kVmsbf), OpcodeEnum::kVmsbf);
  EXPECT_EQ(DecodeRiscV32GV(kVmsof), OpcodeEnum::kVmsof);
  EXPECT_EQ(DecodeRiscV32GV(kVmsif), OpcodeEnum::kVmsif);
  EXPECT_EQ(DecodeRiscV32GV(kViota), OpcodeEnum::kViota);
  EXPECT_EQ(DecodeRiscV32GV(kVid), OpcodeEnum::kVid);
}

TEST(RiscV32GVBinDecoderTest, VWFUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVfmvFS), OpcodeEnum::kVfmvFS);
}

TEST(RiscV32GVBinDecoderTest, VRFUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVfmvSF), OpcodeEnum::kVfmvSF);
}

TEST(RiscV32GVBinDecoderTest, VFUNARY0) {
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtXuFV), OpcodeEnum::kVfcvtXuFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtXFV), OpcodeEnum::kVfcvtXFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtFXuV), OpcodeEnum::kVfcvtFXuV);
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtFXV), OpcodeEnum::kVfcvtFXV);
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtRtzXuFV), OpcodeEnum::kVfcvtRtzXuFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfcvtRtzXFV), OpcodeEnum::kVfcvtRtzXFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtXuFV), OpcodeEnum::kVfwcvtXuFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtXFV), OpcodeEnum::kVfwcvtXFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtFXuV), OpcodeEnum::kVfwcvtFXuV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtFXV), OpcodeEnum::kVfwcvtFXV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtFFV), OpcodeEnum::kVfwcvtFFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtRtzXuFV), OpcodeEnum::kVfwcvtRtzXuFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfwcvtRtzXFV), OpcodeEnum::kVfwcvtRtzXFV);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtXuFW), OpcodeEnum::kVfncvtXuFW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtXFW), OpcodeEnum::kVfncvtXFW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtFXuW), OpcodeEnum::kVfncvtFXuW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtFXW), OpcodeEnum::kVfncvtFXW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtFFW), OpcodeEnum::kVfncvtFFW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtRodFFW), OpcodeEnum::kVfncvtRodFFW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtRtzXuFW), OpcodeEnum::kVfncvtRtzXuFW);
  EXPECT_EQ(DecodeRiscV32GV(kVfncvtRtzXFW), OpcodeEnum::kVfncvtRtzXFW);
}

TEST(RiscV32GVBinDecoderTest, VFUNARY1) {
  EXPECT_EQ(DecodeRiscV32GV(kVfsqrtV), OpcodeEnum::kVfsqrtV);
  EXPECT_EQ(DecodeRiscV32GV(kVfrsqrt7V), OpcodeEnum::kVfrsqrt7V);
  EXPECT_EQ(DecodeRiscV32GV(kVfrec7V), OpcodeEnum::kVfrec7V);
  EXPECT_EQ(DecodeRiscV32GV(kVfclassV), OpcodeEnum::kVfclassV);
}

}  // namespace
