aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc
diff options
context:
space:
mode:
authorHafiz Abid Qadeer <abidh@codesourcery.com>2013-04-19 18:17:32 +0000
committerHafiz Abid Qadeer <abidh@codesourcery.com>2013-04-19 18:17:32 +0000
commit8bf54274eced4d6b47ba1296f20cc7d5f737e673 (patch)
tree524b72de67bbe3196b2ffaef52df77735cf88b5b /sim/ppc
parentc49e7f76afc4507257d66f1c72fabd83c2d6ef18 (diff)
downloadgdb-8bf54274eced4d6b47ba1296f20cc7d5f737e673.zip
gdb-8bf54274eced4d6b47ba1296f20cc7d5f737e673.tar.gz
gdb-8bf54274eced4d6b47ba1296f20cc7d5f737e673.tar.bz2
2013-04-19 Nathan Froyd <froydnj@codesourcery.com>
* ppc-instructions (isel): New instruction.
Diffstat (limited to 'sim/ppc')
-rw-r--r--sim/ppc/ppc-instructions13
1 files changed, 13 insertions, 0 deletions
diff --git a/sim/ppc/ppc-instructions b/sim/ppc/ppc-instructions
index 1b8fd89..d76a765 100644
--- a/sim/ppc/ppc-instructions
+++ b/sim/ppc/ppc-instructions
@@ -3455,6 +3455,19 @@ void::function::invalid_zero_divide_operation:cpu *processor, unsigned_word cia,
PPC_INSN_MFCR(RT_BITMASK);
#
+# I.3.3.15 Fixed-Point Select
+#
+
+0.31,6.RT,11.RA,16.RB,21.BF,26.15,31./:A::isel:Integer Select
+ unsigned_word a;
+ if (RA_is_0) a = 0;
+ else a = *rA;
+ if (CR & (1 << (31 - BF)))
+ *rT = a;
+ else
+ *rT = *rB;
+
+#
# I.4.6.2 Floating-Point Load Instructions
#