qemu/disas
Suraj Jitindar Singh 4c5920af4e target/ppc: tcg: Implement addex instruction
Implement the addex instruction introduced in ISA V3.00 in qemu tcg.

The add extended using alternate carry bit (addex) instruction performs
the same operation as the add extended (adde) instruction, but using the
overflow (ov) field in the fixed point exception register (xer) as the
carry in and out instead of the carry (ca) field.

The instruction has a Z23-form, not an XO form, as follows:

    ------------------------------------------------------------------
    |   31   |   RT   |   RA   |   RB   |   CY   |     170     |  0  |
    ------------------------------------------------------------------
    0        6        11       16       21       23            31    32

However since the only valid form of the instruction defined so far is
CY = 0, we can treat this like an XO form instruction.

There is no dot form (addex.) of the instruction and the summary overflow
(so) bit in the xer is not modified by this instruction.

For simplicity we reuse the gen_op_arith_add function and add a function
argument to specify where the carry in input should come from and the
carry out output be stored (note must be the same location).

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-12-21 09:24:23 +11:00
..
libvixl configure: split c and cxx extra flags 2017-06-07 15:29:46 +01:00
Makefile.objs target/mips: Add disassembler support for nanoMIPS 2018-10-25 22:13:33 +02:00
alpha.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
arm-a64.cc disas/arm-a64.cc: Include osdep.h first 2016-02-23 12:43:04 +00:00
arm.c disas/arm: fix 'instuction' typo in comment 2017-12-18 17:07:02 +03:00
cris.c disas/cris.c: Avoid unintentional sign extension 2017-04-03 14:06:59 +01:00
hppa.c disas/hppa: Remove dead code 2017-03-07 14:33:51 +00:00
i386.c disas/i386: Add disassembly of rorx 2017-09-06 07:19:00 -07:00
lm32.c lm32: Clean up includes 2016-01-29 15:07:22 +00:00
m68k.c fix "Missing break in switch" coverity reports 2018-08-23 13:32:50 +02:00
microblaze.c disas/microblaze: Add missing 'const' attributes 2017-07-04 09:22:20 +02:00
mips.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
moxie.c moxie: Clean up includes 2016-01-29 15:07:25 +00:00
nanomips.cpp target/mips: Add disassembler support for nanoMIPS 2018-10-25 22:13:33 +02:00
nanomips.h target/mips: Add disassembler support for nanoMIPS 2018-10-25 22:13:33 +02:00
nios2.c nios2: remove duplicated includes (in code commented out) 2017-12-18 17:07:02 +03:00
ppc.c target/ppc: tcg: Implement addex instruction 2018-12-21 09:24:23 +11:00
riscv.c RISC-V: Fix missing break statement in disassembler 2018-05-06 10:39:38 +12:00
s390.c disas/s390: fix global-buffer-overflow 2018-01-16 14:54:50 +01:00
sh4.c Remove unused function declarations 2016-09-15 15:32:22 +03:00
sparc.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
tci.c tci: do not include exec/exec-all.h 2016-05-20 15:07:46 +01:00
xtensa.c target/xtensa: disas/xtensa: fix coverity warnings 2018-01-22 11:54:58 -08:00