aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/translate
diff options
context:
space:
mode:
authorJose Ricardo Ziviani <joserz@linux.vnet.ibm.com>2016-11-08 14:50:23 -0200
committerDavid Gibson <david@gibson.dropbear.id.au>2016-11-15 10:06:48 +1100
commite2106d73d06d33c3e270535a5f69ff081760a267 (patch)
tree3679de2ba440716391a20c5c610b1e0724cb4432 /target-ppc/translate
parentb81558724f66807cfe2262707b2cd4ad457693b7 (diff)
target-ppc: Implement bcdctn. instruction
bcdctn. converts from BCD to National numeric format. National format uses a byte to represent a digit where the most significant nibble is always 0x3 and the least sign. nibbles is the digit itself. Signed-off-by: Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target-ppc/translate')
-rw-r--r--target-ppc/translate/vmx-impl.inc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/target-ppc/translate/vmx-impl.inc.c b/target-ppc/translate/vmx-impl.inc.c
index 90448e9b46..795e55c696 100644
--- a/target-ppc/translate/vmx-impl.inc.c
+++ b/target-ppc/translate/vmx-impl.inc.c
@@ -986,10 +986,14 @@ static void gen_##op(DisasContext *ctx) \
GEN_BCD(bcdadd)
GEN_BCD(bcdsub)
GEN_BCD2(bcdcfn)
+GEN_BCD2(bcdctn)
static void gen_xpnd04_1(DisasContext *ctx)
{
switch (opc4(ctx->opcode)) {
+ case 5:
+ gen_bcdctn(ctx);
+ break;
case 7:
gen_bcdcfn(ctx);
break;