qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions
@ 2025-02-05  9:03 Mikael Szreder
  2025-02-05  9:03 ` [PATCH v2 1/2] target/sparc: Fix register selection for the fdtox and fqtox instructions Mikael Szreder
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mikael Szreder @ 2025-02-05  9:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: Richard Henderson, Mark Cave-Ayland, Artyom Tarasenko,
	Mikael Szreder

This patchset resolves issues with incorrect register selection for the
F*TOx(destination registers) and FxTO*(source registers) instructions
in the Sparc architecture.

An updated testing program can be found in issue #2802[1].

[1]: https://gitlab.com/qemu-project/qemu/-/issues/2802

Changelog:
v2:
- Corrected a mistake I made in the FqTOx instruction
- Fixed issues in the FsTOx, FxTOs, FxTOd, FxTOq instructions as well

Mikael Szreder (2):
  target/sparc: Fix register selection for the fdtox and fqtox
    instructions
  target/sparc: Fix register selection for all F*TOx and FxTO*
    instructions

 target/sparc/insns.decode | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

-- 
2.48.1



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

* [PATCH v2 1/2] target/sparc: Fix register selection for the fdtox and fqtox instructions
  2025-02-05  9:03 [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
@ 2025-02-05  9:03 ` Mikael Szreder
  2025-02-05  9:03 ` [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
  2025-02-15 19:55 ` [PATCH v2 0/2] " Richard Henderson
  2 siblings, 0 replies; 5+ messages in thread
From: Mikael Szreder @ 2025-02-05  9:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: Richard Henderson, Mark Cave-Ayland, Artyom Tarasenko,
	Mikael Szreder

A bug was introduced in commit 0bba7572d40d which causes the fdtox and
 fqtox instructions to incorrectly select the destination registers.
More information and a test program can be found in issue #2802.

Fixes: 0bba7572d40d ("target/sparc: Perform DFPREG/QFPREG in decodetree")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2802
Signed-off-by: Mikael Szreder <git@miszr.win>
---
 target/sparc/insns.decode | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 989c20b44a..694a28d88c 100644
--- a/target/sparc/insns.decode
+++ b/target/sparc/insns.decode
@@ -322,8 +322,8 @@ FNHADDs     10 ..... 110100 ..... 0 0111 0001 .....        @r_r_r
 FNHADDd     10 ..... 110100 ..... 0 0111 0010 .....        @d_d_d
 FNsMULd     10 ..... 110100 ..... 0 0111 1001 .....        @d_r_r
 FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @r_r2
-FdTOx       10 ..... 110100 00000 0 1000 0010 .....        @r_d2
-FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @r_q2
+FdTOx       10 ..... 110100 00000 0 1000 0010 .....        @d_d2
+FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @q_q2
 FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_r2
 FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_r2
 FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_r2
-- 
2.48.1



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

