diff options
author | Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com> | 2016-11-08 14:50:24 -0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-11-15 10:06:48 +1100 |
commit | 38f4cb043b04e43f48317750aaa619d97e1eff37 (patch) | |
tree | 1e538c48069bbe0d0979c69fa9083a980f4e4337 /target-ppc/translate | |
parent | e2106d73d06d33c3e270535a5f69ff081760a267 (diff) | |
download | qemu-38f4cb043b04e43f48317750aaa619d97e1eff37.zip |
target-ppc: Implement bcdcfz. instruction
bcdcfz. converts from Zoned numeric format to BCD. Zoned format uses
a byte to represent a digit where the most significant nibble is 0x3
or 0xf, depending on the preferred signal.
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.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/target-ppc/translate/vmx-impl.inc.c b/target-ppc/translate/vmx-impl.inc.c index 795e55c696..d9e3eb64a6 100644 --- a/target-ppc/translate/vmx-impl.inc.c +++ b/target-ppc/translate/vmx-impl.inc.c @@ -987,6 +987,7 @@ GEN_BCD(bcdadd) GEN_BCD(bcdsub) GEN_BCD2(bcdcfn) GEN_BCD2(bcdctn) +GEN_BCD2(bcdcfz) static void gen_xpnd04_1(DisasContext *ctx) { @@ -994,6 +995,9 @@ static void gen_xpnd04_1(DisasContext *ctx) case 5: gen_bcdctn(ctx); break; + case 6: + gen_bcdcfz(ctx); + break; case 7: gen_bcdcfn(ctx); break; @@ -1006,6 +1010,9 @@ static void gen_xpnd04_1(DisasContext *ctx) static void gen_xpnd04_2(DisasContext *ctx) { switch (opc4(ctx->opcode)) { + case 6: + gen_bcdcfz(ctx); + break; case 7: gen_bcdcfn(ctx); break; |