This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16
- From: "Moore, Catherine" <Catherine_Moore at mentor dot com>
- To: "Rozycki, Maciej" <Maciej_Rozycki at mentor dot com>, Richard Sandiford <rdsandiford at googlemail dot com>
- Cc: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "Moore, Catherine" <Catherine_Moore at mentor dot com>
- Date: Tue, 15 Apr 2014 12:49:08 +0000
- Subject: RE: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and SB16
- Authentication-results: sourceware.org; auth=none
- References: <FD3DCEAC5B03E9408544A1E416F1124201497ED8A4 at NA-MBX-04 dot mgc dot mentorg dot com> <6D39441BF12EF246A7ABCE6654B023534E17E5 at LEMAIL01 dot le dot imgtec dot org> <87zjjrxb11 dot fsf at talisman dot default> <87r452ygnm dot fsf at talisman dot default> <alpine dot DEB dot 1 dot 10 dot 1404141725530 dot 15259 at tp dot orcam dot me dot uk> <8761ma2ab7 dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com> <alpine dot DEB dot 1 dot 10 dot 1404151220270 dot 15259 at tp dot orcam dot me dot uk>
> -----Original Message-----
> From: Maciej W. Rozycki [mailto:macro@codesourcery.com]
> Sent: Tuesday, April 15, 2014 7:28 AM
> To: Richard Sandiford
> Cc: Matthew Fortune; Moore, Catherine; gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH] [MIPS] Fix operands for microMIPS SW16, SH16 and
> SB16
>
> On Tue, 15 Apr 2014, Richard Sandiford wrote:
>
> > > I believe you need to adjust constraints to ensure constant 0 is
> > > known to produce a 16-bit instruction encoding where possible.
> > > Otherwise you'll end up with suboptimal code when the instruction is
> > > in a branch delay slot.
> >
> > Yeah, it'd be good to do that too (although this is a preexisting problem).
>
> Well, it depends on how you look at the problem being solved here -- if it is
> "for SW16, SH16 and SB16 GCC produces broken code for the `s0'
> source register", then indeed it is, whereas if it is "GCC does not handle the
> source register set for SW16, SH16 and SB16 correctly", then it is a part of the
> same problem, not completely corrected. I can live with that until 4.10/4.9.1
> though if you prefer.
>
> > I'm relying on you guys to do the microMIPS stuff though -- I don't
> > have a way of testing it.
>
> An assembly/objdump test is enough to cover this, so you've got all tools at
> hand, although I understand you may not be inclined to rush working on it. ;)
>
I'll take care of this bit.