This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] MIPS: mips16e machine patterns - zeb/zeh seb/seh


On Tue, 2005-06-14 at 10:42 -0700, Eric Christopher wrote:
> > As far as I'm concerned, the patch is OK with that change.  Give Eric
> > a chance to object though.
> 
> Thanks. No objections, but a question on whether or not MIPS plans to
> submit the compact jump instructions?

If you going to ask me this way, the answer is obviously a "yes".  ;-)

Currently we don't have it as a pattern on our local gcc 3.4 tree (we do
use it in gas though), but perhaps we should.  I am not sure how much
benefit it will give apart from better delay slot filling, which is
about the last thing it does before gas takes over anyway.

I've committed the patch to CVS.  I realised that I didn't change the
regression test for the removal of the -mips16e option.  I've changed it
to reflect this (see below).  Note that I've made the dg-mips-option
line to "-Os -march=mips32 -mips16".  This test won't get tested if the
regression is run with -march=mips64, but there isn't much we can do
about it for now.

David.

2005-06-15  David Ung  <davidu@mips.com>

	* gcc.target/mips/mips16e-extends.c: New test for testing the
	generation of MIPS16e zeb/zeh, seb/seh instructions.

Index: gcc/testsuite/gcc.target/mips/mips16e-extends.c
===================================================================
/* { dg-do compile } */
/* { dg-mips-options "-Os -march=mips32 -mips16" } */

short cksum16 (unsigned long n)
{
  unsigned long l;
  l = validate (n, (n >> 16) + (n & 0xffff));
  return l;
}

char cksum8 (unsigned long n)
{
  unsigned long l;
  l = validate (n, (n >> 8) + (n & 0xff));
  return l;
}

/* { dg-final { scan-assembler "zeh" } } */
/* { dg-final { scan-assembler "seh" } } */
/* { dg-final { scan-assembler "zeb" } } */
/* { dg-final { scan-assembler "seb" } } */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]