Skip to content

Commit

Permalink
vf2iu, vf2id, vi2f
Browse files Browse the repository at this point in the history
  • Loading branch information
AngheloAlf committed Apr 18, 2024
1 parent 4bbe93f commit 088fbc4
Show file tree
Hide file tree
Showing 10 changed files with 552 additions and 396 deletions.
768 changes: 384 additions & 384 deletions asdf.txt

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions cplusplus/include/generated/UniqueId_enum_class.hpp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions include/generated/InstrDescriptor_Descriptors_array.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions include/generated/InstrId_Names_array.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions include/generated/InstrId_enum.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions rabbitizer/InstrId.pyi

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions rust/src/instr_id_enum.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
| VFPU4 |1 0|0 1 0| |t| |p| |
------6-------2----3-------------1---------------1---------------
|-------|
00 | |
01 | |
10 | |
11 | |
00 |vf2iu.s|
01 |vf2iu.p|
10 |vf2iu.t|
11 |vf2iu.q|
tp |-------|
*/

Expand All @@ -20,23 +20,51 @@ vf2iu.s
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x0, vf2iu_s, vf2iu.s,
.operands={RAB_OPERAND_r4000allegrex_s_vd, RAB_OPERAND_r4000allegrex_s_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to smallest integer from float with Scaling Single Word

/*
vf2iu.p
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 0| imm5 |0| vs |1| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x1, vf2iu_p, vf2iu.p,
.operands={RAB_OPERAND_r4000allegrex_p_vd, RAB_OPERAND_r4000allegrex_p_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to smallest integer from float with Scaling Single Pair

/*
vf2iu.t
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 0| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x2, vf2iu_t, vf2iu.t,
.operands={RAB_OPERAND_r4000allegrex_t_vd, RAB_OPERAND_r4000allegrex_t_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to smallest integer from float with Scaling Single Triple

/*
vf2iu.q
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 0| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x3, vf2iu_q, vf2iu.q,
.operands={RAB_OPERAND_r4000allegrex_q_vd, RAB_OPERAND_r4000allegrex_q_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to smallest integer from float with Scaling Single Quad
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
| VFPU4 |1 0|0 1 1| |t| |p| |
------6-------2----3-------------1---------------1---------------
|-------|
00 | |
01 | |
10 | |
11 | |
00 |vf2id.s|
01 |vf2id.p|
10 |vf2id.t|
11 |vf2id.q|
tp |-------|
*/

Expand All @@ -20,23 +20,51 @@ vf2id.s
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x0, vf2id_s, vf2id.s,
.operands={RAB_OPERAND_r4000allegrex_s_vd, RAB_OPERAND_r4000allegrex_s_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to largest integer from float with Scaling Single Word

/*
vf2id.p
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 1| imm5 |0| vs |1| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x1, vf2id_p, vf2id.p,
.operands={RAB_OPERAND_r4000allegrex_p_vd, RAB_OPERAND_r4000allegrex_p_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to largest integer from float with Scaling Single Pair

/*
vf2id.t
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 1| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x2, vf2id_t, vf2id.t,
.operands={RAB_OPERAND_r4000allegrex_t_vd, RAB_OPERAND_r4000allegrex_t_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to largest integer from float with Scaling Single Triple

/*
vf2id.q
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 1 1| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x3, vf2id_q, vf2id.q,
.operands={RAB_OPERAND_r4000allegrex_q_vd, RAB_OPERAND_r4000allegrex_q_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to largest integer from float with Scaling Single Quad
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
| VFPU4 |1 0|1 0 0| |t| |p| |
------6-------2----3-------------1---------------1---------------
|-------|
00 | |
01 | |
10 | |
11 | |
00 | vi2f.s|
01 | vi2f.p|
10 | vi2f.t|
11 | vi2f.q|
tp |-------|
*/

Expand All @@ -20,23 +20,51 @@ vi2f.s
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x0, vi2f_s, vi2f.s,
.operands={RAB_OPERAND_r4000allegrex_s_vd, RAB_OPERAND_r4000allegrex_s_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Convert integer to float with Scaling Single Word

/*
vi2f.p
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|1 0 0| imm5 |0| vs |1| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x1, vi2f_p, vi2f.p,
.operands={RAB_OPERAND_r4000allegrex_p_vd, RAB_OPERAND_r4000allegrex_p_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Convert integer to float with Scaling Single Pair

/*
vi2f.t
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|1 0 0| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x2, vi2f_t, vi2f.t,
.operands={RAB_OPERAND_r4000allegrex_t_vd, RAB_OPERAND_r4000allegrex_t_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Convert integer to float with Scaling Single Triple

/*
vi2f.q
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|1 0 0| imm5 |1| vs |0| vd |
------6-------2----3-------5-----1-------7-------1-------7-------
*/

// TODO: vd, vs, imm5
RABBITIZER_DEF_INSTR_ID_ALTNAME(
r4000allegrex, 0x3, vi2f_q, vi2f.q,
.operands={RAB_OPERAND_r4000allegrex_q_vd, RAB_OPERAND_r4000allegrex_q_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Convert integer to float with Scaling Single Quad

0 comments on commit 088fbc4

Please sign in to comment.