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 + + * ppc-instructions (isel): New instruction. + 2013-03-15 Steve Ellcey * 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 @@ -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 #