[{"id":1767290,"web_url":"http://patchwork.ozlabs.org/comment/1767290/","msgid":"<7e503b73-717a-d874-2610-de0697e68158@amsat.org>","list_archive_url":null,"date":"2017-09-12T18:52:27","subject":"Re: [Qemu-devel] [PATCH v2 11/16] tcg: Remove tcg_regset_clear","submitter":{"id":70924,"url":"http://patchwork.ozlabs.org/api/people/70924/","name":"Philippe Mathieu-Daudé","email":"f4bug@amsat.org"},"content":"On 09/12/2017 01:25 PM, Richard Henderson wrote:\n> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>\n\nReviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>\n\n> ---\n>   tcg/tcg.h                    | 1 -\n>   tcg/aarch64/tcg-target.inc.c | 2 +-\n>   tcg/arm/tcg-target.inc.c     | 2 +-\n>   tcg/i386/tcg-target.inc.c    | 4 ++--\n>   tcg/mips/tcg-target.inc.c    | 2 +-\n>   tcg/ppc/tcg-target.inc.c     | 2 +-\n>   tcg/s390/tcg-target.inc.c    | 8 ++++----\n>   tcg/sparc/tcg-target.inc.c   | 2 +-\n>   tcg/tcg.c                    | 5 ++---\n>   tcg/tci/tcg-target.inc.c     | 2 +-\n>   10 files changed, 14 insertions(+), 16 deletions(-)\n> \n> diff --git a/tcg/tcg.h b/tcg/tcg.h\n> index 37ad9fddab..7226727ee4 100644\n> --- a/tcg/tcg.h\n> +++ b/tcg/tcg.h\n> @@ -210,7 +210,6 @@ typedef enum TCGOpcode {\n>       NB_OPS,\n>   } TCGOpcode;\n>   \n> -#define tcg_regset_clear(d) (d) = 0\n>   #define tcg_regset_set(d, s) (d) = (s)\n>   #define tcg_regset_set32(d, reg, val32) (d) |= (val32) << (reg)\n>   #define tcg_regset_set_reg(d, r) (d) |= 1L << (r)\n> diff --git a/tcg/aarch64/tcg-target.inc.c b/tcg/aarch64/tcg-target.inc.c\n> index 1ff32e43f5..141a86a57d 100644\n> --- a/tcg/aarch64/tcg-target.inc.c\n> +++ b/tcg/aarch64/tcg-target.inc.c\n> @@ -1960,7 +1960,7 @@ static void tcg_target_init(TCGContext *s)\n>                        (1 << TCG_REG_X16) | (1 << TCG_REG_X17) |\n>                        (1 << TCG_REG_X18) | (1 << TCG_REG_X30));\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_SP);\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_FP);\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_TMP);\n> diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c\n> index db46aea38c..f0c176554b 100644\n> --- a/tcg/arm/tcg-target.inc.c\n> +++ b/tcg/arm/tcg-target.inc.c\n> @@ -2173,7 +2173,7 @@ static void tcg_target_init(TCGContext *s)\n>                        (1 << TCG_REG_R12) |\n>                        (1 << TCG_REG_R14));\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_TMP);\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_PC);\n> diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c\n> index fbb41c3b7a..e9766f6686 100644\n> --- a/tcg/i386/tcg-target.inc.c\n> +++ b/tcg/i386/tcg-target.inc.c\n> @@ -2999,7 +2999,7 @@ static void tcg_target_init(TCGContext *s)\n>           tcg_regset_set32(tcg_target_available_regs[TCG_TYPE_V256], 0, 0xff0000);\n>       }\n>   \n> -    tcg_regset_clear(tcg_target_call_clobber_regs);\n> +    tcg_target_call_clobber_regs = 0;\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX);\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX);\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX);\n> @@ -3014,7 +3014,7 @@ static void tcg_target_init(TCGContext *s)\n>           tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_R11);\n>       }\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);\n>   }\n>   \n> diff --git a/tcg/mips/tcg-target.inc.c b/tcg/mips/tcg-target.inc.c\n> index 750baadf37..85c1abd14b 100644\n> --- a/tcg/mips/tcg-target.inc.c\n> +++ b/tcg/mips/tcg-target.inc.c\n> @@ -2629,7 +2629,7 @@ static void tcg_target_init(TCGContext *s)\n>                      (1 << TCG_REG_T8) |\n>                      (1 << TCG_REG_T9));\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_ZERO); /* zero register */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_K0);   /* kernel use only */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_K1);   /* kernel use only */\n> diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c\n> index 21d764c102..b1df1e146a 100644\n> --- a/tcg/ppc/tcg-target.inc.c\n> +++ b/tcg/ppc/tcg-target.inc.c\n> @@ -2786,7 +2786,7 @@ static void tcg_target_init(TCGContext *s)\n>                        (1 << TCG_REG_R11) |\n>                        (1 << TCG_REG_R12));\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_R0); /* tcg temp */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_R1); /* stack pointer */\n>   #if defined(_CALL_SYSV)\n> diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c\n> index e7ab8e4df3..01baa33673 100644\n> --- a/tcg/s390/tcg-target.inc.c\n> +++ b/tcg/s390/tcg-target.inc.c\n> @@ -413,12 +413,12 @@ static const char *target_parse_constraint(TCGArgConstraint *ct,\n>           break;\n>       case 'a':                  /* force R2 for division */\n>           ct->ct |= TCG_CT_REG;\n> -        tcg_regset_clear(ct->u.regs);\n> +        ct->u.regs = 0;\n>           tcg_regset_set_reg(ct->u.regs, TCG_REG_R2);\n>           break;\n>       case 'b':                  /* force R3 for division */\n>           ct->ct |= TCG_CT_REG;\n> -        tcg_regset_clear(ct->u.regs);\n> +        ct->u.regs = 0;\n>           tcg_regset_set_reg(ct->u.regs, TCG_REG_R3);\n>           break;\n>       case 'A':\n> @@ -2522,7 +2522,7 @@ static void tcg_target_init(TCGContext *s)\n>       tcg_regset_set32(tcg_target_available_regs[TCG_TYPE_I32], 0, 0xffff);\n>       tcg_regset_set32(tcg_target_available_regs[TCG_TYPE_I64], 0, 0xffff);\n>   \n> -    tcg_regset_clear(tcg_target_call_clobber_regs);\n> +    tcg_target_call_clobber_regs = 0;\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_R0);\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_R1);\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_R2);\n> @@ -2535,7 +2535,7 @@ static void tcg_target_init(TCGContext *s)\n>       /* The return register can be considered call-clobbered.  */\n>       tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_R14);\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_TMP0);\n>       /* XXX many insns can't be used with R0, so we better avoid it for now */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_R0);\n> diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c\n> index bd7c1461c6..ccd83205d5 100644\n> --- a/tcg/sparc/tcg-target.inc.c\n> +++ b/tcg/sparc/tcg-target.inc.c\n> @@ -1771,7 +1771,7 @@ static void tcg_target_init(TCGContext *s)\n>                        (1 << TCG_REG_O5) |\n>                        (1 << TCG_REG_O7));\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_G0); /* zero */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_G6); /* reserved for os */\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_G7); /* thread pointer */\n> diff --git a/tcg/tcg.c b/tcg/tcg.c\n> index 240bcaa8d5..f40cce3364 100644\n> --- a/tcg/tcg.c\n> +++ b/tcg/tcg.c\n> @@ -1590,7 +1590,7 @@ static void process_op_defs(TCGContext *s)\n>               /* Incomplete TCGTargetOpDef entry. */\n>               tcg_debug_assert(ct_str != NULL);\n>   \n> -            tcg_regset_clear(def->args_ct[i].u.regs);\n> +            def->args_ct[i].u.regs = 0;\n>               def->args_ct[i].ct = 0;\n>               while (*ct_str != '\\0') {\n>                   switch(*ct_str) {\n> @@ -2754,9 +2754,8 @@ static void tcg_reg_alloc_call(TCGContext *s, int nb_oargs, int nb_iargs,\n>                       tcg_out_mov(s, ts->type, reg, ts->reg);\n>                   }\n>               } else {\n> -                TCGRegSet arg_set;\n> +                TCGRegSet arg_set = 0;\n>   \n> -                tcg_regset_clear(arg_set);\n>                   tcg_regset_set_reg(arg_set, reg);\n>                   temp_load(s, ts, arg_set, allocated_regs);\n>               }\n> diff --git a/tcg/tci/tcg-target.inc.c b/tcg/tci/tcg-target.inc.c\n> index 94461b2baf..f9644334cc 100644\n> --- a/tcg/tci/tcg-target.inc.c\n> +++ b/tcg/tci/tcg-target.inc.c\n> @@ -879,7 +879,7 @@ static void tcg_target_init(TCGContext *s)\n>       tcg_regset_set32(tcg_target_call_clobber_regs, 0,\n>                        BIT(TCG_TARGET_NB_REGS) - 1);\n>   \n> -    tcg_regset_clear(s->reserved_regs);\n> +    s->reserved_regs = 0;\n>       tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);\n>   \n>       /* We use negative offsets from \"sp\" so that we can distinguish\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"E8uoqFMO\"; dkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xsDTx19D2z9s8J\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 04:53:53 +1000 (AEST)","from localhost ([::1]:38151 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1drqJj-0007iD-J0\n\tfor incoming@patchwork.ozlabs.org; Tue, 12 Sep 2017 14:53:51 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:60643)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <philippe.mathieu.daude@gmail.com>)\n\tid 1drqIU-00076p-Hd\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 14:52:37 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <philippe.mathieu.daude@gmail.com>)\n\tid 1drqIR-0008Ks-9w\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 14:52:34 -0400","from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:35616)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.71) (envelope-from <philippe.mathieu.daude@gmail.com>)\n\tid 1drqIR-0008KO-50\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 14:52:31 -0400","by mail-qk0-x241.google.com with SMTP id o77so7705387qke.2\n\tfor <qemu-devel@nongnu.org>; Tue, 12 Sep 2017 11:52:31 -0700 (PDT)","from [192.168.1.10] ([181.93.89.178])\n\tby smtp.gmail.com with ESMTPSA id\n\ts16sm8365797qks.63.2017.09.12.11.52.28\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 12 Sep 2017 11:52:29 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=YUCN5DUflJHfJlZqJIH3bUZ7dkdKb2sBUyWjaUgLars=;\n\tb=E8uoqFMOcFDE2D/rMFdbF0KLqHE+EfQLtKD4CqUKVTJSJin0fOvOOto3n4O6AFcvlz\n\tAMf+H5HGMkqLzy+yx3QaqvI72GFPbcctdZdcEj9j9yZ9CsI60kdbyljJJ5c6THfCsCKZ\n\tOBsccSv5iQC8KcHIA/AjK6aFgi/DVmBWEcfqvM0iUCKWMP8YMajqJR0bxCD3W8CKg88z\n\tV8JNBk2Jcd3zmSCJuWRa9+RMPWM77THFyPmdw3nE0K0Wbjt7m9oxd2ZC8+oANVSqJ6Bu\n\t+vGabim9wrz1wZaomzGoGBIhFNU4sMX5Y4/1ZHUcpEjjb6MRbUibrZ3LlJJSXfavmHWS\n\t9GBA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=YUCN5DUflJHfJlZqJIH3bUZ7dkdKb2sBUyWjaUgLars=;\n\tb=OlU+/Y2ONcmfVt+d5jJ3Fw6k/Sa09U1bRdn1lAY94x+aZsW3GAVVY9xGhO16VStV2v\n\tq9JZAHtXx+NwZM0rQj5wjNff8tTo8nfh/IQkJ3An9Rp5I8P6shXxmBDvqlfNG9U39P9D\n\tgAB7XesjvLC4Ay7Z5hG8iNta7+4Hl7Be61m17WxMOlKA4hHJAMBDtCF366o2CC4iBCEv\n\tMmHEn3VPcx6ckM6pBUa/O1LezXxZiHBH8ZS0RAODPjayFs/5/2+mTmStsbQK9nxfeUPU\n\tU4q6VN5H7mvwpUJBk4WPuBmiKt1XTlqJmy2qZgfNUtz8ONOI4H2GW/wiqhV/tdPsm03i\n\taTmA==","X-Gm-Message-State":"AHPjjUhJ/8wjs5N4/7vYlBsBGcSDV0VAtCBRd1um9JApNDBV9CyB+TUt\n\tTUCw8J1j62tix/hBHjl08A==","X-Google-Smtp-Source":"AOwi7QDU7kRyTvIQINWYaN4FL5t3CkYLxTzxwhIwpk5tQ8B65ynkwRpCjiF9jBtTdAXQo68jKBLWDw==","X-Received":"by 10.55.3.133 with SMTP id 127mr22592318qkd.42.1505242350381;\n\tTue, 12 Sep 2017 11:52:30 -0700 (PDT)","To":"Richard Henderson <richard.henderson@linaro.org>, qemu-devel@nongnu.org","References":"<20170912162513.21694-1-richard.henderson@linaro.org>\n\t<20170912162513.21694-12-richard.henderson@linaro.org>","From":"=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <f4bug@amsat.org>","Message-ID":"<7e503b73-717a-d874-2610-de0697e68158@amsat.org>","Date":"Tue, 12 Sep 2017 15:52:27 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170912162513.21694-12-richard.henderson@linaro.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"8bit","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"2607:f8b0:400d:c09::241","Subject":"Re: [Qemu-devel] [PATCH v2 11/16] tcg: Remove tcg_regset_clear","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"alex.bennee@linaro.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]