This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, testsuite, mips] Fix two failing MIPS tests.
- From: Steve Ellcey <sellcey at mips dot com>
- To: Richard Sandiford <rdsandiford at googlemail dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 5 May 2014 12:42:08 -0700
- Subject: Re: [Patch, testsuite, mips] Fix two failing MIPS tests.
- Authentication-results: sourceware.org; auth=none
- References: <832bc707-65b6-420a-aafc-3857e5c42de4 at BAMAIL02 dot ba dot imgtec dot org> <87ha57tkvc dot fsf at talisman dot default>
On Sat, 2014-05-03 at 07:52 +0100, Richard Sandiford wrote:
> > Old:
> >
> > li $5,305397760 # 0x12340000
> > addiu $4,$5,1
> > addiu $5,$5,-1
> >
> > New:
> >
> > li $5,305332224 # 0x12330000
> > ori $5,$5,0xffff
> > addiu $4,$5,2
>
> This isn't as good though -- $4 now depends on two previous
> instructions. Do you know which specific change was responsible?
>
> Thanks,
> Richard
A quick follow up. The code in question is:
void f () { g (0x12340001, 0x1233ffff); }
And if I swap the arguments I get something more like the old code.
But if I run an older GCC on that new swapped code then I get something
like the new code. So while the old code may have been better for this
example, the new code is better if I swap the arguments around.
Steve Ellcey
sellcey@mips.com