On most architecture that support 32 and 64bit on hardware… t will be on a tie, or because what 32bit gains with smaller sizes it loses on some other potential, so it varies A LOT. but 64bit programs only dont run even worse than t do… because 64bit programs dont use 64bit as natural integer all the time… (mostly relevant on x86), otherwise the code would increase even more… also another reason is that COMPILERS stopped being enhanced for the 32bit versions of some brands (i.e. Microsoft), which is not 32bit fault… and last but not least. at least on x86 when running 32bit you also have the same MMX/SSE/AVX registers, and so the same potential, except that 64bit have more registers (with the cost of one extra byte (or two… if the constant is also 64bit), for the extra prefixes, and that along the cost of the bigger constant as well… making it less cache friendly, also the fact that the x86 architectures cleans the high bits when loading a 32bit on a 64bit, with the intent of not causing a slowdown, also cause some tricks that were doable in 32bit to use one register as two, not be able to be applied on 64bit, requiring more registers… so theres a HUGE depends on that. for ARM 64bit and 32bit are nearly equivalent, except that 64bit constants are STILL limited to just 8bit +shift, so more registers are required to hold constants than on x86, but ARM 64bit removed some of the 32bit capabilities to make space for the extra bit required for the constant/address shift, but the speed and consideration is similar on both… i.e. 64bit does not improve on anything on ARM, except ofcourse for stuff that actually require >32bit numbers, and that wont be using NEON (as neon always supported 64bit just like x86 SSE). and 64bit arm couldnt upgrade the fixed instruction size from 32bit to 64bit without causing havoc .P
S. For example the “called” instruction is 64bit only on ARM when running 32bit (for the ARM version that was changed). On ARM 64bit there is also a huge “memory model” that affects the speed of the processor. For ARM 64bit everything uses 8bit numbers as the memory, i.e. ARM 64bit doesn't have the same benefits that x86 does, and ARM 64bit is not as cache friendly in particular, ARM 64bit has it easier by being 64bit, and all the other ARM 64bit benefits are from the difference in instruction set’s vs x86). So that is why ARM did everything wrong that will slow them down compared to x86, and why all 32bit and 64bit ARM's/64bit AVR's/PIC's/PIC16/PIC28 can run faster than the corresponding 32bit/32bit x86/x86-64 version on some platforms. But on other platforms like. ARM-PIC ARM-PIC32 ...all Arms/x86's/AVR's/PIC's/PIC16 have a performance advantage and some advantages in some areas, and some disadvantages. And.