This repository has been archived by the owner on Apr 27, 2023. It is now read-only.
Re-encode the multi-destination register instructions. #74
Labels
implementation
Issue relates to the hardware implementation of the iSE
software
Issue relates to the example software or modified binutils.
specification
Issue relates to the XCrypto ISE specification
verification
Issue relates to the verification environment
Milestone
The current encoding of the multi-precision and
xc.mror
instructions is very wasteful.Current usage patterns are:
xc.madd.3 (a,b), c, d, a
xc.msub.3 (a,b), c, d, a
xc.mmul.3 (a,b), c, d, a
xc.macc.1 (a,b), a, b, c
Most of the time, a source and a destination register (or two) are the same.
Suggestions:
xc.madd.3
,xc.msub.3
,xc.mmul.3
, make what is nowrs3
an implicit argument, which is always equal to the "low" destination register.xc.macc.1
, either:rs3
, makers1
a multi-register address and addrs2
to the catenation ofrs1
registers, placing the result inrdm
.rdm
an implicit source register pair.For
xc.mror
:rs1
a multi-source register.rs2
the rotate ammount.The text was updated successfully, but these errors were encountered: