[Python-Dev] Python-acceleration instructions on ARM

Cesare Di Mauro cesare.dimauro at a-tono.com
Wed Feb 11 13:56:21 CET 2009


Antoine Pitrou <solipsis at pitrou.net> wrote:

> Martin v. Löwis <martin <at> v.loewis.de> writes:
>> - efficient array indexing: they give shift-and-index back to
>>   Thumb mode, for a shift by 2, allowing to index arrays with
>>   4-byte elements in a single instruction (rather than requiring
>>   a separate multipy-by-four). Again useful for JIT of array
>>   access instructions, not applicable to Python - although it
>>   would be nice if the C compiler knew how to emit that.
>
> This could be used in PyTuple_GetItem and PyList_GetItem, no?

Yes, but it's a compiler (Thumb-EE specific back-end) burden.

Otherwise, we can introduce Thumb-EE assembly code were
needed, but the same can happen for a wide range of ISAs.

At least IA32 and AMD64 have specific addressing modes where
it's possibile to use a multiplying factor of 1, 2, 4 or 8 for the
index register.

I hope that compilers were smart enough to already used them.

> (assuming Thumb has 4-byte pointers)

Yes, it does.

Cesare


More information about the Python-Dev mailing list