diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2019-02-12 15:10:20 +0100 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2019-02-12 15:10:20 +0100 |
commit | 40bc8bf185c5cd3c5620cf4fe24ebcc9511c79fb (patch) | |
tree | 24d61f0ca190e6416bdd9081f51ae36ee4403de0 /mppa_k1c/Asmblockgen.v | |
parent | 1f38df638dfd4ae2aa85467cc28f6b4fa1da03b1 (diff) | |
download | compcert-kvx-40bc8bf185c5cd3c5620cf4fe24ebcc9511c79fb.tar.gz compcert-kvx-40bc8bf185c5cd3c5620cf4fe24ebcc9511c79fb.zip |
Added Ofloatconst and Osingleconst (not integrated in scheduler yet)
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r-- | mppa_k1c/Asmblockgen.v | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v index 553d20d4..b82ada55 100644 --- a/mppa_k1c/Asmblockgen.v +++ b/mppa_k1c/Asmblockgen.v @@ -350,19 +350,13 @@ Definition transl_op | Olongconst n, nil => do rd <- ireg_of res; OK (loadimm64 rd n ::i k) - | Ofloatconst _, _ => Error(msg "Asmblockgen.transl_op: Ofloatconst") - | Osingleconst _, _ => Error(msg "Asmblockgen.transl_op: Osingleconst") -(*| Ofloatconst f, nil => + | Ofloatconst f, nil => do rd <- freg_of res; - OK (if Float.eq_dec f Float.zero - then Pfcvtdw rd GPR0 :: k - else Ploadfi rd f :: k) + OK (Pmakef rd f ::i k) | Osingleconst f, nil => do rd <- freg_of res; - OK (if Float32.eq_dec f Float32.zero - then Pfcvtsw rd GPR0 :: k - else Ploadsi rd f :: k) -*)| Oaddrsymbol s ofs, nil => + OK (Pmakefs rd f ::i k) + | Oaddrsymbol s ofs, nil => do rd <- ireg_of res; OK (if Archi.pic_code tt && negb (Ptrofs.eq ofs Ptrofs.zero) then Ploadsymbol s Ptrofs.zero rd ::i addptrofs rd rd ofs ::i k |