aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/Asmblockgen.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-25 11:36:28 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-25 11:36:28 +0200
commit2f549eaf7f6bc7e97d8f8a830d18808c2ae66186 (patch)
tree1c8103567dbc8ce356f039323cb2607a96aac1b9 /mppa_k1c/Asmblockgen.v
parent5809fa295f23952a2d8b043f6da69d61da3568de (diff)
downloadcompcert-kvx-2f549eaf7f6bc7e97d8f8a830d18808c2ae66186.tar.gz
compcert-kvx-2f549eaf7f6bc7e97d8f8a830d18808c2ae66186.zip
read from bit fields
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r--mppa_k1c/Asmblockgen.v14
1 files changed, 14 insertions, 0 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v
index b00e4e89..6af18178 100644
--- a/mppa_k1c/Asmblockgen.v
+++ b/mppa_k1c/Asmblockgen.v
@@ -772,6 +772,20 @@ Definition transl_op
OK (Pcmoveu bt r0 rS r1 ::i k)
end)
+ | Oextfz stop start, a1 :: nil =>
+ assertion ((Z.leb start stop)
+ && (Z.geb start Z.zero)
+ && (Z.ltb stop Int.zwordsize));
+ do rd <- ireg_of res; do rs <- ireg_of a1;
+ OK (Pextfz stop start rd rs ::i k)
+
+ | Oextfs stop start, a1 :: nil =>
+ assertion ((Z.leb start stop)
+ && (Z.geb start Z.zero)
+ && (Z.ltb stop Int.zwordsize));
+ do rd <- ireg_of res; do rs <- ireg_of a1;
+ OK (Pextfs stop start rd rs ::i k)
+
| _, _ =>
Error(msg "Asmgenblock.transl_op")
end.