* [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions
  2025-02-05  9:03 [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
  2025-02-05  9:03 ` [PATCH v2 1/2] target/sparc: Fix register selection for the fdtox and fqtox instructions Mikael Szreder
@ 2025-02-05  9:03 ` Mikael Szreder
  2025-02-09 21:23   ` Artyom Tarasenko
  2025-02-15 19:55 ` [PATCH v2 0/2] " Richard Henderson
  2 siblings, 1 reply; 5+ messages in thread
From: Mikael Szreder @ 2025-02-05  9:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: Richard Henderson, Mark Cave-Ayland, Artyom Tarasenko,
	Mikael Szreder

Fixed a mistake I made in the FqTOx instruction.
Fixed issues in the FsTOx, FxTOs, FxTOd, FxTOq instructions.

Fixes: 0bba7572d40d ("target/sparc: Perform DFPREG/QFPREG in decodetree")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2802
Signed-off-by: Mikael Szreder <git@miszr.win>
---
 target/sparc/insns.decode | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 694a28d88c..cfcdf6690e 100644
--- a/target/sparc/insns.decode
+++ b/target/sparc/insns.decode
@@ -321,12 +321,12 @@ FdMULq      10 ..... 110100 ..... 0 0110 1110 .....        @q_d_d
 FNHADDs     10 ..... 110100 ..... 0 0111 0001 .....        @r_r_r
 FNHADDd     10 ..... 110100 ..... 0 0111 0010 .....        @d_d_d
 FNsMULd     10 ..... 110100 ..... 0 0111 1001 .....        @d_r_r
-FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @r_r2
+FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @d_r2
 FdTOx       10 ..... 110100 00000 0 1000 0010 .....        @d_d2
-FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @q_q2
-FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_r2
-FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_r2
-FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_r2
+FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @d_q2
+FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_d2
+FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_d2
+FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_d2
 FiTOs       10 ..... 110100 00000 0 1100 0100 .....        @r_r2
 FdTOs       10 ..... 110100 00000 0 1100 0110 .....        @r_d2
 FqTOs       10 ..... 110100 00000 0 1100 0111 .....        @r_q2
-- 
2.48.1



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

* Re: [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions
  2025-02-05  9:03 ` [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
@ 2025-02-09 21:23   ` Artyom Tarasenko
  0 siblings, 0 replies; 5+ messages in thread
From: Artyom Tarasenko @ 2025-02-09 21:23 UTC (permalink / raw)
  To: Mikael Szreder; +Cc: qemu-devel, Richard Henderson, Mark Cave-Ayland

On Wed, Feb 5, 2025 at 10:03 AM Mikael Szreder <git@miszr.win> wrote:
>
> Fixed a mistake I made in the FqTOx instruction.
> Fixed issues in the FsTOx, FxTOs, FxTOd, FxTOq instructions.
>
> Fixes: 0bba7572d40d ("target/sparc: Perform DFPREG/QFPREG in decodetree")
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2802
> Signed-off-by: Mikael Szreder <git@miszr.win>

Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>

> ---
>  target/sparc/insns.decode | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
> index 694a28d88c..cfcdf6690e 100644
> --- a/target/sparc/insns.decode
> +++ b/target/sparc/insns.decode
> @@ -321,12 +321,12 @@ FdMULq      10 ..... 110100 ..... 0 0110 1110 .....        @q_d_d
>  FNHADDs     10 ..... 110100 ..... 0 0111 0001 .....        @r_r_r
>  FNHADDd     10 ..... 110100 ..... 0 0111 0010 .....        @d_d_d
>  FNsMULd     10 ..... 110100 ..... 0 0111 1001 .....        @d_r_r
> -FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @r_r2
> +FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @d_r2
>  FdTOx       10 ..... 110100 00000 0 1000 0010 .....        @d_d2
> -FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @q_q2
> -FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_r2
> -FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_r2
> -FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_r2
> +FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @d_q2
> +FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_d2
> +FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_d2
> +FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_d2
>  FiTOs       10 ..... 110100 00000 0 1100 0100 .....        @r_r2
>  FdTOs       10 ..... 110100 00000 0 1100 0110 .....        @r_d2
>  FqTOs       10 ..... 110100 00000 0 1100 0111 .....        @r_q2
> --
> 2.48.1
>


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

* Re: [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions
  2025-02-05  9:03 [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
  2025-02-05  9:03 ` [PATCH v2 1/2] target/sparc: Fix register selection for the fdtox and fqtox instructions Mikael Szreder
  2025-02-05  9:03 ` [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
@ 2025-02-15 19:55 ` Richard Henderson
  2 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2025-02-15 19:55 UTC (permalink / raw)
  To: Mikael Szreder, qemu-devel; +Cc: Mark Cave-Ayland, Artyom Tarasenko

On 2/5/25 01:03, Mikael Szreder wrote:
> Changelog:
> v2:
> - Corrected a mistake I made in the FqTOx instruction
> - Fixed issues in the FsTOx, FxTOs, FxTOd, FxTOq instructions as well

Queued, squashing the two patches together.


r~


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

end of thread, other threads:[~2025-02-15 19:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-05  9:03 [PATCH v2 0/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
2025-02-05  9:03 ` [PATCH v2 1/2] target/sparc: Fix register selection for the fdtox and fqtox instructions Mikael Szreder
2025-02-05  9:03 ` [PATCH v2 2/2] target/sparc: Fix register selection for all F*TOx and FxTO* instructions Mikael Szreder
2025-02-09 21:23   ` Artyom Tarasenko
2025-02-15 19:55 ` [PATCH v2 0/2] " Richard Henderson

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).