diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-31 18:19:46 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-31 18:19:46 +0000 |
commit | c6d51242691b593d3037784c993d101409c32c13 (patch) | |
tree | 70904524eabf01f05a19455197fd1f6f5621393c /libs/pbd/fpu.cc | |
parent | 569226e64e8d9c3e85dd2dc59adfb0f71190e8af (diff) |
update comments on register clobbering
git-svn-id: svn://localhost/ardour2/branches/3.0@6423 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/fpu.cc')
-rw-r--r-- | libs/pbd/fpu.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/pbd/fpu.cc b/libs/pbd/fpu.cc index 9ca5907221..11f62a3a71 100644 --- a/libs/pbd/fpu.cc +++ b/libs/pbd/fpu.cc @@ -21,11 +21,6 @@ FPU::FPU () return; #endif - /* asm notes: although we explicitly save&restore ebx/rbx (stack pointer), we must tell - gcc that ebx,rbx is clobbered so that it doesn't try to use it as an intermediate - register when storing edx/rdx. gcc 4.3 didn't make this "mistake", but gcc 4.4 - does, at least on x86_64. - */ #ifndef USE_X86_64_ASM asm volatile ( @@ -41,6 +36,12 @@ FPU::FPU () #else + /* asm notes: although we explicitly save&restore rbx, we must tell + gcc that ebx,rbx is clobbered so that it doesn't try to use it as an intermediate + register when storing rbx. gcc 4.3 didn't make this "mistake", but gcc 4.4 + does, at least on x86_64. + */ + asm volatile ( "pushq %%rbx\n" "movq $1, %%rax\n" |