From f7eb9e8a850efb3f2c65d29cdacaf88ada15f8bd Mon Sep 17 00:00:00 2001 From: abidh Date: Fri, 19 Apr 2013 18:17:32 +0000 Subject: 2013-04-19 Nathan Froyd * ppc-instructions (isel): New instruction. --- sim/ChangeLog | 4 ++++ sim/ppc/ppc-instructions | 13 +++++++++++++ 2 files changed, 17 insertions(+) (limited to 'sim') 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 # -- cgit v1.2.1