On Wed, May 06, 2009 at 12:04:42PM -0400, Kyle McMartin wrote: ... > At a guess, you're probably right, the faulting insn is a load: > > 0x0002b3a8 <__canonicalize_funcptr_for_compare+48>: bb,>= r26,1e,0x2b394 <__canonicalize_funcptr_for_compare+28> > 0x0002b3ac <__canonicalize_funcptr_for_compare+52>: copy r26,r3 > 0x0002b3b0 <__canonicalize_funcptr_for_compare+56>: addil L%800,dp,r1 > 0x0002b3b4 <__canonicalize_funcptr_for_compare+60>: ldw 294(r1),ret1 > 0x0002b3b8 <__canonicalize_funcptr_for_compare+64>: depwi 0,31,2,r3 > 0x0002b3bc <__canonicalize_funcptr_for_compare+68>: ldw 0(r3),r26 > > god knows I can't recall how DEP*I work, but I guess this is clearing > the bottom two bits of %r3 if bit 31 is set in %r26? Wouldn't 1e == bit 30? And yes, "depwi 0,31,2,XX" is clearing the bottom 2 bits of XX. I'm a bit confused about the ">=" conditional since only one bit is tested. So is the copy only executed on branch not taken case? grant -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html