blob: 3156e3a97eddc3961593ea2d34fe7c0dc23f3548 [file] [log] [blame]
// 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
//
// http://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.
#ifndef TESTS_VERILATOR_SIM_KELVIN_VDECODEOP_H_
#define TESTS_VERILATOR_SIM_KELVIN_VDECODEOP_H_
namespace decode {
enum VDecodeOp {
// func2
u = 1,
r = 2,
r1 = 2,
r2 = 4,
r3 = 6,
n1 = 0,
n2 = 1,
n3 = 2,
n4 = 3,
psL = 1,
pSl = 2,
Psl = 4,
PsL = 5,
PSl = 6,
PSL = 7,
// LdSt
vld = 0,
vst = 8,
vstq = 24,
// Dup
vdup = 16,
// Format0,
vadd = 0,
vsub = 1,
vrsub = 2,
veq = 6,
vne = 7,
vlt = 8,
vle = 10,
vgt = 12,
vge = 14,
vabsd = 16,
vmax = 18,
vmin = 20,
vadd3 = 24,
// Format1
vand = 0,
vor = 1,
vxor = 2,
vnot = 3,
vrev = 4,
vror = 5,
vclb = 8,
vclz = 9,
vcpop = 10,
vmv = 12,
vmvp = 13,
acset = 16,
actr = 17,
adwinit = 18,
// Format2
vsll = 1,
vsra = 2,
vsrl = 3,
vsha = 8,
vshl = 9,
vsrans = 16,
vsraqs = 24,
// Format3
vmul = 0,
vmuls = 2,
vmulw = 4,
vmulh = 8,
vmulhu = 9,
vdmulh = 16,
vmacc = 20,
vmadd = 21,
// Format4
vadds = 0,
vsubs = 2,
vaddw = 4,
vsubw = 6,
vacc = 10,
vpadd = 12,
vpsub = 14,
vhadd = 16,
vhsub = 20,
// Format6
vsliden = 0,
vslidevn = 0,
vslidehn = 4,
vslidep = 8,
vslidevp = 8,
vslidehp = 12,
vsel = 16,
vevn = 24,
vodd = 25,
vevnodd = 26,
vzip = 28,
// FormatVVV
aconv = 8,
vdwconv = 10,
};
} // namespace decode
#endif // TESTS_VERILATOR_SIM_KELVIN_VDECODEOP_H_