* [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; 5+ 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] 5+ messages in thread* Re: [PATCH] target/arm: Delete unused VFP_DREG macros
2020-08-03 12:48 [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
@ 2020-08-03 13:10 ` Philippe Mathieu-Daudé
2020-08-03 13:27 ` Alex Bennée
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-08-03 13:10 UTC (permalink / raw)
To: Peter Maydell, qemu-arm, qemu-devel
On 8/3/20 2:48 PM, Peter Maydell wrote:
> 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
>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] target/arm: Delete unused VFP_DREG macros
2020-08-03 12:48 [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
@ 2020-08-03 13:27 ` Alex Bennée
2020-08-03 13:27 ` Alex Bennée
1 sibling, 0 replies; 5+ messages in thread
From: Alex Bennée @ 2020-08-03 13:27 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel, qemu-arm
Peter Maydell <peter.maydell@linaro.org> writes:
> 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>
Reviewed-by: Alex Bennée <alex.bennee@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
--
Alex Bennée
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] target/arm: Delete unused VFP_DREG macros
@ 2020-08-03 13:27 ` Alex Bennée
0 siblings, 0 replies; 5+ messages in thread
From: Alex Bennée @ 2020-08-03 13:27 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-arm, qemu-devel
Peter Maydell <peter.maydell@linaro.org> writes:
> 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>
Reviewed-by: Alex Bennée <alex.bennee@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
--
Alex Bennée
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 00/10] target/arm: Various v8.1M minor features
@ 2020-10-12 15:33 Peter Maydell
2020-10-12 15:33 ` [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
0 siblings, 1 reply; 5+ 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] 5+ messages in thread* [PATCH] target/arm: Delete unused VFP_DREG macros
2020-10-12 15:33 [PATCH 00/10] target/arm: Various v8.1M minor features Peter Maydell
@ 2020-10-12 15:33 ` Peter Maydell
0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2020-10-12 15:33 UTC (permalink / raw)
To: qemu-arm, qemu-devel; +Cc: Richard Henderson
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] 5+ messages in thread
end of thread, other threads:[~2020-10-12 15:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-03 12:48 [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
2020-08-03 13:10 ` Philippe Mathieu-Daudé
2020-08-03 13:27 ` Alex Bennée
2020-08-03 13:27 ` Alex Bennée
-- strict thread matches above, loose matches on Subject: below --
2020-10-12 15:33 [PATCH 00/10] target/arm: Various v8.1M minor features Peter Maydell
2020-10-12 15:33 ` [PATCH] target/arm: Delete unused VFP_DREG macros Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.