1. For DSP / image processing, 64-bit SIMD allows you to operate on twice as many elements as 32-bit SIMD
2. For normal computing, you get 31 64-bit registers instead of 15 32-bit registers (essentially 4x register memory)
3. 128-bit floating point
1. For DSP / image processing, 64-bit SIMD allows you to operate on twice as many elements as 32-bit SIMD
2. For normal computing, you get 31 64-bit registers instead of 15 32-bit registers (essentially 4x register memory)
3. 128-bit floating point
I think this is very much wrong. You do get more SIMD registers, but both 32-bit and 64-bit ARM have 128 bits wide SIMD registers. Same number of elements per instruction.
> 2. For normal computing, you get 31 64-bit registers instead of 15 32-bit registers (essentially 4x register memory)
Almost right. 14 vs 31. On 32-bit ARM, R13 is stack pointer, and R15 is PC, program counter. 64-bit ARM doesn't have PC mapped to register file anymore.
> 3. 128-bit floating point
As far as I know, AArch64 does not have 128-bit floating point. Nor would it really be useful except in very rare circumstances.
Interesting. Does this have any effect on debugging?
I think that's true on an RPi with it's super gate constrained, in-order core, but AArch64 was really designed to make OoOE cores with complex prediction a lot easier.