Re: Oops with DCACHE_WORD_ACCESS and ocfs2, autofs4

From: H. Peter Anvin
Date: Thu May 03 2012 - 17:24:11 EST


On 05/03/2012 11:48 AM, David Miller wrote:
> From: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Date: Thu, 03 May 2012 11:28:44 -0700
>
>> + "lea" __WORDSUFFIX " %2,%1\n\t"
>> + "and" __WORDSUFFIX " %4,%1\n\t"
>> + "shl" __WORDSUFFIX " $3,%1\n\t"
>> + "shr" __WORDSUFFIX " %b1,%0\n\t"
>>
>> Also, for this sequence of instructions using %ecx unconditionally is
>> actually better (avoids REX prefixes on 64 bits.)
>
> If it doesn't exist already, someone should really add bits to
> binutils so you guys don't have to string paste like this.
>
> For example a bit a mnenomics that the assembler internally changes
> into the 64-bit or 32-bit variant based upon what bitness it is
> targetting.
>
> We have these on sparc, for example "ldn" is transformed into "lduw"
> for 32-bit and "ldx" for 64-bit.

I don't think we really need it. For the vast majority of all
instructions the size is given by the operands, and for the balance we
can generally use %z and/or <asm/asm.h>. %z would be more useful if
there wasn't for the fact that some now quite old versions of gcc
incorrectly produce "ll" instead of "q".

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/