diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-01-20 16:46:52 +0100 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-01-20 16:46:52 +0100 |
commit | 8781c27a16463fd8f83a9c6eaba7b76846bd296c (patch) | |
tree | 17beca9da05a776da1193eb9c2002ea79a3261b5 /aarch64/Asmgen.v | |
parent | 87e268bc9e6079b5aea31cd6c20e30d00adf2bb8 (diff) | |
download | compcert-kvx-8781c27a16463fd8f83a9c6eaba7b76846bd296c.tar.gz compcert-kvx-8781c27a16463fd8f83a9c6eaba7b76846bd296c.zip |
Adding fp loads pair
Diffstat (limited to 'aarch64/Asmgen.v')
-rw-r--r-- | aarch64/Asmgen.v | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/aarch64/Asmgen.v b/aarch64/Asmgen.v index a720c11c..b6aa4c70 100644 --- a/aarch64/Asmgen.v +++ b/aarch64/Asmgen.v @@ -326,10 +326,16 @@ Definition basic_to_instruction (b: basic) : res Asm.instruction := | PLoad (Pldp Pldpw rd1 rd2 chk1 chk2 a) => do rd1' <- ireg_of_preg rd1; do rd2' <- ireg_of_preg rd2; - OK (Asm.Pldpw rd1 rd2 chk1 chk2 a) + OK (Asm.Pldpw rd1' rd2' chk1 chk2 a) | PLoad (Pldp Pldpx rd1 rd2 chk1 chk2 a) => do rd1' <- ireg_of_preg rd1; do rd2' <- ireg_of_preg rd2; - OK (Asm.Pldpx rd1 rd2 chk1 chk2 a) + OK (Asm.Pldpx rd1' rd2' chk1 chk2 a) + | PLoad (Pldp Pldps rd1 rd2 chk1 chk2 a) => do rd1' <- freg_of_preg rd1; + do rd2' <- freg_of_preg rd2; + OK (Asm.Pldps rd1' rd2' chk1 chk2 a) + | PLoad (Pldp Pldpd rd1 rd2 chk1 chk2 a) => do rd1' <- freg_of_preg rd1; + do rd2' <- freg_of_preg rd2; + OK (Asm.Pldpd rd1' rd2' chk1 chk2 a) | PStore (PSt_rs_a Pstrw r a) => do r' <- ireg_of_preg r; OK (Asm.Pstrw r' a) | PStore (PSt_rs_a Pstrw_a r a) => do r' <- ireg_of_preg r; OK (Asm.Pstrw_a r' a) @@ -344,10 +350,10 @@ Definition basic_to_instruction (b: basic) : res Asm.instruction := | PStore (Pstp Pstpw rs1 rs2 chk1 chk2 a) => do rs1' <- ireg_of_preg rs1; do rs2' <- ireg_of_preg rs2; - OK (Asm.Pstpw rs1 rs2 chk1 chk2 a) + OK (Asm.Pstpw rs1' rs2' chk1 chk2 a) | PStore (Pstp Pstpx rs1 rs2 chk1 chk2 a) => do rs1' <- ireg_of_preg rs1; do rs2' <- ireg_of_preg rs2; - OK (Asm.Pstpx rs1 rs2 chk1 chk2 a) + OK (Asm.Pstpx rs1' rs2' chk1 chk2 a) | Pallocframe sz linkofs => OK (Asm.Pallocframe sz linkofs) | Pfreeframe sz linkofs => OK (Asm.Pfreeframe sz linkofs) |