Search code examples
arm64thumb

Can I use Thumb instructions in an arm64 binary?


I'm trying to make my iOS app smaller (the code section of the binary is 70 MB) by using thumb instructions. There seems to be a good amount of discussion around using the thumb version of armv7, e.g. here: http://wanderingcoder.net/2010/07/19/ought-arm/ . However, I can't find very much about arm64 + Thumb. Is it even possible? If so, how can I have clang compile that way?


Solution

  • From the ARMv8 Reference Manual, §A1.3.2 (p. A1-35):

    AArch64 state supports only a single instruction set, called A64. This is a fixed-length instruction set that uses 32-bit instruction encodings.

    So no, 64-bit Thumb is not a thing.