What are the main caveats in porting C++ x86 code to an ARM processor?

The ones I know / have heard of (but I don't know if they are really a problem, or even true - please verify):

  • SSE -> NEON
  • 64bit integers become 32bit
  • little endian -> big endian

Any other differences and pitfalls a programmer should be aware of?

Edit
Report