aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/Asmblockgen.v
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-02-12 15:10:20 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-02-12 15:10:20 +0100
commit40bc8bf185c5cd3c5620cf4fe24ebcc9511c79fb (patch)
tree24d61f0ca190e6416bdd9081f51ae36ee4403de0 /mppa_k1c/Asmblockgen.v
parent1f38df638dfd4ae2aa85467cc28f6b4fa1da03b1 (diff)
downloadcompcert-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.v14
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