From: "Maciej W. Rozycki" <macro@codesourcery.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH] microMIPS support
Date: Thu, 26 Apr 2012 19:04:00 -0000 [thread overview]
Message-ID: <alpine.DEB.1.10.1204261954270.19835@tp.orcam.me.uk> (raw)
In-Reply-To: <20120426183713.GA21029@host2.jankratochvil.net>
Hi Jan,
> sure I have seen no MIPS arch bugs...
Yeah...
> > +/* For backwards compatibility we default to MIPS16. This flag is
> > + overridden as soon as unambiguous ELF file flags tell us the
> > + compressed ISA encoding used. */
> > +static const char mips_compression_mips16[] = "mips16";
> > +static const char mips_compression_micromips[] = "micromips";
> > +static const char *mips_compression_strings[] = {
>
> nitpick, be more readonly:
>
> static const char *const mips_compression_strings[] = {
Hmm, no objection to your suggestion per se, but is it allowed by C89?
> > + mips_compression_mips16,
> > + mips_compression_micromips,
> > + NULL
> > +};
> [...]
> > +/* Return one iff MSYM refers to standard ISA code. */
> > +
> > static int
> > -msymbol_is_special (struct minimal_symbol *msym)
> > +msymbol_is_mips (struct minimal_symbol *msym)
> > +{
> > + return !(MSYMBOL_TARGET_FLAG_1 (msym) | MSYMBOL_TARGET_FLAG_2 (msym));
>
> (a) | -> ||
> (b) I have found here it is best to expand logical expressions for the patch
> readers, despite author may see it more logical with the parentheses.
>
> return !MSYMBOL_TARGET_FLAG_1 (msym) && !MSYMBOL_TARGET_FLAG_2 (msym);
Bitwise OR usually produces better code that has fewer branches (though
hosts that support conditional move instructions may limit the impact here
a bit), here's no harm to evaluate both sides of the expression in all
cases.
> > @@ -686,8 +779,8 @@ mips_ax_pseudo_register_push_stack (stru
> > return 0;
> > }
> >
> > -/* Table to translate MIPS16 register field to actual register number. */
> > -static int mips16_to_32_reg[8] = { 16, 17, 2, 3, 4, 5, 6, 7 };
> > +/* Table to translate 3-bit register field to actual register number. */
> > +static int mips_reg3_to_reg[8] = { 16, 17, 2, 3, 4, 5, 6, 7 };
>
> It can be const.
One change at a time.
This lookup can also be transformed into a simple
three-assembly-instruction calculation, but it's called in enough places
that I think it's cheaper in the current form. But for this to stand this
table should also be of the "unsigned char" type.
Thanks for your notes.
Maciej
next prev parent reply other threads:[~2012-04-26 19:04 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-24 21:18 Maciej W. Rozycki
2012-04-25 6:20 ` Eli Zaretskii
2012-04-26 13:54 ` Maciej W. Rozycki
2012-04-26 14:14 ` Eli Zaretskii
2012-04-26 18:03 ` Maciej W. Rozycki
2012-04-26 20:39 ` Eli Zaretskii
2012-04-27 18:16 ` Maciej W. Rozycki
2012-04-27 18:24 ` Eli Zaretskii
[not found] ` <alpine.DEB.1.10.1204302334520.19835@tp.orcam.me.uk>
2012-05-02 16:39 ` Eli Zaretskii
2012-05-17 15:07 ` Maciej W. Rozycki
2012-05-17 16:10 ` Eli Zaretskii
2012-05-18 23:13 ` Maciej W. Rozycki
2012-05-19 8:20 ` Eli Zaretskii
2012-04-25 13:13 ` Yao Qi
2012-04-25 15:57 ` Maciej W. Rozycki
2012-04-25 15:54 ` Joel Brobecker
2012-04-25 17:18 ` Maciej W. Rozycki
2012-04-25 18:12 ` Joel Brobecker
2012-04-25 18:27 ` Maciej W. Rozycki
2012-04-26 18:38 ` Jan Kratochvil
2012-04-26 19:04 ` Maciej W. Rozycki [this message]
2012-04-26 19:29 ` Jan Kratochvil
2012-04-26 21:59 ` Maciej W. Rozycki
2012-04-27 7:11 ` Jan Kratochvil
2012-04-27 15:14 ` Maciej W. Rozycki
2012-04-27 15:29 ` Pedro Alves
2012-04-27 15:46 ` Maciej W. Rozycki
2012-04-27 15:54 ` Tom Tromey
2012-05-18 23:53 ` Maciej W. Rozycki
2012-05-18 21:32 ` [PATCH] microMIPS support (Linux signal trampolines) Maciej W. Rozycki
2012-05-18 22:25 ` Mark Kettenis
2012-05-21 14:33 ` Maciej W. Rozycki
2012-06-11 10:32 ` [PING][PATCH] " Maciej W. Rozycki
2014-09-28 11:12 ` [PATCH] " Maciej W. Rozycki
2014-10-06 0:46 ` [PING][PATCH] " Maciej W. Rozycki
2014-10-13 12:24 ` [PING^2][PATCH] " Maciej W. Rozycki
2014-10-20 17:01 ` [PING^3][PATCH] " Maciej W. Rozycki
2014-11-03 16:04 ` [PING^4][PATCH] " Maciej W. Rozycki
2014-11-16 8:58 ` [PATCH] " Joel Brobecker
2014-12-03 21:00 ` Maciej W. Rozycki
2012-05-18 23:47 ` [PATCH] microMIPS support Maciej W. Rozycki
2012-05-19 8:52 ` Eli Zaretskii
2012-05-22 0:07 ` Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.1.10.1204261954270.19835@tp.orcam.me.uk \
--to=macro@codesourcery.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox