From 2f11af49c8c9075dff43ccf8ddd535cb0c84771a Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Thu, 12 Jan 2006 12:20:48 +0000 Subject: [PATCH] Add register-use summary. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5518 --- docs/internals/Makefile.am | 1 + docs/internals/register-uses.txt | 53 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 docs/internals/register-uses.txt diff --git a/docs/internals/Makefile.am b/docs/internals/Makefile.am index d9452d6678..b27a4f3fd2 100644 --- a/docs/internals/Makefile.am +++ b/docs/internals/Makefile.am @@ -5,6 +5,7 @@ EXTRA_DIST = \ m_replacemalloc.txt \ m_syswrap.txt module-structure.txt notes.txt porting-HOWTO.txt \ porting-to-ARM.txt \ + register-uses.txt \ release-HOWTO.txt roadmap.txt \ segments-seginfos.txt threads-syscalls-signals.txt \ tm-mutexstates.dot tm-threadstates.dot tracking-fn-entry-exit.txt \ diff --git a/docs/internals/register-uses.txt b/docs/internals/register-uses.txt new file mode 100644 index 0000000000..a45fef255d --- /dev/null +++ b/docs/internals/register-uses.txt @@ -0,0 +1,53 @@ + +This file records register use conventions and info for the 4 +supported platforms (since it is ABI dependent). This is so as to +avoid having to endlessly re-look up this info in ABI documents. + + ----------------------- + +x86-linux +~~~~~~~~~ + +Reg Callee Arg +Name Saves? Reg? Comment Vex-uses? +-------------------------------------------------------------- +eax n n int[31:0] retreg y +ebx y n y +ecx n n y +edx n n int[63:32] retreg y +esi y n y +edi y n y +ebp y n & guest state +esp reserved n/a n/a +eflags n n/a y +st0 n ? n fp retreg y +st1-7 n ? n y +xmm0-7 n ? n y + + +amd64-linux +~~~~~~~~~~~ + +Reg Callee Arg +Name Saves? Reg? Comment Vex-uses? +------------------------------------------------------------------- +rax n n int[63:0] retreg y +rbx y n y +rcx n int#4 y +rdx n int#3 int[127:64] retreg y +rsi n int#2 y +rdi n int#1 y +rbp y n & guest state +rsp reserved n/a n/a +r8 n int#5 +r9 n int#6 +r10 n ? +r11 n +r12-15 y +eflags n n/a y +st0-7 n n long double retreg y +xmm0 n fp#1 fp retreg y +xmm1 n fp#2 fp-high retreg y +xmm2-7 n fp#3-8 +xmm8-15 n + -- 2.47.2