From c6d51242691b593d3037784c993d101409c32c13 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 31 Dec 2009 18:19:46 +0000 Subject: update comments on register clobbering git-svn-id: svn://localhost/ardour2/branches/3.0@6423 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/fpu.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'libs/pbd/fpu.cc') 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" -- cgit v1.2.3