This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH]: R10000 Needs LL/SC Workaround in Gcc
Richard Sandiford wrote:
Yeah, it looks generally good. I think we've got to the point where
it's easier for me to make changes directly rather than ask you to
follow a tortuous list of vaguely-described requests, so:
Tortuous isn't the word I'd use. More like fun and challenging! Still a ways
to go understand things, but it's getting easier to walk around in the mips
backend of gcc and have an idea of what's going on somewhat.
Thanks for answering all my questions!
- I added a missing @gol after "-mfix-r4400".
Yeah, I wasn't sure if I needed that or not. I was building the info pages and
comparing the output, and noticed a somewhat logical order where alike arguments
were grouped onto their own line (i.e., the fix-4000 and fix-4400 were separated
from the fix-sb1 and fix-vr* args). Don't know Texi code at all, so I thought
omitting the @gol would allow the patch to stay in the 80-char limit, but allow
the info output to place fix-r10000 on the same line as the 4000/4400 args,
since it appears all three were better related (in terms of implementation) than
the sb1 and vr* args.
- I tweaked the documentation so that it was more consistent with the
other -mfix-* options. Let me know if you spot a problem with the
new version, or if you aren't happy with it.
Looks good to me. I added the bit about MIPS-II stuff and mentioning it won't
work on MIPS-I, but wasn't sure if that level of detail was necessary.
- ...I changed the name of the parameter from TEMPLATE to LOOP to
avoid a bootstrap-breaking warning about using a C++ identifier.
(Again my fault. I'd used TEMPLATE when suggesting the function,
but it was a completely untested suggestion.)
- I added a prototype to mips-protos.h, again to avoid a bootstrap-
- I fixed a typo: s/!TARGET_BRANCHLIKEL/!TARGET_BRANCHLIKELY/.
GCC wouldn't build without this, so perhaps the posted patch
wasn't the final one.
Ah, I probably would have caught these but PR38052 was getting in the way of a
full build. Although, building as a cross-compiler might've avoided that bug.
Applied with those changes. I've attached the final changelog and
patch below. Thanks for the contribution, and for your patience.
Looks good to me. This'll let me play with the glibc-side of things next. I
think I did stumble on one or two omissions from my R10000 scheduling patch I'll
send over in a separate e-mail (it's a one-line fix I believe).
"The past tempts us, the present confuses us, the future frightens us. And our
lives slip away, moment by moment, lost in that vast, terrible in-between."
--Emperor Turhan, Centauri Republic