diff options
author | Niels Möller <nisse@lysator.liu.se> | 2013-04-18 14:07:20 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2013-04-18 14:17:49 +0200 |
commit | ade7779c98a5426c7d86c8a01bbd7ad65980c9b9 (patch) | |
tree | 0235c694ed12a49037d62e4b05ada53472c804ad /arm/README | |
parent | b7c953630bf9a05eca5b744c89eb643049eeb700 (diff) | |
download | nettle-ade7779c98a5426c7d86c8a01bbd7ad65980c9b9.tar.gz |
Reorganization of ARM assembly.
Renamed directory armv7 to arm. New subdirectory arm/neon, for files
using neon instructions. configure.ac hacked to make use of neon
configurable.
Diffstat (limited to 'arm/README')
-rw-r--r-- | arm/README | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arm/README b/arm/README new file mode 100644 index 00000000..9bacd97b --- /dev/null +++ b/arm/README @@ -0,0 +1,47 @@ +Currently, code in this directory is written for arm cortex-a9. + +For efficient loads and stores, use ldmia, stmia and friends. Can do +two loads or stores per cycle with 8-byte aligned addresses, or three +loads or stores in two cycles, regardless of alignment. + +12 usable registers (if we exclude r9). + +ABI gnueabi(hf) (not depending on the floating point conventions) + +Registers May be Argument + clobbered number + +r0 Y 1 +r1 Y 2 +r2 Y 3 +r3 Y 4 +r4 N +r5 N +r6 N +r7 N +r8 N +r9 (sl) +r10 N +r11 N +r12 (ip) Y +r13 (sp) +r14 (lr) N +r15 (pc) + +q0 (d0, d1) Y 1 (for "hf" abi) +q1 (d2, d3) Y 2 +q2 (d4, d5) Y 3 +q3 (d6, d7) Y 4 +q4 (d8, d9) N +q5 (d10, d11) N +q6 (d12, d13) N +q7 (d14, d15) N +q8 (d16, d17) Y +q9 (d18, d19) Y +q10 (d20, d21) Y +q11 (d22, d23) Y +q12 (d24, d25) Y +q13 (d26, d27) Y +q14 (d28, d29) Y +q15 (d30, d31) Y + |