Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

ARM spends it on pc being wrong: when you mov from it, it's off by 8 in ARM mode, and off by 4 in Thumb mode, and if you're using it for pc-relative loads (and stores, if you're crazy), it uses a word aligned value.

edit: oh, and softfloat vs softfp vs hardfp vs vfp

edit: oh, and how they have two incompatible assembly language dialects that are mostly the same, but in non-trivial code, incompatible



> ARM spends it on pc being wrong.

Heh, having dealt with x86 for years, this is comparatively such a nothing burger. It's always a simple known fixed offset.

> softfloat vs softfp vs hardfp vs vfp

That's something not really unique to ARM per se. Any architecture with options for hardware FPU are going to practically need ABI specs for the soft and hard cases (you don't absolutely need anything more than hardfp since you can always emulate but it will be slow as shit) - and ARM is certainly not unique in having multiple hardware floating point implementations either.

> two incompatible assembly language dialects

Curious what you're referring to here - but I personally wouldn't consider assembly language dialects to be part of a CPU architecture.


> Curious what you're referring to here - but I personally wouldn't consider assembly language dialects to be part of a CPU architecture.

I assume they're talking about ARM vs. Thumb?


Belated, but no, I was referring to UAL vs old syntax.


By pc you mean "program counter"?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: