]> Git Repo - qemu.git/blobdiff - tcg/tcg.c
fixed zero shifts (64 bit case)
[qemu.git] / tcg / tcg.c
index c5b659438888999dbf713bdac47d5be8e7fc80f2..1ccde198aec8be5f5a6c9b57e80d6bd166a76255 100644 (file)
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -622,9 +622,10 @@ void tcg_gen_call(TCGContext *s, TCGv func, unsigned int flags,
 void tcg_gen_shifti_i64(TCGv ret, TCGv arg1, 
                         int c, int right, int arith)
 {
-    if (c == 0)
-        return;
-    if (c >= 32) {
+    if (c == 0) {
+        tcg_gen_mov_i32(ret, arg1);
+        tcg_gen_mov_i32(TCGV_HIGH(ret), TCGV_HIGH(arg1));
+    } else if (c >= 32) {
         c -= 32;
         if (right) {
             if (arith) {
This page took 0.022662 seconds and 4 git commands to generate.