qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] target/arm: Various v8.1M minor features
@ 2020-10-12 15:33 Peter Maydell
  2020-10-12 15:33 ` [PATCH] Deprecate TileGX port Peter Maydell
                   ` (29 more replies)
  0 siblings, 30 replies; 41+ messages in thread
From: Peter Maydell @ 2020-10-12 15:33 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: Richard Henderson

This patchseries implements various minor v8.1M new features,
notably the branch-future and low-overhead-loop extensions.

(None of this will get enabled until we have enough to implement
a CPU model which has v8.1M, which will be the Cortex-M55, but
as usual we can get stuff into the tree gradually.)

Patch 1 is a decodetree fix suggested by Richard that is
necessary to avoid wrong-decode of the changes to t32.decode
by later patches.

thanks
-- PMM

Peter Maydell (10):
  decodetree: Fix codegen for non-overlapping group inside overlapping
    group
  target/arm: Implement v8.1M NOCP handling
  target/arm: Implement v8.1M conditional-select insns
  target/arm: Make the t32 insn[25:23]=111 group non-overlapping
  target/arm: Don't allow BLX imm for M-profile
  target/arm: Implement v8.1M branch-future insns (as NOPs)
  target/arm: Implement v8.1M low-overhead-loop instructions
  target/arm: Fix has_vfp/has_neon ID reg squashing for M-profile
  target/arm: Implement FPSCR.LTPSIZE for M-profile LOB extension
  target/arm: Fix writing to FPSCR.FZ16 on M-profile

 target/arm/cpu.h               |   7 ++
 target/arm/m-nocp.decode       |  10 ++-
 target/arm/t32.decode          |  50 +++++++----
 target/arm/cpu.c               |  34 ++++---
 target/arm/translate.c         | 157 +++++++++++++++++++++++++++++++++
 target/arm/vfp_helper.c        |  30 +++++--
 scripts/decodetree.py          |   2 +-
 target/arm/translate-vfp.c.inc |  17 +++-
 8 files changed, 268 insertions(+), 39 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 41+ messages in thread
* [PATCH] target/arm: Delete unused VFP_DREG macros
@ 2020-08-03 12:48 Peter Maydell
  2020-08-03 13:10 ` Philippe Mathieu-Daudé
  2020-08-03 13:27 ` Alex Bennée
  0 siblings, 2 replies; 41+ messages in thread
From: Peter Maydell @ 2020-08-03 12:48 UTC (permalink / raw)
  To: qemu-arm, qemu-devel

As part of the Neon decodetree conversion we removed all
the uses of the VFP_DREG macros, but forgot to remove the
macro definitions. Do so now.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target/arm/translate.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/target/arm/translate.c b/target/arm/translate.c
index c39a929b938..27bf6cd8b51 100644
--- a/target/arm/translate.c
+++ b/target/arm/translate.c
@@ -2471,21 +2471,6 @@ static int disas_dsp_insn(DisasContext *s, uint32_t insn)
     return 1;
 }
 
