From 8bf54274eced4d6b47ba1296f20cc7d5f737e673 Mon Sep 17 00:00:00 2001 From: Hafiz Abid Qadeer Date: Fri, 19 Apr 2013 18:17:32 +0000 Subject: [PATCH] 2013-04-19 Nathan Froyd * ppc-instructions (isel): New instruction. --- sim/ChangeLog | 4 ++++ sim/ppc/ppc-instructions | 13 +++++++++++++ 2 files changed, 17 insertions(+) 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 # -- 2.30.2