Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Testers needed for GCC patch



> I've backported David's changes to fix unaligned accesses for certain
> access modes on the PowerPC port to the EGCS we have in the NetBSD source
> tree.  But I can't easily test it.

I tested them when he committed them. They don't work.

The problem is that with the new definition of SLOW_UNALIGNED_ACCESS,
most uses of the macro need to be replaced with two uses: one to check
the alignment of the source argument, and one to check the alignment
of the destination argument.

Also, if you look at the default definition of SLOW_UNALIGNED_ACCESS
for STRICT_ALIGNMENT platforms now, you'll see that it doesn't match
what the docs claim. ie, SLOW_UNALIGNED_ACCESS(DImode, 64) should
return 0 on an alpha, because it's properly aligned, but will in fact
return 1. (This doesn't actually cause any problems given the way the
macro is used in the code though.)

I'm hoping to fix this at some point, but it requires restructuring
some really hairy code. (I think it's the stuff to find the best mode
to use for a block move, but I haven't looked at it in a while so I
don't remember for sure.) If anyone else wants to try, talk to me:
there are a few other glitches in the patch that need to be dealt with
too.

> Let me know how it goes; I'd like to have this in the tree for 1.5.

Well, we do at least have a kernel unaligned access handler now (which
is in 1.4.2 too), so the bug is less critical.

-- Dan



Home | Main Index | Thread Index | Old Index