Skip to content

Commit

Permalink
vf2in
Browse files Browse the repository at this point in the history
  • Loading branch information
AngheloAlf committed Apr 17, 2024
1 parent 6ef3eaa commit b29dc45
Show file tree
Hide file tree
Showing 10 changed files with 186 additions and 133 deletions.
256 changes: 128 additions & 128 deletions asdf.txt

Large diffs are not rendered by default.

4 changes: 4 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.

4 changes: 4 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.

4 changes: 4 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.

4 changes: 4 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.

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

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

4 changes: 4 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.

1 change: 1 addition & 0 deletions tables/tables/instr_id/RabbitizerInstrId_r4000allegrex.inc
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
#include "r4000allegrex/r4000allegrex_vfpu4_fmt0_fmt2_fmt3.inc"
#include "r4000allegrex/r4000allegrex_vfpu4_fmt0_fmt3.inc"
#include "r4000allegrex/r4000allegrex_vfpu4_fmt2.inc"
#include "r4000allegrex/r4000allegrex_vfpu4_fmt2_fmt0.inc"
#include "r4000allegrex/r4000allegrex_vfpu4_fmt3.inc"

#include "r4000allegrex/r4000allegrex_vfpu5.inc"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

/*
31--------26-25-----21-----------15--------------7--------------0
| = COP2 |0 0|0 1 1| |t| |p| |
| VFPU4 |0 0|0 1 1| |t| |p| |
------6-------2----3-------------1---------------1---------------
|-------|
00 | vcst.s|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
| = COP2 |1 0|0 0 0| |t| |p| |
------6-------2----3-------------1---------------1---------------
|-------|
00 | |
01 | |
10 | |
11 | |
00 |vf2in.s|
01 |vf2in.p|
10 |vf2in.t|
11 |vf2in.q|
tp |-------|
*/

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

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

/*
vf2in.p
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 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, vf2in_p, vf2in.p,
.operands={RAB_OPERAND_r4000allegrex_p_vd, RAB_OPERAND_r4000allegrex_p_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to nearest integer from float with Scaling Single Pair

/*
vf2in.t
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 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, vf2in_t, vf2in.t,
.operands={RAB_OPERAND_r4000allegrex_t_vd, RAB_OPERAND_r4000allegrex_t_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to nearest integer from float with Scaling Single Triple

/*
vf2in.q
31--------26-25-24--21-20-----16---14----------8---6------------0
| VFPU4 |1 0|0 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, vf2in_q, vf2in.q,
.operands={RAB_OPERAND_r4000allegrex_q_vd, RAB_OPERAND_r4000allegrex_q_vs},
.instrType=RABBITIZER_INSTR_TYPE_R
) // Round to nearest integer from float with Scaling Single Quad

0 comments on commit b29dc45

Please sign in to comment.