summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorabidh <abidh>2013-04-19 18:17:32 +0000
committerabidh <abidh>2013-04-19 18:17:32 +0000
commitf7eb9e8a850efb3f2c65d29cdacaf88ada15f8bd (patch)
treef825a4381eb8becb81b352ba2bb9db80f7994ce6 /sim
parent5e5c0ff1bb5f27ebd180c0696a104f2816d0c145 (diff)
downloadgdb-f7eb9e8a850efb3f2c65d29cdacaf88ada15f8bd.tar.gz
2013-04-19 Nathan Froyd <froydnj@codesourcery.com>
* ppc-instructions (isel): New instruction.
Diffstat (limited to 'sim')
-rw-r--r--sim/ChangeLog4
-rw-r--r--sim/ppc/ppc-instructions13
2 files changed, 17 insertions, 0 deletions
diff --git a/sim/ChangeLog b/sim/ChangeLog
index bc3c89412e1..b0a75b72d0f 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-19 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ppc-instructions (isel): New instruction.
+
2013-03-15 Steve Ellcey <sellcey@mips.com>
* arm/wrapper.c (sim_complete_command): Make char arguments const.
diff --git a/sim/ppc/ppc-instructions b/sim/ppc/ppc-instructions
index 1b8fd89ad29..d76a7654c50 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
#