[PATCH] ARM: vfp: Fix up exception location in Thumb mode
Russell King - ARM Linux
linux at arm.linux.org.uk
Sun Jan 23 10:51:57 EST 2011
On Sun, Jan 16, 2011 at 11:49:21AM +0000, Catalin Marinas wrote:
> On Saturday, 15 January 2011, Russell King - ARM Linux
> <linux at arm.linux.org.uk> wrote:
> > It's a reveq, so I thought we should cover all the instructions with
> > an 'eq' conditional for thumb.
>
> If the it instruction doesn't cover all instructions, gas generates
> some more its. But in this case, for little endian, the it instruction
> covers more since reveq isn't included and having the beq not last in
> the block I think is unpredictable. If you really want to optimise the
> big endian case not to have an additional it generated by gas, you can
> write ittt so that beq is included with little endian but not with big
> endian. I wouldn't bother much for an extra it anyway.
I think the itttt is correct. Unless you wish to illustrate why you
think it's wrong by pasting the code and showing why you think the
beq isn't the last instruction...
> > tst r3, #PSR_T_BIT
> > subeq r4, r2, #4
> > 1: ldreqt r0, [r4]
> > reveq r0, r0
> > beq call_fpe
>
> You can have the T bit set but the instruction a 32-bit Thumb in which
> case r2 is in the middle of such instruction rather than the next.
> Unless you only refer to the ARM mode, in which case the comment is
> fine.
So? I'm confused why you're making a mountain out of apparantly
nothing.
More information about the linux-arm-kernel
mailing list