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] avoid invalid register for JALR


On 05/13/2014 03:41 PM, Richard Sandiford wrote:
Sandra Loosemore <sandra@codesourcery.com> writes:
When I was trying to benchmark another patch (which I'll be sending
along shortly) with CSiBE for -mabi=64, I ran into an assembler error
like this:

/tmp/ccJv2faG.s: Assembler messages:
/tmp/ccJv2faG.s:1605: Error: a destination register must be supplied
`jalr $31'

JALR patterns should have an explicit clobber of $31, which I thought
was also supposed to stop $31 from being used as the call address.

Hmmmmm.  Yes, that ought to work, in theory....

Do you have a testcase?

I can reproduce the error in a current mipsisa64-elfoabi build, with my patch to delete ADJUST_REG_ALLOC_ORDER applied. It triggers on this file from CSiBE:

mipsisa64-elfoabi-gcc -c -mabi=64 -O2 -fno-common -w csibe/src/./ttt-0.10.1.preproc/src/connect4.i

I had some difficulty in regression-testing this patch because of
unrelated problems on trunk in the past week -- at first I was getting
ICEs due to a null pointer dereference in tree code, then when I tried
again a couple days later trunk was not even building.

Could you give more details?

I think both of these problems have been fixed now, or at least I can build things again. The tree null pointer dereference was probably the same thing you discussed here

https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00677.html

and the build failures seemed like this one

https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00500.html

-Sandra


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