From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id 07C213857C5B for ; Tue, 12 Jul 2022 14:13:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 07C213857C5B Received: by mail-ed1-x532.google.com with SMTP id y4so10289640edc.4 for ; Tue, 12 Jul 2022 07:13:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IsseuSKGOK5r/stuA0VuUM4drcKcjXgQwoK3Knqm6kA=; b=cQ/8H4kaoY0F0IXOGppvbz0lNKBaxhm07cbnRWEYesXyHoPhXe8oEB5aHGJBTDexjL 4QLdaTJrcJZI0QeJI3TVFmi76luxYk8O9PjYxql3WiAAj404uJkFAGJCZs8Ql3oXJXI2 bl74W6JOLZJgQV23zpeV+pv6RUkiweJvx3B1BKbHvb2+nbVZRDfhlYL72cFFwOezVDDe hTILVYOb01HF+BbfA5CtBezTgYC7uP3OURBhVGa++z6E1XuWmU62fURuMijlEthwKt73 blgiNI5yj8gBb2LeNzSlUUdLwdDH4CxH5Qz/dWgiRqQx5myJq5ylgVl9oSKzG+A7g35o N7Og== X-Gm-Message-State: AJIora/IaJq/SmurFPgHp88f/PWm6nwfkl9j+rG9rTZIm4gGrLO1bUEL 5GiUNk6C6pOqIMH3YTU+MR8G4LLN0AvXPh5hiZEsZ5JtRDk= X-Google-Smtp-Source: AGRyM1tPhLnzJ7hIFDYI1Au+TYyY4eR3vaZQCn+srswBDaQ31mLVlhrenLUs1P6JVMIzX9L8mKeYlq10mrwXyAQ8ylY= X-Received: by 2002:a05:6402:11c7:b0:43a:c61c:21cd with SMTP id j7-20020a05640211c700b0043ac61c21cdmr20894688edw.108.1657635227676; Tue, 12 Jul 2022 07:13:47 -0700 (PDT) MIME-Version: 1.0 References: <20220712135057.170969-1-ghostmansd@gmail.com> <20220712135057.170969-2-ghostmansd@gmail.com> In-Reply-To: <20220712135057.170969-2-ghostmansd@gmail.com> From: Dmitry Selyutin Date: Tue, 12 Jul 2022 17:13:11 +0300 Message-ID: Subject: Re: [PATCH 1/1] ppc: support register names in macros To: Binutils Cc: Alan Modra , Luke Leighton , Jan Beulich Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2022 14:13:50 -0000 On Tue, Jul 12, 2022 at 4:51 PM Dmitry Selyutin wrote: > @@ -7752,23 +7714,15 @@ tc_ppc_regname_to_dw2regnum (char *regname) > if (strcmp (regnames[i].name, regname) == 0) > return regnames[i].dw2regnum; > > - if (regname[0] == 'r' || regname[0] == 'f' || regname[0] == 'v') > - { > - p = regname + 1 + (regname[1] == '.'); > - regnum = strtoul (p, &q, 10); > - if (p == q || *q || regnum >= 32) > - return -1; > - if (regname[0] == 'f') > - regnum += 32; > - else if (regname[0] == 'v') > - regnum += 77; > - } > - else if (regname[0] == 'c' && regname[1] == 'r') > - { > - p = regname + 2 + (regname[2] == '.'); > - if (p[0] < '0' || p[0] > '7' || p[1]) > - return -1; > - regnum = p[0] - '0' + 68; > - } > - return regnum; > + if (regname[0] == '%' && ISALPHA (regname[1])) > + ++regname; > + > + reg = reg_name_search (reg_names, REG_NAME_CNT, regname); > + if (reg == NULL) > + reg = reg_name_search (cr_names, CR_NAME_CNT, regname); > + > + if (reg != NULL) > + return reg->value; > + > + return -1; > } I'm by no means a CFI expert, so I'm not sure whether we should be able to accept all registers here. Judging from the original (overly simplified) code, we should only consider a register with one of these flags: PPC_OPERAND_GPR PPC_OPERAND_FPR PPC_OPERAND_VR PPC_OPERAND_CR_REG I'm inclined to add this check for reg->flags. Any objections? -- Best regards, Dmitry Selyutin