[Libre-soc-bugs] [Bug 838] sync or at least statically check fields.text, power_decoder, trans/svp64, CSVs between each other
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Fri Aug 12 09:45:01 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=838
--- Comment #50 from Dmitry Selyutin <ghostmansd at gmail.com> ---
The opcode should not be part of Desc, though, but rather a part of Record
itself.
struct svp64_desc {
uint64_t in1 : 3;
uint64_t in2 : 5;
uint64_t in3 : 3;
uint64_t out : 3;
uint64_t out2 : 3;
uint64_t cr_in : 4;
uint64_t cr_out : 3;
uint64_t sv_ptype : 2;
uint64_t sv_etype : 2;
uint64_t sv_in1 : 3;
uint64_t sv_in2 : 3;
uint64_t sv_in3 : 3;
uint64_t sv_out : 3;
uint64_t sv_out2 : 3;
uint64_t sv_cr_in : 3;
uint64_t sv_cr_out : 3;
uint64_t : 15;
};
struct svp64_opcode {
uint32_t value;
uint32_t mask;
};
struct svp64_record {
const char *name;
struct svp64_opcode opcode;
struct svp64_desc desc;
};
{
.name = "sv.lwbrx",
.opcode = {
.value = 0x7c00042c,
.mask = 0xfc0007fe,
},
.desc = {
.in1 = SVP64_IN1_SEL_RA_OR_ZERO,
.in2 = SVP64_IN2_SEL_RB,
.in3 = SVP64_IN3_SEL_NONE,
.out = SVP64_OUT_SEL_RT,
.out2 = SVP64_OUT_SEL_NONE,
.cr_in = SVP64_CR_IN_SEL_NONE,
.cr_out = SVP64_CR_OUT_SEL_NONE,
.sv_ptype = SVP64_PTYPE_P2,
.sv_etype = SVP64_ETYPE_EXTRA2,
.sv_in1 = SVP64_EXTRA_NONE,
.sv_in2 = SVP64_EXTRA_IDX2,
.sv_in3 = SVP64_EXTRA_NONE,
.sv_out = SVP64_EXTRA_IDX0,
.sv_out2 = SVP64_EXTRA_NONE,
.sv_cr_in = SVP64_EXTRA_NONE,
.sv_cr_out = SVP64_EXTRA_NONE,
},
},
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list