The first patch was triggered by a compilation error with configuration --enable-debug-tcg on 64 bit hosts.
While looking for a fix, I noticed another issue in the same function which I tried to fix in the 2nd patch. Finally, I reviewed all allocations of TCGv_i64 values and the matching tcg_temp_free_i64() calls. Please review my patches - I only did a compile check on x86 linux. Feel free to combine patches if larger patches are preferred. Regards, Stefan W. [PATCH 01/12] target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() [PATCH 02/12] target-s390x: Fix duplicate call of tcg_temp_new_i64 [PATCH 03/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 04/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 05/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 06/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 07/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 08/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 09/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 10/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 11/12] target-s390x: Add missing tcg_temp_free_i64() [PATCH 12/12] target-s390x: Add missing tcg_temp_free_i32()