rhug failure on alpha
Tom Tromey
tromey@redhat.com
Tue Mar 19 00:26:00 GMT 2002
>>>>> "Jeff" == Jeff Sturm <jsturm@one-point.com> writes:
Jeff> Sounds reasonable, but I don't know why fold-const would be
Jeff> target-specific unless there's something I don't understand.
Here's an example from fold-const.c:
If we have p->a == q->a && p->b == q->b, we may be able to use bit masking
operations to do this with one comparison.
These masking operations would be target-dependent, since they would
depend on the size of the fields and the sizes the target can
manipulate.
For instance, comparing two adjacent `jint' fields might optimize to a
single compare on the alpha but not the x86. (I made this example
up.)
Debugging shows that we are indeed generating the bit field operation
in fold_truthop(). I doubt I'll be fixing this for 3.1.
One fix might be to simply teach gcj how to undo the bit field
optimizations. This would be a workaround. Long term either we have
to add java-specific hooks to fold-const, or we have to write our own
fold().
Tom
More information about the Java
mailing list