mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
Hexagon (target/hexagon) load into shifted register instructions
The following instructions are added L2_loadalignb_io Ryy32 = memb_fifo(Rs32+#s11:1) L2_loadalignh_io Ryy32 = memh_fifo(Rs32+#s11:1) L4_loadalignb_ur Ryy32 = memb_fifo(Rt32<<#u2+#U6) L4_loadalignh_ur Ryy32 = memh_fifo(Rt32<<#u2+#U6) L4_loadalignb_ap Ryy32 = memb_fifo(Re32=#U6) L4_loadalignh_ap Ryy32 = memh_fifo(Re32=#U6) L2_loadalignb_pr Ryy32 = memb_fifo(Rx32++Mu2) L2_loadalignh_pr Ryy32 = memh_fifo(Rx32++Mu2) L2_loadalignb_pbr Ryy32 = memb_fifo(Rx32++Mu2:brev) L2_loadalignh_pbr Ryy32 = memh_fifo(Rx32++Mu2:brev) L2_loadalignb_pi Ryy32 = memb_fifo(Rx32++#s4:1) L2_loadalignh_pi Ryy32 = memh_fifo(Rx32++#s4:1) L2_loadalignb_pci Ryy32 = memb_fifo(Rx32++#s4:1:circ(Mu2)) L2_loadalignh_pci Ryy32 = memh_fifo(Rx32++#s4:1:circ(Mu2)) L2_loadalignb_pcr Ryy32 = memb_fifo(Rx32++I:circ(Mu2)) L2_loadalignh_pcr Ryy32 = memh_fifo(Rx32++I:circ(Mu2)) Test cases in tests/tcg/hexagon/load_align.c Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <1617930474-31979-26-git-send-email-tsimpson@quicinc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
0d0b91a804
commit
7aa9ffab79
5 changed files with 504 additions and 0 deletions
|
@ -80,6 +80,25 @@ ATTRIBS(A_LOAD),"2",
|
|||
|
||||
|
||||
|
||||
STD_LD_AMODES(loadalignh, "Ryy32=memh_fifo", "Load Half-word into shifted vector",
|
||||
ATTRIBS(A_LOAD),"1",
|
||||
{
|
||||
fHIDE(size8u_t tmpV;)
|
||||
fLOAD(1,2,u,EA,tmpV);
|
||||
RyyV = (((size8u_t)RyyV)>>16)|(tmpV<<48);
|
||||
},1)
|
||||
|
||||
|
||||
STD_LD_AMODES(loadalignb, "Ryy32=memb_fifo", "Load byte into shifted vector",
|
||||
ATTRIBS(A_LOAD),"0",
|
||||
{
|
||||
fHIDE(size8u_t tmpV;)
|
||||
fLOAD(1,1,u,EA,tmpV);
|
||||
RyyV = (((size8u_t)RyyV)>>8)|(tmpV<<56);
|
||||
},0)
|
||||
|
||||
|
||||
|
||||
|
||||
/* The set of addressing modes standard to all Store instructions */
|
||||
#define STD_ST_AMODES(TAG,DEST,OPER,DESCR,ATTRIB,SHFT,SEMANTICS,SCALE)\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue