diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-03-19 21:50:25 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-03-19 21:50:25 +0100 |
commit | 2af07d6a328f73a32bc2c768e3108dd3db393ed1 (patch) | |
tree | 5b4d068c82b0b7153b71e5ed72cf38829a910ea9 /mppa_k1c/Asmblockgen.v | |
parent | 9adb576998f3b2017db5c062b459449e1721579a (diff) | |
download | compcert-kvx-2af07d6a328f73a32bc2c768e3108dd3db393ed1.tar.gz compcert-kvx-2af07d6a328f73a32bc2c768e3108dd3db393ed1.zip |
mul+madd immediate
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r-- | mppa_k1c/Asmblockgen.v | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v index ba01883d..80b712e3 100644 --- a/mppa_k1c/Asmblockgen.v +++ b/mppa_k1c/Asmblockgen.v @@ -524,6 +524,11 @@ Definition transl_op do r2 <- ireg_of a2; do r3 <- ireg_of a3; OK (Pmaddw r1 r2 r3 ::i k) + | Omaddimm n, a1 :: a2 :: nil => + assertion (mreg_eq a1 res); + do r1 <- ireg_of a1; + do r2 <- ireg_of a2; + OK (Pmaddiw r1 r2 n ::i k) (* [Omakelong], [Ohighlong] should not occur *) | Olowlong, a1 :: nil => do rd <- ireg_of res; do rs <- ireg_of a1; @@ -636,7 +641,19 @@ Definition transl_op Psrlil RTMP RTMP (Int.sub Int64.iwordsize' n) ::i Paddl RTMP rs RTMP ::i Psrail rd RTMP n ::i k) - + (* FIXME + | Omaddl, a1 :: a2 :: a3 :: nil => + assertion (mreg_eq a1 res); + do r1 <- ireg_of a1; + do r2 <- ireg_of a2; + do r3 <- ireg_of a3; + OK (Pmaddl r1 r2 r3 ::i k) + | Omaddlimm n, a1 :: a2 :: nil => + assertion (mreg_eq a1 res); + do r1 <- ireg_of a1; + do r2 <- ireg_of a2; + OK (Pmaddil r1 r2 n ::i k) +*) | Oabsf, a1 :: nil => do rd <- freg_of res; do rs <- freg_of a1; OK (Pfabsd rd rs ::i k) |