qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH Risu 2/7] risu_ppc64le: fix 32-bit mov immediate


From: Jose Ricardo Ziviani
Subject: [Qemu-devel] [PATCH Risu 2/7] risu_ppc64le: fix 32-bit mov immediate
Date: Sat, 4 Feb 2017 00:17:17 -0200

Two instructions are necessary but the high value should be written
first, shifted 16 bit left, and then or'ed the lower value. This commit
fixes the problem.

Signed-off-by: Jose Ricardo Ziviani <address@hidden>
---
 risugen_ppc64.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/risugen_ppc64.pm b/risugen_ppc64.pm
index ca052de..40f3d4f 100644
--- a/risugen_ppc64.pm
+++ b/risugen_ppc64.pm
@@ -61,8 +61,8 @@ sub write_mov_ri32($$)
 {
     my ($rd, $imm) = @_;
 
-    # li rd,address@hidden
-    write_mov_ri16($rd, ($imm >> 16) & 0xffff);
+    # lis rd,address@hidden
+    insn32(0xf << 26 | $rd << 21 | ($imm >> 16));
     # ori rd,rd,address@hidden
     insn32((0x18 << 26) | ($rd << 21) | ($rd << 16) | ($imm & 0xffff));
 }
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]