Fix alignment of 64bit args
authormalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Nov 2008 19:55:15 +0000 (19:55 +0000)
committermalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Nov 2008 19:55:15 +0000 (19:55 +0000)
Unbreaks sparc and mips64el. (Reported by Thiemo Seufer)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5815 c046a42c-6fe2-441c-8c8c-71466251a162

tcg/tcg.c

index ad631e9..78e7f93 100644 (file)
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -621,8 +621,9 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags,
 #endif
 #ifdef TCG_TARGET_CALL_ALIGN_ARGS
             /* some targets want aligned 64 bit args */
-            if (i & 1) {
+            if (real_args & 1) {
                 *gen_opparam_ptr++ = TCG_CALL_DUMMY_ARG;
+                real_args++;
             }
 #endif
 #ifdef TCG_TARGET_WORDS_BIGENDIAN