-#define VFP_REG_SHR(x, n) (((n) > 0) ? (x) >> (n) : (x) << -(n))
-#define VFP_DREG(reg, insn, bigbit, smallbit) do { \
-    if (dc_isar_feature(aa32_simd_r32, s)) { \
-        reg = (((insn) >> (bigbit)) & 0x0f) \
-              | (((insn) >> ((smallbit) - 4)) & 0x10); \
-    } else { \
-        if (insn & (1 << (smallbit))) \
-            return 1; \
-        reg = ((insn) >> (bigbit)) & 0x0f; \
-    }} while (0)
-
-#define VFP_DREG_D(reg, insn) VFP_DREG(reg, insn, 12, 22)
-#define VFP_DREG_N(reg, insn) VFP_DREG(reg, insn, 16,  7)
-#define VFP_DREG_M(reg, insn) VFP_DREG(reg, insn,  0,  5)
-
 static inline bool use_goto_tb(DisasContext *s, target_ulong dest)
 {
 #ifndef CONFIG_USER_ONLY
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2020-10-14 14:49 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-12 15:33 [PATCH 00/10] target/arm: Various v8.1M minor features Peter Maydell
2020-10-12 15:33 ` [PATCH] Deprecate TileGX port Peter Maydell
2020-10-12 15:42   ` BALATON Zoltan via
2020-10-12 15:44     ` Peter Maydell
2020-10-12 15:33 ` [PATCH] Deprecate Unicore32 port Peter Maydell
2020-10-12 15:33 ` [PATCH] Deprecate lm32 port Peter Maydell
2020-10-12 15:33 ` [PATCH for-5.1] Makefile: Remove config-devices.mak on "make clean" Peter Maydell
2020-10-12 15:33 ` [PATCH RISU] arm.risu: Add patterns for fp16 insns Peter Maydell
2020-10-12 15:33 ` [PATCH RISU] arm.risu, thumb.risu: Add v8.2 DP and FHM insns Peter Maydell
2020-10-12 15:33 ` [PATCH] configure: Test that gio libs from pkg-config work Peter Maydell
2020-10-12 15:33 ` [PATCH 01/10] decodetree: Fix codegen for non-overlapping group inside overlapping group Peter Maydell
2020-10-12 15:33 ` [PATCH for-5.1] docs/system/arm/virt: Document mte machine option Peter Maydell
2020-10-12 15:45   ` no-reply
2020-10-12 15:33 ` [PATCH for-5.1] hw/arm/armsse: Assert info->num_cpus is in-bounds in armsse_realize() Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/arm/mps2: New board model mps2-386 Peter Maydell
2020-10-12 15:33 ` [PATCH for-5.1] hw/arm/netduino2, netduinoplus2: Set system_clock_scale Peter Maydell
2020-10-14  0:29   ` Alistair Francis
2020-10-14  0:31     ` Alistair Francis
2020-10-14 12:39       ` Peter Maydell
2020-10-14 14:32         ` Alistair Francis
2020-10-12 15:33 ` [PATCH for-5.1] hw/arm/nrf51_soc: " Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/display/bcm2835_fb.c: Initialize all fields of struct Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/input/virtio-input-hid.c: Don't undef CONFIG_CURSES Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/intc/arm_gicv3_cpuif: Don't copy CPU's maintenance interrupt Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/intc/arm_gicv3_cpuif: Make GIC maintenance interrupts work Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/timer/armv7m_systick: assert that board code set system_clock_scale Peter Maydell
2020-10-12 15:33 ` [PATCH for-5.1] hw/timer/imx_epit: Avoid assertion when CR.SWR is written Peter Maydell
2020-10-12 15:33 ` [PATCH] hw/virtio/virtio-iommu-pci.c: Fix typo in error message Peter Maydell
2020-10-12 15:33 ` [RFC PATCH v2] linux-user: Use FD_32BIT_MODE fd flag for 32-bit guests Peter Maydell
2020-10-12 15:33 ` [PATCH] linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 Peter Maydell
2020-10-12 15:33 ` [PATCH] meson.build: Don't look for libudev for static builds Peter Maydell
2020-10-12 15:33 ` [PATCH] msf2-soc, stellaris: Don't wire up SYSRESETREQ Peter Maydell
2020-10-12 15:33 ` [PATCH] net/tap-solaris.c: Include qemu-common.h for TFR macro Peter Maydell
2020-10-12 15:33 ` [PATCH] osdep.h: Add doc comment for qemu_get_thread_id() Peter Maydell
2020-10-12 15:33 ` [PATCH for-5.1] qapi/machine.json: Fix missing newline in doc comment Peter Maydell
2020-10-12 15:33 ` [PATCH v2] target/arm: Allow user-mode code to write CPSR.E via MSR Peter Maydell
2020-10-12 15:33 ` [PATCH] target/arm: Delete unused ARM_FEATURE_CRC Peter Maydell
2020-10-12 15:33 ` [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2020-08-03 12:48 Peter Maydell
2020-08-03 13:10 ` Philippe Mathieu-Daudé
2020-08-03 13:27 ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).