qemu-patch-raspberry4/target
Paul A. Clarke 31eb7dddac ppc: Add support for 'mffsl' instruction
ISA 3.0B added a set of Floating-Point Status and Control Register (FPSCR)
instructions: mffsce, mffscdrn, mffscdrni, mffscrn, mffscrni, mffsl.
This patch adds support for 'mffsl'.

'mffsl' is identical to 'mffs', except it only returns mode, status, and enable
bits from the FPSCR.

On CPUs without support for 'mffsl' (below ISA 3.0), the 'mffsl' instruction
will execute identically to 'mffs'.

Note: I renamed FPSCR_RN to FPSCR_RN0 so I could create an FPSCR_RN mask which
is both bits of the FPSCR rounding mode, as defined in the ISA.

I also fixed a typo in the definition of FPSCR_FR.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>

v4:
- nit: added some braces to resolve a checkpatch complaint.

v3:
- Changed tcg_gen_and_i64 to tcg_gen_andi_i64, eliminating the need for a
  temporary, per review from Richard Henderson.

v2:
- I found that I copied too much of the 'mffs' implementation.
  The 'Rc' condition code bits are not needed for 'mffsl'.  Removed.
- I now free the (renamed) 'tmask' temporary.
- I now bail early for older ISA to the original 'mffs' implementation.

Message-Id: <1565982203-11048-1-git-send-email-pc@us.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-08-21 17:17:39 +10:00
..
alpha targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
arm target-arm queue: 2019-08-16 17:21:40 +01:00
cris Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
hppa sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
i386 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
lm32 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
m68k target/m68k: replace LIT64 with UINT64_C macros 2019-08-19 12:07:13 +01:00
microblaze targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
mips target/mips: Style improvements in translate.c 2019-08-19 19:53:37 +02:00
moxie Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
nios2 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
openrisc Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
ppc ppc: Add support for 'mffsl' instruction 2019-08-21 17:17:39 +10:00
riscv Implement parameter fields. 2019-08-19 16:55:30 +01:00
s390x targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
sh4 targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
sparc sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tilegx Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
tricore targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
unicore32 targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
xtensa Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00