aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/Asm.v
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-09-08 10:44:34 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-09-08 10:44:34 +0200
commit2246044e99569fcf1c2172f0e710134123be8b49 (patch)
treedf56ebe23cb71259f346ee1f73fafe3f9a96e476 /powerpc/Asm.v
parent73e20bd6e0586e38fbc7d87d8c306fad7b578418 (diff)
downloadcompcert-kvx-2246044e99569fcf1c2172f0e710134123be8b49.tar.gz
compcert-kvx-2246044e99569fcf1c2172f0e710134123be8b49.zip
Added builtin for isel.
The builtin_isel function takes a _Bool as first argument and returns either the second or the third depending on the value of the _Bool.
Diffstat (limited to 'powerpc/Asm.v')
-rw-r--r--powerpc/Asm.v2
1 files changed, 2 insertions, 0 deletions
diff --git a/powerpc/Asm.v b/powerpc/Asm.v
index 796bad3d..3c7bdd15 100644
--- a/powerpc/Asm.v
+++ b/powerpc/Asm.v
@@ -207,6 +207,7 @@ Inductive instruction : Type :=
| Pfrsqrte: freg -> freg -> instruction (**r approximate reciprocal of square root *)
| Pfres: freg -> freg -> instruction (**r approximate inverse *)
| Pfsel: freg -> freg -> freg -> freg -> instruction (**r FP conditional move *)
+ | Pisel: ireg -> ireg -> ireg -> crbit -> instruction (**r integer select *)
| Pisync: instruction (**r ISYNC barrier *)
| Picbi: ireg -> ireg -> instruction (**r instruction cache invalidate *)
| Picbtls: int -> ireg -> ireg -> instruction (**r instruction cache block touch and lock set *)
@@ -893,6 +894,7 @@ Definition exec_instr (f: function) (i: instruction) (rs: regset) (m: mem) : out
| Pfrsqrte _ _
| Pfres _ _
| Pfsel _ _ _ _
+ | Pisel _ _ _ _
| Plwarx _ _ _
| Plwbrx _ _ _
| Picbi _ _