From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VtkmD-0006yP-Sn for qemu-devel@nongnu.org; Thu, 19 Dec 2013 16:05:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vtkm5-0003Ay-GY for qemu-devel@nongnu.org; Thu, 19 Dec 2013 16:05:01 -0500 Received: from mail-qc0-x229.google.com ([2607:f8b0:400d:c01::229]:38585) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vtkm5-0003Al-C0 for qemu-devel@nongnu.org; Thu, 19 Dec 2013 16:04:53 -0500 Received: by mail-qc0-f169.google.com with SMTP id r5so1510932qcx.0 for ; Thu, 19 Dec 2013 13:04:50 -0800 (PST) Sender: Richard Henderson Message-ID: <52B35F6D.9050809@twiddle.net> Date: Thu, 19 Dec 2013 13:04:45 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1387293144-11554-1-git-send-email-peter.maydell@linaro.org> <1387293144-11554-18-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1387293144-11554-18-git-send-email-peter.maydell@linaro.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 17/21] target-arm: A64: add support for conditional compare insns List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , qemu-devel@nongnu.org Cc: patches@linaro.org, Michael Matz , Claudio Fontana , Dirk Mueller , Will Newton , Laurent Desnogues , =?ISO-8859-1?Q?Alex_Benn=E9e?= , kvmarm@lists.cs.columbia.edu, Christoffer Dall On 12/17/2013 07:12 AM, Peter Maydell wrote: > +static void disas_cc(DisasContext *s, uint32_t insn) > { > + unsigned int sf, op, y, cond, rn, nzcv, is_imm; > + int label_continue; > + TCGv_i64 tcg_tmp, tcg_y, tcg_rn; Don't you get a may be used uninitialized warning for label_continue? > + tcg_tmp = tcg_temp_new_i64(); > + > + if (cond < 0x0e) { /* not always */ > + int label_match = gen_new_label(); > + label_continue = gen_new_label(); > + arm_gen_test_cc(cond, label_match); > + /* nomatch: */ > + tcg_gen_movi_i64(tcg_tmp, nzcv << 28); > + gen_set_nzcv(tcg_tmp); > + tcg_gen_br(label_continue); > + gen_set_label(label_match); > + } You can't re-use tcg_tmp across basic blocks like this. r~