51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
|
|
From 6a071b8797f06850073b3a095a622117e554f302 Mon Sep 17 00:00:00 2001
|
||
|
|
From: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
||
|
|
Date: Mon, 9 Sep 2024 08:29:05 +0000
|
||
|
|
Subject: [PATCH] target/arm: Fix alignment for VLD4.32 mainline inclusion
|
||
|
|
commit 3a661024cc680104ce2cd21f8f5466dacba6f405 category: bugfix
|
||
|
|
MIME-Version: 1.0
|
||
|
|
Content-Type: text/plain; charset=UTF-8
|
||
|
|
Content-Transfer-Encoding: 8bit
|
||
|
|
|
||
|
|
---------------------------------------------------------------
|
||
|
|
|
||
|
|
When requested, the alignment for VLD4.32 is 8 and not 16.
|
||
|
|
|
||
|
|
See ARM documentation about VLD4 encoding:
|
||
|
|
ebytes = 1 << UInt(size);
|
||
|
|
if size == '10' then
|
||
|
|
alignment = if a == '0' then 1 else 8;
|
||
|
|
else
|
||
|
|
alignment = if a == '0' then 1 else 4*ebytes;
|
||
|
|
|
||
|
|
Signed-off-by: Clément Chigot <chigot@adacore.com>
|
||
|
|
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
|
||
|
|
Message-id: 20220914105058.2787404-1-chigot@adacore.com
|
||
|
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
||
|
|
|
||
|
|
Signed-off-by: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
target/arm/translate-neon.c | 6 +++++-
|
||
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/target/arm/translate-neon.c b/target/arm/translate-neon.c
|
||
|
|
index dd43de558e..761fd6a755 100644
|
||
|
|
--- a/target/arm/translate-neon.c
|
||
|
|
+++ b/target/arm/translate-neon.c
|
||
|
|
@@ -586,7 +586,11 @@ static bool trans_VLD_all_lanes(DisasContext *s, arg_VLD_all_lanes *a)
|
||
|
|
case 3:
|
||
|
|
return false;
|
||
|
|
case 4:
|
||
|
|
- align = pow2_align(size + 2);
|
||
|
|
+ if (size == 2) {
|
||
|
|
+ align = pow2_align(3);
|
||
|
|
+ } else {
|
||
|
|
+ align = pow2_align(size + 2);
|
||
|
|
+ }
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
g_assert_not_reached();
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|