2013-04-19 Nathan Froyd <froydnj@codesourcery.com>
authorHafiz Abid Qadeer <abidh@codesourcery.com>
Fri, 19 Apr 2013 18:17:32 +0000 (18:17 +0000)
committerHafiz Abid Qadeer <abidh@codesourcery.com>
Fri, 19 Apr 2013 18:17:32 +0000 (18:17 +0000)
* ppc-instructions (isel): New instruction.

sim/ChangeLog
sim/ppc/ppc-instructions

index bc3c89412e1dfe3acedf840d71a8eeb16b0cb243..b0a75b72d0f30b6a8e7c98754029bd9cecb09133 100644 (file)
@@ -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.
index 1b8fd89ad29a369b793002f6ed462996b52150bb..d76a7654c50db0013e98081fe6f8dfe7708e0e0b 100644 (file)
@@ -3454,6 +3454,19 @@ void::function::invalid_zero_divide_operation:cpu *processor, unsigned_word cia,
        *rT = (unsigned32)CR;
        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
 #